宣言型ポリシーの構文と例 - AWS Organizations

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

宣言型ポリシーの構文と例

このページでは、宣言型ポリシーの構文について説明し、例を示します。

考慮事項

  • 宣言型ポリシーを使用してサービス属性を設定すると、複数の API に影響する可能性があります。非準拠のアクションはすべて失敗します。

  • アカウント管理者は、個々のアカウントレベルでサービス属性の値を変更することはできません。

宣言型ポリシーの構文

宣言型ポリシーは、JSON のルールに従って構造化されたプレーンテキストファイルです。宣言型ポリシーの構文は、すべての管理ポリシータイプの構文に従います。この構文の詳細については、「ポリシー構文と管理ポリシータイプの継承」を参照してください。このトピックでは、一般的な構文を宣言型ポリシータイプの特定の要件に適用することに焦点を当てています。

次の例は、宣言型ポリシーの基本構文を示しています。

{ "ec2_attributes": { "exception_message": { "@@assign": "Your custom error message.https://myURL" } } }
  • ec2_attributes フィールドキーの名前。宣言ポリシーは、常に指定された固定キー名で始まります AWS のサービス。上記のポリシーの例では一番上の行です。現在、宣言型ポリシーは Amazon EC2 関連サービスのみをサポートしています。

  • ec2_attributes では、exception_message を使用してカスタムエラーメッセージを設定できます。詳細については、「Custom error messages for declarative policies」を参照してください。

  • ec2_attributes では、サポートされている宣言型ポリシーを 1 つ以上挿入できます。これらのスキーマについては、「サポートされている宣言型ポリシー」を参照してください。

サポートされている宣言型ポリシー

以下は、宣言ポリシーがサポートする AWS のサービス および 属性です。以下の例の一部では、スペースを節約するために JSON の空白書式が圧縮される場合があります。

  • VPC Block Public Access

  • Serial Console Access

  • Image Block Public Access

  • Allowed Images Settings

  • Instance Metadata Defaults

  • Snapshot Block Public Access

VPC Block Public Access

ポリシーの効果

Amazon VPC とサブネットのリソースがインターネットゲートウェイ (IGW) を介してインターネットにアクセスできるかどうかをコントロールします。詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「Configuration for internet access」を参照してください。

ポリシーの内容

{ "ec2_attributes": { "vpc_block_public_access": { "internet_gateway_block": { "mode": { "@@assign": "block_ingress" }, "exclusions_allowed": { "@@assign": "enabled" } } } } }

この属性で使用できるフィールドは次のとおりです。

  • "internet_gateway":

    • "mode":

      • "off": VPC BPA が有効になりません。

      • "block_ingress": VPC に対するすべてのインターネットトラフィック (除外された VPC またはサブネットを除く) がブロックされます。NAT ゲートウェイとエグレスのみのインターネットゲートウェイとの間のトラフィックのみが許可されます。なぜなら、これらのゲートウェイはアウトバウンド接続の確立のみを許可するからです。

      • "block_bidirectional": インターネットゲートウェイおよび Egress-Only インターネットゲートウェイとの間のすべてのトラフィック (除外された VPC とサブネットを除く) がブロックされます。

  • "exclusions_allowed": 除外は、単一の VPC またはサブネットに適用できるモードであり、アカウントの VPC BPA モードから除外し、双方向または Egress-Only のアクセスを許可します。

    • "enabled": 除外をアカウントで作成できます。

    • "disabled": 除外をアカウントで作成できません。

    注記

    属性を使用して除外を許可するかどうかを設定できますが、この属性で除外を作成することはできません。除外を作成するには、VPC を所有するアカウント内で作成する必要があります。VPC BPA 除外の作成に関する詳細は、「Amazon VPC ユーザーガイド」の「Create and delete exclusions」を参照してください。

考慮事項

