本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
宣告性政策語法和範例
此頁面說明宣告式政策語法並提供範例。
考量事項
-
當您使用宣告性政策設定服務屬性時,可能會影響多個 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"
:-
"
:從 -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 快照。
政策內容
"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
-