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

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

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

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

考慮事項

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

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

宣言ポリシーの構文

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

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

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

  • ec2_attributesexception_messageを使用してカスタムエラーメッセージを設定できます。詳細については、「宣言ポリシーのカスタムエラーメッセージ」を参照してください。

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

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

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

  • VPC ブロックパブリックアクセス

  • シリアルコンソールアクセス

  • イメージブロックのパブリックアクセス

  • 許可されたイメージの設定

  • インスタンスメタデータのデフォルト

  • スナップショットブロックパブリックアクセス

VPC Block Public Access

ポリシー効果

Amazon VPCsとサブネットのリソースがインターネットゲートウェイ (IGWs) を介してインターネットに到達できるかどうかを制御します。詳細については、Amazon Virtual Private Cloud ユーザーガイド「インターネットアクセスの設定」を参照してください。

ポリシーの内容

"vpc_block_public_access": { "internet_gateway_block": { // (optional) "mode": { // (required) "@@assign": "block_ingress" // off | block_ingress | block_bidirectional }, "exclusions_allowed": { // (required) "@@assign": "enabled" // enabled | disabled } } }

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

  • "internet_gateway":

    • "mode":

      • "off": VPC BPA が有効になっていません。

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

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

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

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

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

    注記

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

考慮事項

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

  • ModifyVpcBlockPublicAccessOptions

  • CreateVpcBlockPublicAccessExclusion

  • ModifyVpcBlockPublicAccessExclusion

Serial Console Access

ポリシー効果

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

ポリシーの内容

"serial_console_access": { "status": { // (required) "@@assign": "enabled" // enabled | disabled } }

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

  • "status":

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

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

考慮事項

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

  • EnableSerialConsoleAccess

  • DisableSerialConsoleAccess

Image Block Public Access

ポリシー効果

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

ポリシーの内容

"image_block_public_access": { "state": { // (required) "@@assign": "block_new_sharing" // unblocked | block_new_sharing } }

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

  • "state":

    • "unblocked": AMIs。

    • "block_new_sharing": AMIs。既にパブリックに共有されていた AMIs は、引き続きパブリックに利用できます。

考慮事項

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

  • EnableImageBlockPublicAccess

  • DisableImageBlockPublicAccess

Allowed Images Settings

ポリシー効果

許可された AMI を使用した Amazon EC2 での Amazon マシンイメージ (AMIs.. AMI の詳細については、「Amazon Elastic Compute Cloud ユーザーガイドAMIs)」を参照してください。

ポリシーの内容

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

"allowed_images_settings": { "state": { // (required) "@@assign": "enabled" // enabled | disabled | audit_mode }, "image_criteria": { // (optional) "criteria_1": { "allowed_image_providers": { // limit 200 "@@append": [ "amazon" // amazon | aws_marketplace | aws_backup_vault | 12 digit account ID ] } } } }
  • "state":

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

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

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

  • "image_criteria": 許可された AMI ソースを定義するallowed_image_providersオブジェクトのリスト。

    • "allowed_image_providers": プロバイダー名またはアカウント IDs のカンマ区切りリスト。

考慮事項

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

  • EnableAllowedImagesSettings

  • ReplaceImageCriteriaInAllowedImagesSettings

  • DisableAllowedImagesSettings

Instance Metadata Defaults

ポリシー効果

すべての新しい EC2 インスタンス起動の IMDS のデフォルトを制御します。この設定ではデフォルトのみが設定され、IMDS バージョン設定は強制されないことに注意してください。IMDS のデフォルトの詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「IMDS」を参照してください。

ポリシーの内容

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

"instance_metadata_defaults": { "http_tokens": { // (required) "@@assign": "required" // no_preference | required | optional }, "http_put_response_hop_limit": { // (required) "@@assign": "4" // -1 | 1 -> 64 }, "http_endpoint": { // (required) "@@assign": "enabled" // no_preference | enabled | disabled }, "instance_metadata_tags": { // (required) "@@assign": "enabled" // no_preference | enabled | disabled } }
  • "http_tokens":

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

    • "required": IMDSv2 を使用する必要があります。IMDSv1 は許可されていません。

    • "optional": IMDSv1 と IMDSv2 の両方が許可されます。

    注記

    メタデータバージョン

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

  • "http_put_response_hop_limit":

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

      注記

      ホップ制限

      http_tokens が に設定されている場合required、 を最低 2 http_put_response_hop_limitに設定することをお勧めします。詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「インスタンスメタデータのアクセスに関する考慮事項」を参照してください。

  • "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 スナップショット」を参照してください。

ポリシーの内容

"snapshot_block_public_access": { "state": { // (required) "@@assign": "block_new_sharing" // unblocked | block_new_sharing | block_all_sharing } }

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

  • "state":

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

    • "block_new_sharing": スナップショットの新しいパブリック共有をブロックします。既にパブリックに共有されていたスナップショットは、公開されたままです。

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

考慮事項

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

  • EnableSnapshotBlockPublicAccess

  • DisableSnapshotBlockPublicAccess