宣言型ポリシーでこの属性を使用する場合、次のオペレーションを使用して、範囲内のアカウントの設定を変更することはできません。これはすべてを網羅したリストではありません。

  • ModifyVpcBlockPublicAccessOptions

  • CreateVpcBlockPublicAccessExclusion

  • ModifyVpcBlockPublicAccessExclusion

Serial Console Access

ポリシーの効果

EC2 シリアルコンソールにアクセスできるかどうかをコントロールします。EC2 シリアルコンソールの詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「EC2 シリアルコンソール」を参照してください。

ポリシーの内容

{ "ec2_attributes": { "serial_console_access": { "status": { "@@assign": "enabled" } } } }

この属性で使用できるフィールドは次のとおりです。

  • "status":

    • "enabled": EC2 シリアルコンソールへのアクセスが許可されます。

    • "disabled": EC2 シリアルコンソールへのアクセスがブロックされます。

考慮事項

宣言型ポリシーでこの属性を使用する場合、次のオペレーションを使用して、範囲内のアカウントの設定を変更することはできません。これはすべてを網羅したリストではありません。

  • EnableSerialConsoleAccess

  • DisableSerialConsoleAccess

Image Block Public Access

ポリシーの効果

Amazon マシンイメージ (AMI) がパブリックに共有可能かどうかをコントロールします。AMI の詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「Amazon マシンイメージ (AMI)」を参照してください。

ポリシーの内容

{ "ec2_attributes": { "image_block_public_access": { "state": { "@@assign": "block_new_sharing" } } } }

この属性で使用できるフィールドは次のとおりです。

  • "state":

    • "unblocked": AMI のパブリック共有に制限はありません。

    • "block_new_sharing": AMI の新しいパブリック共有をブロックします。既にパブリックに共有済みの AMI は引き続き一般公開されます。

考慮事項

宣言型ポリシーでこの属性を使用する場合、次のオペレーションを使用して、範囲内のアカウントの設定を変更することはできません。これはすべてを網羅したリストではありません。

  • EnableImageBlockPublicAccess

  • DisableImageBlockPublicAccess

Allowed Images Settings

ポリシーの効果

許可された AMI を使用して、Amazon EC2 での Amazon マシンイメージ (AMI) の検出と使用をコントロールします。AMI の詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「許可された AMI を使用して Amazon EC2 で AMI の検出と使用を制御する」を参照してください。

ポリシーの内容

この属性で使用できるフィールドは次のとおりです。

{ "ec2_attributes": { "allowed_images_settings": { "state": { "@@assign": "enabled" }, "image_criteria": { "criteria_1": { "allowed_image_providers": { "@@append": [ "amazon" ] } } } } } }
  • "state":

    • "enabled": 属性はアクティブで強制されます。

    • "disabled": 属性は非アクティブであり、強制されません。

    • "audit_mode": 属性は監査モードです。つまり、非準拠のイメージは識別されますが、その使用はブロックされません。

  • "image_criteria": 条件のリスト。criteria_1 から criteria_10 までの名前で、最大 10 個の条件をサポートします。

    • "allowed_image_providers": 12 桁のアカウント ID、または amazon、aws_marketplace、aws_backup_vault の所有者エイリアスをカンマで区切ったリスト。

    • "image_names": 許可されたイメージの名前。名前にはワイルドカード (? と *) を含めることができます。長さ: 1~128 文字 ? が含まれる場合、最小長は 3 文字です。

    • "marketplace_product_codes": 許可されたイメージの AWS Marketplace 製品コード。長さ: 1~25 文字の有効な文字 (A~Z、a~z) と数字 (0~9)

    • "creation_date_condition": 許可されたイメージの最長有効期間。

      • "maximum_days_since_created": イメージが作成されてからの最大経過日数。有効範囲: 最小値 は 0 です。最大値は 2147483647 です。

    • "deprecation_time_condition": 許可されたイメージが非推奨になってからの最大経過期間。

      • "maximum_days_since_deprecated": イメージが非推奨になってからの最大経過日数。有効範囲: 最小値 は 0 です。最大値は 2147483647 です。

