本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
宣告性政策語法和範例
此頁面說明宣告式政策語法並提供範例。
考量
-
當您使用宣告性政策設定服務屬性時,可能會影響多個 APIs。任何不合規動作都將失敗。
-
帳戶管理員將無法修改個別帳戶層級的服務屬性值。
宣告式政策的語法
宣告政策是根據 JSON
下列範例顯示基本宣告政策語法:
{ "ec2_attributes": { "exception_message": { "@@assign": "Your custom error message.https://myURL" } } }
-
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 使用者指南》中的網際網路存取組態。
政策內容
{ "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":所有連至 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 序列主控台。
政策內容
{ "ec2_attributes": { "serial_console_access": { "status": { "@@assign": "enabled" } } } }以下是此屬性的可用欄位:
-
"status":-
"enabled":允許 EC2 序列主控台存取。 -
"disabled":EC2 序列主控台存取遭到封鎖。
-
考量
如果您在宣告式政策中使用此屬性,則無法使用下列操作來修改範圍內帳戶的強制執行組態。此清單並不詳盡:
-
EnableSerialConsoleAccess -
DisableSerialConsoleAccess
-
- Image Block Public Access
-
政策效果
控制 Amazon Machine Image (AMIs) 是否可公開共享。如需 AMIs 的詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的 Amazon Machine Image (AMIs)。
政策內容
{ "ec2_attributes": { "image_block_public_access": { "state": { "@@assign": "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 AMIs 使用者指南》中的使用允許 AMI 控制 Amazon EC2 中的 AMIs 探索和使用Amazon EC2。
政策內容
以下是此屬性的可用欄位:
{ "ec2_attributes": { "allowed_images_settings": { "state": { "@@assign": "enabled" }, "image_criteria": { "criteria_1": { "allowed_image_providers": { "@@append": [ "amazon" ] } } } } } }-
"state":-
"enabled": 屬性處於作用中狀態並強制執行。 -
"disabled": 屬性為非作用中且未強制執行。 -
"audit_mode": 屬性處於稽核模式。這表示它會識別不合規的映像,但不會封鎖其使用。
-
-
"image_criteria":條件清單。最多支援 10 個條件,其名稱為 criteria_1 到 criteria_10-
"allowed_image_providers":以逗號分隔的 12 位數帳戶 IDs 清單或 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_tokens將 設定為required(必須使用 IMDSv2) 之前,請確定您的所有執行個體都不會進行 IMDSv1 呼叫。 -
-
"http_put_response_hop_limit":-
":從 -1 到 64 的整數值,代表中繼資料字符可以移動的躍點數目上限。若要表示沒有偏好設定,請指定 -1。Integer"注意
跳轉限制
如果
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 快照。
政策內容
{ "ec2_attributes": { "snapshot_block_public_access": { "state": { "@@assign": "block_new_sharing" } } } }以下是此屬性的可用欄位:
-
"state":-
"block_all_sharing":封鎖快照的所有公開共用。已公開共用的快照會被視為私有,不再公開。 -
"block_new_sharing":封鎖快照的新公開共用。已公開共用的快照仍可公開使用。 -
"unblocked":不限制公開共用快照。
-
考量
如果您在宣告式政策中使用此屬性,則無法使用下列操作來修改範圍內帳戶的強制執行組態。此清單並不詳盡:
-
EnableSnapshotBlockPublicAccess -
DisableSnapshotBlockPublicAccess
-