コンテンツにスキップ

Declarative Policies

本ページはドキュメントベースの整理です。各属性の実機検証は今後実施し、Security Hub finding への影響等を確認した上でブラッシュアップします。
本ページの情報は 2026 年 4 月時点のものです。

Declarative Policies とは

Declarative Policies は AWS Organizations のポリシータイプの一つで、AWS サービスの基本設定を組織全体に宣言的に強制する機能である。

SCP / RCP との違い

SCPRCPDeclarative Policies
制御対象プリンシパル(IAM ユーザー / ロール)リソースサービスの設定そのもの
制御方法API コールを拒否API コールを拒否サービスのコントロールプレーンで直接強制
新機能 / 新 API への追従ポリシーの更新が必要ポリシーの更新が必要自動的に追従
サービスリンクロールの制御不可不可可能
エラーメッセージカスタマイズ不可カスタマイズ不可カスタマイズ可能
デタッチ時の挙動即座に制限解除即座に制限解除元のアカウントレベル設定に復元

SCP / RCP は「この API コールを許可しない」というアプローチであるのに対し、Declarative Policies は「この設定を常にこの値にする」というアプローチである。そのため、サービスに新しい API が追加されても、Declarative Policies はポリシーの更新なしに設定を維持できる。

Control Tower 予防コントロールとの関係

Control Tower の予防コントロールの一部は、実体として Declarative Policies を使用している。

Control Tower 予防コントロールDeclarative Policies 属性
CT.EC2.PV.7EBS Snapshot Block Public Access
CT.EC2.PV.8VPC Block Public Access
CT.EC2.PV.9Serial Console Access
CT.EC2.PV.11Image Block Public Access

Control Tower 経由で有効化した場合と Organizations で直接ポリシーを作成した場合の挙動の差分は、今後の検証で確認する。

ポリシータイプ

Declarative Policies は 2 つのポリシータイプに分かれている。

ポリシータイプフィルター名対象サービス
Declarative policies for EC2DECLARATIVE_POLICY_EC2Amazon VPC, Amazon EC2, Amazon EBS
Amazon S3 policiesS3_POLICYAmazon S3

S3 Policy は 2025 年 11 月に追加された比較的新しい機能であり、EC2 系とは独立したポリシータイプとして管理される。

サポートされている属性

EC2 系(DECLARATIVE_POLICY_EC2

#属性効果関連 Security Hub コントロール関連 CT 予防コントロール
1VPC Block Public AccessVPC / サブネットの IGW 経由のインターネットアクセスをブロックEC2.9, EC2.25, Autoscaling.5 等
2EBS Snapshot Block Public AccessEBS スナップショットの公開をブロックEC2.1, EC2.182CT.EC2.PV.7
3Image Block Public AccessAMI の公開をブロックCT.EC2.PV.11
4Instance Metadata Defaults新規 EC2 インスタンスの IMDS デフォルトを設定(IMDSv2 強制等)EC2.8
5Serial Console AccessEC2 シリアルコンソールのアクセス制御
6Allowed Images Settings使用可能な AMI を制限

VPC Block Public Access

VPC / サブネットの IGW 経由のインターネットアクセスを制御する。

モード:

  • off — VPC BPA 無効
  • block_ingress — インバウンドのインターネットトラフィックをブロック(NAT Gateway / Egress-only IGW 経由のアウトバウンドは許可)
  • block_bidirectional — IGW / Egress-only IGW 経由の全トラフィックをブロック

Exclusions(除外):

  • VPC 単位またはサブネット単位で除外を設定可能
  • ポリシーで exclusions_allowedenabled / disabled に設定
  • 除外の作成はアカウント側で行う(ポリシー内では除外の作成はできない)
VPC BPA はパブリック IP の付与や IGW 経由のインターネットアクセスが意図した設計である可能性もあり、実環境への投入時には影響評価が必要である(近日中に検証予定)。

EBS Snapshot Block Public Access

EBS スナップショットの公開を制御する。

モード:

  • block_all_sharing — 全てのパブリック共有をブロック(既存のパブリック共有もアクセス不可になる)
  • block_new_sharing — 新規のパブリック共有をブロック(既存のパブリック共有は維持)
  • unblocked — 制限なし

Image Block Public Access

AMI のパブリック共有を制御する。

モード:

  • block_new_sharing — 新規のパブリック共有をブロック(既存のパブリック共有は維持)
  • unblocked — 制限なし

Instance Metadata Defaults

新規 EC2 インスタンスの IMDS デフォルトを設定する。

主な設定:

  • http_tokensrequired(IMDSv2 強制)/ optional(IMDSv1 も許可)/ no_preference
  • http_put_response_hop_limit — メタデータトークンの最大ホップ数(-1〜64)
  • http_endpoint — IMDS エンドポイントの有効 / 無効
  • instance_metadata_tags — インスタンスタグへのメタデータアクセスの有効 / 無効
  • http_tokens_enforcedenabled にすると IMDSv1 インスタンスの起動自体が失敗する

Serial Console Access

EC2 シリアルコンソールのアクセスを制御する。

  • enabled — シリアルコンソールアクセスを許可
  • disabled — シリアルコンソールアクセスをブロック

Allowed Images Settings

EC2 で使用可能な AMI を制限する。

  • stateenabled / disabled / audit_mode
  • image_criteria — 許可する AMI の条件(プロバイダー、名前、Marketplace プロダクトコード、作成日、非推奨日)

S3 系(S3_POLICY

#属性効果関連 Security Hub コントロール
1Block Public AccessS3 BPA の 4 設定を組織レベルで一括強制S3.2, S3.3, S3.8, S3.19

S3 Block Public Access

S3 の Block Public Access 4 設定を組織レベルで一括制御する。

設定値:

  • all — 4 設定すべてを有効化(BlockPublicAcls, BlockPublicPolicy, IgnorePublicAcls, RestrictPublicBuckets)
  • none — 組織レベルの制御を無効化(アカウント側で個別管理)

EC2 系の Declarative Policies とは異なり、個別の設定を選択することはできず、全有効化(all)か無効化(none)の二択である。

検証ステータス

属性ステータス備考
VPC Block Public Access検証予定近日中に検証予定
EBS Snapshot Block Public AccessCT.EC2.PV.7 で検証済みOrganizations 直接との差分は未確認
Image Block Public AccessCT.EC2.PV.11 で検証済みOrganizations 直接との差分は未確認
Instance Metadata Defaults未検証
Serial Console Access未検証
Allowed Images Settings未検証
S3 Block Public Access未検証