考慮事項

宣言型ポリシーでこの属性を使用する場合、次のオペレーションを使用して、範囲内のアカウントの設定を変更することはできません。これはすべてを網羅したリストではありません。

  • EnableAllowedImagesSettings

  • ReplaceImageCriteriaInAllowedImagesSettings

  • DisableAllowedImagesSettings

Instance Metadata Defaults

ポリシーの効果

すべての新しい EC2 インスタンス起動で、IMDS のデフォルトをコントロールします。この設定はデフォルトのみを設定し、IMDS バージョン設定は適用されません。IMDS デフォルトの詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「IMDS」を参照してください。

ポリシーの内容

この属性で使用できるフィールドは次のとおりです。

{ "ec2_attributes": { "instance_metadata_defaults": { "http_tokens": { "@@assign": "required" }, "http_put_response_hop_limit": { "@@assign": "4" }, "http_endpoint": { "@@assign": "enabled" }, "instance_metadata_tags": { "@@assign": "enabled" } } } }
  • "http_tokens":

    • "no_preference": その他のデフォルトが適用されます。例えば、該当する場合には AMI のデフォルトが適用されます。

    • "required": IMDSv2 を使用する必要があります。IMDSv1 は使用できません。

    • "optional": IMDSv1 と IMDSv2 の両方を使用できます。

    注記

    メタデータバージョン

    http_tokensrequired に設定する前に (IMDSv2 を使用する必要があります)、どのインスタンスも IMDSv1 呼び出しを行っていないことを確認してください。

  • "http_put_response_hop_limit":

    • "Integer": -1~64 の整数値。メタデータトークンが移動できるホップの最大数を表します。設定がないことを示すには、-1 に設定します。

      注記

      ホップ制限

      http_tokensrequired に設定されている場合、http_put_response_hop_limit を最低でも 2 に設定することを推奨します。詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「Instance metadata access considerations」を参照してください。

  • "http_endpoint":

    • "no_preference": その他のデフォルトが適用されます。例えば、該当する場合には AMI のデフォルトが適用されます。

    • "enabled": インスタンスメタデータサービスのエンドポイントにアクセスできます。

    • "disabled": インスタンスメタデータサービスのエンドポイントにアクセスできません。

  • "instance_metadata_tags":

    • "no_preference": その他のデフォルトが適用されます。例えば、該当する場合には AMI のデフォルトが適用されます。

    • "enabled": インスタンスタグには、インスタンスメタデータからアクセスできます。

    • "disabled": インスタンスタグには、インスタンスメタデータからアクセスできません。

Snapshot Block Public Access

ポリシーの効果

Amazon EBS スナップショットがパブリックにアクセス可能かどうかをコントロールします。EBS スナップショットの詳細については、「Amazon Elastic Block Store ユーザーガイドの「Amazon EBS snapshots」を参照してください。

ポリシーの内容

{ "ec2_attributes": { "snapshot_block_public_access": { "state": { "@@assign": "block_new_sharing" } } } }

この属性で使用できるフィールドは次のとおりです。

  • "state":

    • "block_all_sharing": スナップショットのパブリック共有をすべてブロックします。既にパブリックに共有済みのスナップショットはプライベートとして扱われ、一般公開されなくなります。

    • "block_new_sharing": スナップショットの新しいパブリック共有をブロックします。既にパブリックに共有済みのスナップショットは、引き続き一般公開されます。

    • "unblocked": スナップショットのパブリック共有に制限はありません。

考慮事項

宣言型ポリシーでこの属性を使用する場合、次のオペレーションを使用して、範囲内のアカウントの設定を変更することはできません。これはすべてを網羅したリストではありません。

  • EnableSnapshotBlockPublicAccess

  • DisableSnapshotBlockPublicAccess