コンテンツにスキップ
宣言型ポリシーについて

宣言型ポリシーについて

本ページの情報は 2026 年 4 月時点のものです。

宣言型ポリシー(Declarative Policies)とは

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

検証環境

検証環境の構成図

SCP / RCP との違い

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

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

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

Control Tower の予防コントロールの一部は、実体として宣言型ポリシーを使用している。以下は対応する予防コントロールが存在する属性のみを列挙している(Instance Metadata Defaults と Allowed Images Settings には対応する予防コントロールがない)。

Control Tower 予防コントロール宣言型ポリシー属性
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_POLICY_EC2)が自動的に作成され、対象 OU にアタッチされる(確認済み)。これは SCP 型・RCP 型の予防コントロールも同様であり、Control Tower の予防コントロールの実体は Organizations ポリシーである。Control Tower を使わない環境では、Organizations API で直接ポリシーを作成・アタッチすることで同等の効果を得られる。

ポリシー構文の基礎

宣言型ポリシーは JSON で記述する。最上位のキーはポリシータイプごとに決まっており(S3 ポリシーなら s3_attributes、EC2 ポリシーなら ec2_attributes)、その下に各属性を配置する。属性の設定値を指定するには operator(@@ で始まるキー)を使う。

{
    "<ポリシータイプ>_attributes": {
        "<属性名>": {
            "<operator>": <値>
        }
    }
}
Operator用途
@@assign単一値の代入
@@appendリスト型の値に追加
@@removeリスト型の値から削除

@@assign で指定できる値は属性ごとに決まっている(例: S3 ポリシーの public_access_block_configuration"all" または "none"、EC2 ポリシーの vpc_block_public_access.mode"off" / "block_ingress" / "block_bidirectional")。

具体的なポリシー形式と取り得る値は、各ポリシータイプの公式ドキュメント(S3 / EC2)または本サイトの子ページ(S3 ポリシー(宣言型) / EC2 ポリシー(宣言型))を参照。

汎用構文の全体像は AWS 公式ドキュメント: Declarative policy syntax を参照。

ポリシータイプ

宣言型ポリシーは 2 つのポリシータイプに分かれている。

ポリシータイプフィルター名対象サービス記事
EC2 ポリシー(宣言型)DECLARATIVE_POLICY_EC2Amazon VPC, Amazon EC2, Amazon EBSEC2 ポリシー(宣言型)(一部検証済み)
S3 ポリシー(宣言型)S3_POLICYAmazon S3S3 ポリシー(宣言型)(検証済み)

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