宣告性政策語法和範例 - 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_attributes,您可以使用 exception_message來設定自訂錯誤訊息。如需詳細資訊,請參閱宣告政策的自訂錯誤訊息

  • 在 下ec2_attributes,您可以插入一或多個支援的宣告政策。如需這些結構描述,請參閱 支援的宣告政策

支援的宣告政策

以下是宣告政策支援的 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":往返網際網路閘道和輸出限定網際網路閘道 (排除 VPCs和子網路除外) 的所有流量都會遭到封鎖。

  • "exclusions_allowed":排除是一種模式,可套用至單一 VPC 或子網路,其會將其從帳戶的 VPC BPA 模式排除,並允許雙向或僅輸出存取。

    • "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 Machine Image (AMIs) 是否可公開共用。如需 AMIs的詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的 Amazon Machine Image (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 Machine Image (AMIs.. 如需 AMIs 的詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的 Amazon Machine Image (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,建議將 http_put_response_hop_limit設為最少 2。如需詳細資訊,請參閱《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