View a markdown version of this page

EC2 ポリシーの構文と例 - AWS Organizations

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

EC2 ポリシーの構文と例

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

考慮事項

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

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

EC2 ポリシーの構文

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

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

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

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

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

サポートされている EC2 ポリシー

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

  • VPC Block Public Access

  • Serial Console Access

  • Image Block Public Access

  • Allowed Images Settings

  • インスタンスメタデータ

  • 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」を参照してください。

考慮事項

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

  • 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 シリアルコンソールへのアクセスがブロックされます。

考慮事項

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 は引き続き一般公開されます。

考慮事項

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

  • 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": { "marketplace_product_codes": { "@@append": [ "abcdefg1234567890" ] } }, "criteria_2": { "allowed_image_providers": { "@@append": [ "123456789012", "123456789013" ] }, "creation_date_condition": { "maximum_days_since_created": { "@@assign": 300 } } }, "criteria_3": { "allowed_image_providers": { "@@assign": [ "123456789014" ] }, "image_names": { "@@assign": [ "golden-ami-*" ] } }, "criteria_4": { "allowed_image_providers": { "@@assign": [ "amazon" ] }, "deprecation_time_condition": { "maximum_days_since_deprecated": { "@@assign": 0 } } }, "criteria_5": { "image_watermarks": { "image_watermark_1": { "watermark_key": { "@@assign": "123456789015:approved-production-*" }, "source_image_region": { "@@assign": "us-east-1" }, "maximum_days_since_source_image_created": { "@@assign": 365 }, "maximum_days_since_watermark_created": { "@@assign": 90 } }, "image_watermark_2": { "watermark_key": { "@@assign": "123456789016:security-scanned" } } } } } } } }
  • "state" (必須):

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

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

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

  • "image_criteria" (オプション): 条件のリスト。criteria_1 から criteria_10 までの名前で最大 10 個の条件をサポートします。各条件には、次のフィルターを 1 つ以上含めることができます。

    • "allowed_image_providers": 最大 200 エントリのリスト。各エントリは 12 桁のアカウント ID または amazon、、aws_marketplaceまたは の所有者エイリアスですaws_backup_vault

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

    • "marketplace_product_codes": 許可されたイメージに対して最大 50 個の 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。

    • "image_watermarks": イメージが一致する必要があるウォーターマークフィルターのコレクション。各フィルターは image_watermark_1を通じて名前が付けられますimage_watermark_50。いずれかのフィルターがイメージ上のウォーターマークと一致すると、イメージは渡されます。フィルター内では、指定されたすべてのフィールドが同じウォーターマークと一致する必要があります。条件ごとに最大 50 個のフィルター。

      各フィルター内のフィールド:

      • "watermark_key" (必須): 形式のウォーターマークキー<account-id>:<watermark-name>。account-id 部分は、正確な 12 桁の AWS アカウント ID でも、ワイルドカード (* および ) を使用したパターンでもかまいません?。ウォーターマーク名は 3~128 文字にする必要があります。ワイルドカード (* および ?) をサポートします。有効な文字: 文字 (A~Z、a~z)、数字 (0~9)、スペース、および () []. / - ' @ _

      • "source_image_region" (オプション): ウォーターマークが最初に作成された AWS リージョン。ワイルドカード (* および ?) をサポートします。

      • "maximum_days_since_source_image_created" (オプション): ソースイメージが作成されてから経過した最大日数。有効な範囲: 0~2147483647。

      • "maximum_days_since_watermark_created" (オプション): ウォーターマークがアタッチされてから経過した最大日数。有効な範囲: 0~2147483647。

考慮事項

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

  • EnableAllowedImagesSettings

  • ReplaceImageCriteriaInAllowedImagesSettings

  • DisableAllowedImagesSettings

Instance Metadata

ポリシーの効果

すべての新しい EC2 インスタンスの起動に対する IMDS のデフォルトと IMDSv2 の適用を制御します。 EC2 IMDS のデフォルトと IMDSv2 の適用の詳細については、Amazon EC22 ユーザーガイド」の「インスタンスメタデータを使用して EC2 インスタンスを管理する」を参照してください。

ポリシーの内容

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

{ "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_enforced": { "@@assign": "enabled" } } } }
  • "http_tokens":

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

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

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

    注記

    メタデータバージョン

    http_tokensrequired に設定する前に (IMDSv2 を使用する必要があります)、どのインスタンスも IMDSv1 呼び出しを行っていないことを確認してください。詳細については、Amazon EC22 ユーザーガイド」の「ステップ 1: 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": インスタンスタグには、インスタンスメタデータからアクセスできません。

  • "http_tokens_enforced":

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

    • "enabled": IMDSv2 を使用する必要があります。IMDSv1 インスタンスの起動または既存のインスタンスでの IMDSv1 の有効化の試行は失敗します。

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

    警告

    IMDSv2 の強制適用

    IMDSv21 と IMDSv12 (トークンオプション) を許可しながら IMDSv2 の適用を有効にすると、起動パラメータまたは AMI のデフォルトを使用して IMDSv1 が明示的に無効になっていない限り、起動エラーが発生します。詳細については、「Amazon EC2 ユーザーガイド」のIMDSv1-enabledインスタンスの起動が失敗する」を参照してください。 Amazon EC2

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": スナップショットのパブリック共有に制限はありません。

考慮事項

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

  • EnableSnapshotBlockPublicAccess

  • DisableSnapshotBlockPublicAccess