使用 AWS CLI 或 AWS SDK 的範例原則 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS CLI 或 AWS SDK 的範例原則

您必須使用 IAM 政策授予使用者對於 Amazon EC2 所需的許可。以下範例顯示您可以用來控制使用者具有之 Amazon EC2 許可的政策陳述式。這些原則是針對使用 AWS CLI 或 AWS SDK 發出的要求而設計的。如需詳細資訊,請參閱《IAM 使用者指南》中的建立 IAM 政策。如需可在 Amazon EC2 主控台中使用的政策範例,請參閱在 Amazon EC2 主控台中進行操作的範例政策。。如需特定 Amazon VPC的 IAM 政策範例,請參閱 Identity and Access Management for Amazon VPC

在下列範例中,將每個使用者輸入預留位置取代為您自己的資訊。

範例:唯讀存取

下列政策可授予使用者使用名稱開頭為 Describe 之所有 Amazon EC2 API 動作的許可。Resource 元素使用萬用字元,表示使用者可以為這些 API 動作指定所有資源。如果 API 動作不支援資源層級許可,也需要使用 * 萬用字元。如需可與 Amazon EC2 API 動作搭配使用的 ARN 詳細資訊,請參閱 Amazon EC2 的動作、資源與條件金鑰

因為根據預設會拒絕使用者使用 API 動作的許可,所以使用者沒有對資源執行任何動作的許可 (除非其他陳述式授予他們該許可)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" } ] }

範例:限制特定區域的存取

下列政策拒絕使用所有 Amazon EC2 API 動作的使用者許可,除非該區域為歐洲 (法蘭克福)。它使用全域條件金鑰 aws:RequestedRegion,所有 Amazon EC2 API 動作都支援它。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ec2:*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": "eu-central-1" } } } ] }

或者,您可以使用條件金鑰 ec2:Region,它為 Amazon EC2 獨有並受所有 Amazon EC2 API 動作支援。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ec2:*", "Resource": "*", "Condition": { "StringNotEquals": { "ec2:Region": "eu-central-1" } } } ] }

使用執行個體

範例:描述、啟動、停止、開始及終止所有執行個體

下列政策可授予使用者使用在 Action 元素中指定之 API 動作的許可。Resource 元素使用 * 萬用字元,表示使用者可以為這些 API 動作指定所有資源。如果 API 動作不支援資源層級許可,也需要使用 * 萬用字元。如需可與 Amazon EC2 API 動作搭配使用的 ARN 詳細資訊,請參閱 Amazon EC2 的動作、資源與條件金鑰

因為根據預設會拒絕使用者使用 API 動作的許可,所以使用者沒有使用任何其他 API 動作的許可 (除非其他陳述式授予他們該許可)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeAvailabilityZones", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:StopInstances", "ec2:StartInstances" ], "Resource": "*" } ] }

範例:描述所有執行個體,並只停止、啟動及終止特定執行個體

下列政策允許使用者描述所有執行個體、只開始及停止執行個體 i-1234567890abcdef0 和 i-0598c7d356eba48d7,並只終止美國東部 (維吉尼亞北部) 區域 (us-east-1) 中資源標籤為 "purpose=test" 的執行個體。

第一個陳述式的 Resource 元素使用 * 萬用字元,表示使用者可以為該動作指定所有資源;在本例中,他們可以列出所有執行個體。如果 API 動作不支援資源層級許可 (在本例中為 ec2:DescribeInstances),也需要使用 * 萬用字元。如需可與 Amazon EC2 API 動作搭配使用的 ARN 詳細資訊,請參閱 Amazon EC2 的動作、資源與條件金鑰

第二個陳述式的 StopInstancesStartInstances 動作使用資源層級許可。特定的執行個體在 Resource 元素中以其 ARN 表示。

第三個陳述式可讓使用者終止美國東部 (維吉尼亞北部) 區域 (us-east-1) 中屬於指定 AWS 帳戶的所有執行個體,但僅限執行個體具有標籤的執行個體"purpose=test"Condition 元素可限定政策陳述式生效的條件。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeInstances", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:StopInstances", "ec2:StartInstances" ], "Resource": [ "arn:aws:ec2:us-east-1:account-id:instance/i-1234567890abcdef0", "arn:aws:ec2:us-east-1:account-id:instance/i-0598c7d356eba48d7" ] }, { "Effect": "Allow", "Action": "ec2:TerminateInstances", "Resource": "arn:aws:ec2:us-east-1:account-id:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "test" } } } ] }

啟動執行個體 (RunInstances)

RunInstancesAPI 動作會啟動一或多個隨需執行個體或一或多個 Spot 執行個體。 RunInstances需要 AMI 並創建一個實例。使用者可以在請求中指定金鑰對和安全性群組。啟動至 VPC 需要子網,並會建立網路介面。從由 Amazon EBS 支援的 AMI 啟動會建立磁碟區。因此,使用者必須具有使用這些 Amazon EC2 資源的許可。您可以建立需要使用者在 RunInstances 上指定選用參數,或限制使用者使用特定參數值的政策陳述式。

如需啟動執行個體所需的資源層級許可詳細資訊,請參閱 Amazon EC2 的動作、資源及條件金鑰

根據預設,使用者不具描述、開始、停止或終止所產生執行個體的許可。將管理所產生執行個體之許可授予使用者的一個方式,就是為每個執行個體建立特定標籤,再建立讓他們管理具有該標籤之執行個體的陳述式。如需詳細資訊,請參閱 使用執行個體

AMI

下列政策只允許使用者使用指定的 AMI ami-9e1670f7ami-45cf5c3c 啟動執行個體。使用者無法使用其他 AMI 啟動執行個體 (除非其他陳述式授予使用者該許可)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-9e1670f7", "arn:aws:ec2:region::image/ami-45cf5c3c", "arn:aws:ec2:region:account-id:instance/*", "arn:aws:ec2:region:account-id:volume/*", "arn:aws:ec2:region:account-id:key-pair/*", "arn:aws:ec2:region:account-id:security-group/*", "arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:network-interface/*" ] } ] }

或者,下列政策允許使用者從 Amazon 或某些受信任和已驗證的合作夥伴擁有的所有 AMI 啟動執行個體。第一個陳述式的 Condition 元素會測試 ec2:Owner 是否為 amazon。使用者無法使用其他 AMI 啟動執行個體 (除非其他陳述式授予使用者該許可)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-*" ], "Condition": { "StringEquals": { "ec2:Owner": "amazon" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:account-id:instance/*", "arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:volume/*", "arn:aws:ec2:region:account-id:network-interface/*", "arn:aws:ec2:region:account-id:key-pair/*", "arn:aws:ec2:region:account-id:security-group/*" ] } ] }

執行個體類型

下列政策只允許使用者使用 t2.microt2.small 執行個體類型啟動執行個體,您可能會為了控制成本而這樣做。因為第一個陳述式的 Condition 元素會測試 ec2:InstanceType 是否為 t2.microt2.small,所以使用者無法啟動更大的執行個體。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringEquals": { "ec2:InstanceType": ["t2.micro", "t2.small"] } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-*", "arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:network-interface/*", "arn:aws:ec2:region:account-id:volume/*", "arn:aws:ec2:region:account-id:key-pair/*", "arn:aws:ec2:region:account-id:security-group/*" ] } ] }

或者,您可以建立政策來拒絕使用者啟動 t2.microt2.small 執行個體類型以外之任何執行個體的許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringNotEquals": { "ec2:InstanceType": ["t2.micro", "t2.small"] } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-*", "arn:aws:ec2:region:account-id:network-interface/*", "arn:aws:ec2:region:account-id:instance/*", "arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:volume/*", "arn:aws:ec2:region:account-id:key-pair/*", "arn:aws:ec2:region:account-id:security-group/*" ] } ] }

子網

下列政策只允許使用者使用指定的子網 subnet-12345678 啟動執行個體。群組無法將執行個體啟動至任何其他子網 (除非其他陳述式授予使用者該許可)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:account-id:subnet/subnet-12345678", "arn:aws:ec2:region:account-id:network-interface/*", "arn:aws:ec2:region:account-id:instance/*", "arn:aws:ec2:region:account-id:volume/*", "arn:aws:ec2:region::image/ami-*", "arn:aws:ec2:region:account-id:key-pair/*", "arn:aws:ec2:region:account-id:security-group/*" ] } ] }

或者,您可以建立拒絕使用者將執行個體啟動至任何其他子網之許可的政策。陳述式執行此作業的方式是拒絕建立網路介面的許可,但指定子網 subnet-12345678 的介面除外。此拒絕會覆寫為允許將執行個體啟動至其他子網所建立的任何其他政策。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:account-id:network-interface/*" ], "Condition": { "ArnNotEquals": { "ec2:Subnet": "arn:aws:ec2:region:account-id:subnet/subnet-12345678" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-*", "arn:aws:ec2:region:account-id:network-interface/*", "arn:aws:ec2:region:account-id:instance/*", "arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:volume/*", "arn:aws:ec2:region:account-id:key-pair/*", "arn:aws:ec2:region:account-id:security-group/*" ] } ] }

EBS 磁碟區

下列政策只允許使用者在執行個體的 EBS 磁碟區已加密時啟動執行個體。使用者必須從使用加密快照建立的 AMI 啟動執行個體,以確保根磁碟區經過加密。使用者在啟動期間連接至執行個體的任何其他磁碟區也必須經過加密。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*:*:volume/*" ], "Condition": { "Bool": { "ec2:Encrypted": "true" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/ami-*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:security-group/*" ] } ] }

標籤

建立時為執行個體加上標籤

下列政策允許使用者在建立期間啟動執行個體並為執行個體套用標籤。針對套用標籤的資源建立動作,使用者必須具有使用 CreateTags 動作的許可。第二個陳述式使用 ec2:CreateAction 條件鍵限制使用者在 RunInstances 的條件下才可建立標籤,且僅限為執行個體建立。使用者無法為現有資源套用標籤,也無法使用 RunInstances 請求為磁碟區套用標籤。

如需詳細資訊,請參閱 在建立期間授予標籤資源的許可

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:us-east-1:account-id:instance/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "RunInstances" } } } ] }

使用特定標籤建立時為執行個體和磁碟區加上標籤

下列政策包含 aws:RequestTag 條件鍵,需要使用者使用標籤 RunInstancesenvironment=productionpurpose=webserver 建立的任何執行個體和磁碟區套用標籤。如果使用者未傳遞這些特定標籤,或完全未指定標籤,請求會失敗。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:region::image/*", "arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:network-interface/*", "arn:aws:ec2:region:account-id:security-group/*", "arn:aws:ec2:region:account-id:key-pair/*" ] }, { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:region:account-id:volume/*", "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringEquals": { "aws:RequestTag/environment": "production" , "aws:RequestTag/purpose": "webserver" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account-id:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "RunInstances" } } } ] }

使用至少一個特定標籤建立時為執行個體和磁碟區加上標籤

下列政策在 ForAnyValue 條件的部分使用 aws:TagKeys 修飾詞,表示至少必須在請求中指定一個標籤,而且它必須包含 environment 鍵或 webserver 鍵。此標籤必須同時套用至執行個體和磁碟區。使用者可以在請求中指定任何標籤值。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:region::image/*", "arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:network-interface/*", "arn:aws:ec2:region:account-id:security-group/*", "arn:aws:ec2:region:account-id:key-pair/*" ] }, { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:region:account-id:volume/*", "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"] } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account-id:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "RunInstances" } } } ] }

如果執行個體在建立時被標籤,則必須使用特定標籤來加以標籤

在下列政策中,使用者不需要在請求中指定標籤,但若需指定,標籤必須是 purpose=test。不允許其他標籤。使用者可以套用標籤至 RunInstances 請求中任何可套用標籤的資源。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account-id:*/*", "Condition": { "StringEquals": { "aws:RequestTag/purpose": "test", "ec2:CreateAction" : "RunInstances" }, "ForAllValues:StringEquals": { "aws:TagKeys": "purpose" } } } ] }

禁止任何人在創建時調用標籤 RunInstances

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRun", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", "arn:aws:ec2:us-east-1:*:spot-instances-request/*" ] }, { "Sid": "VisualEditor0", "Effect": "Deny", "Action": "ec2:CreateTags", "Resource": "*" } ] }

僅允許的特定標籤 spot-instances-request。不一致的數字 2 會意外在此發揮作用。在一般情況下,不指定任何標籤會導致「未驗證」狀態。在的情況下 spot-instances-request,如果沒有標籤,則不會評估此原則,因此非標 spot-instances-request 籤 Spot 執行時要求將會成功。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRun", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", ] }, { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*", "Condition": { "StringEquals": { "aws:RequestTag/environment": "production" } } } ] }

啟動範本中的標籤

在下列範例中,使用者可以啟動執行個體,但前提是他們要使用特定的啟動範本 (lt-09477bcd97b0d310e)。ec2:IsLaunchTemplateResource 條件鍵可防止使用者覆寫在啟動範本中指定的任何資源。陳述式的第二部分允許使者在建立時為執行個體套用標籤 – 如果在啟動範本中指定執行個體的標籤,則需要陳述式的這個部分。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "*", "Condition": { "ArnLike": { "ec2:LaunchTemplate": "arn:aws:ec2:region:account-id:launch-template/lt-09477bcd97b0d310e" }, "Bool": { "ec2:IsLaunchTemplateResource": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account-id:instance/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "RunInstances" } } } ] }

Elastic GPU

在下列政策中,使用者可以啟動執行個體,並指定要連接至執行個體的 Elastic GPU。使用者可以在任何區域中啟動執行個體,但他們只可在 us-east-2 區域中於啟動期間連接彈性 GPU。

ec2:ElasticGpuType 條件索引鍵可確保執行個體使用 eg1.medium 或 eg1.large 彈性 GPU 類型。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:account-id:elastic-gpu/*" ], "Condition": { "StringEquals": { "ec2:Region": "us-east-2", "ec2:ElasticGpuType": [ "eg1.medium", "eg1.large" ] } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/ami-*", "arn:aws:ec2:*:account-id:network-interface/*", "arn:aws:ec2:*:account-id:instance/*", "arn:aws:ec2:*:account-id:subnet/*", "arn:aws:ec2:*:account-id:volume/*", "arn:aws:ec2:*:account-id:key-pair/*", "arn:aws:ec2:*:account-id:security-group/*" ] } ] }

啟動範本

在下列範例中,使用者可以啟動執行個體,但前提是他們要使用特定的啟動範本 (lt-09477bcd97b0d310e)。使用者可以透過在 RunInstances 動作中指定參數,來覆寫啟動範本中的任何參數。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "*", "Condition": { "ArnLike": { "ec2:LaunchTemplate": "arn:aws:ec2:region:account-id:launch-template/lt-09477bcd97b0d310e" } } } ] }

在此範例中,使用者只有在使用啟動範本時才能啟動執行個體。此政策會使用 ec2:IsLaunchTemplateResource 條件索引鍵,以防止使用者覆寫啟動範本中預先存在的任何 ARN。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "*", "Condition": { "ArnLike": { "ec2:LaunchTemplate": "arn:aws:ec2:region:account-id:launch-template/*" }, "Bool": { "ec2:IsLaunchTemplateResource": "true" } } } ] }

下列政策範例允許使用者啟動執行個體,但前提是他們要使用啟動範本。使用者無法覆寫請求中的子網和網路介面參數;這些參數只能在啟動範本中予以指定。陳述式的第一部分會使用NotResource元素來允許除子網路和網路介面以外的所有其他資源。陳述式的第二部分允許子網和網路介面資源,但前提是它們來自啟動範本。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "NotResource": ["arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:network-interface/*" ], "Condition": { "ArnLike": { "ec2:LaunchTemplate": "arn:aws:ec2:region:account-id:launch-template/*" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": ["arn:aws:ec2:region:account-id:subnet/*", "arn:aws:ec2:region:account-id:network-interface/*" ], "Condition": { "ArnLike": { "ec2:LaunchTemplate": "arn:aws:ec2:region:account-id:launch-template/*" }, "Bool": { "ec2:IsLaunchTemplateResource": "true" } } } ] }

下列範例只允許使用者在使用啟動範本且該啟動範本具有標籤 Purpose=Webservers 時,啟動執行個體。使用者無法覆寫 RunInstances 動作中的任何啟動範本參數。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "NotResource": "arn:aws:ec2:region:account-id:launch-template/*", "Condition": { "ArnLike": { "ec2:LaunchTemplate": "arn:aws:ec2:region:account-id:launch-template/*" }, "Bool": { "ec2:IsLaunchTemplateResource": "true" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:region:account-id:launch-template/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Webservers" } } } ] }

使用 競價型執行個體

您可以使用此 RunInstances 動作建立競價型執行個體請求,並在建立時標記競價型執行個體請求。要為其指定的資源 RunInstances 為spot-instances-request

spot-instances-request 資源會在 IAM 政策中進行評估,如下所示:

  • 如果您在建立時未標記競價型執行個體請求,Amazon EC2 不會評估 RunInstances陳述式中的spot-instances-request資源。

  • 如果您在建立時標記競價型執行個體請求,Amazon EC2 會評估 RunInstances陳述式中的spot-instances-request資源。

因此,對於 spot-instances-request 資源,下列規則適用於 IAM 政策:

  • 如果您使 RunInstances 用建立競價型執行個體請求,且不打算在建立時標記競價型執行個體請求,則不需要明確允許spot-instances-request資源;呼叫將會成功。

  • 如果您使 RunInstances 用建立競價型執行個體請求並打算在建立時標記競價型執行個體請求,則必須在 RunInstances allow 陳述式中包含spot-instances-request資源,否則呼叫將會失敗。

  • 如果您使用 RunInstances 建立競價型執行個體請求並打算在建立時標記競價型執行個體請求,則必須在 CreateTags allow 陳述式中指定spot-instances-request資源或*萬用字元,否則呼叫將會失敗。

您可以使用 RunInstances 或請求 Spot 執行個體 RequestSpotInstances。下列 IAM 政策範例僅適用於請求 Spot 執行個體使用 RunInstances。

範例:請求 Spot 執行個體 RunInstances

下列原則允許使用者使用動作來請求 Spot 執 RunInstances 行個體。由 RunInstances建立的spot-instances-request資源請求 Spot 執行個體。

注意

若要用 RunInstances 來建立競價型執行個體請求,如果您不打算在建立時標記 Spot 執行個體請求,則可以從Resource清單spot-instances-request中省略。這是因為如果競價型執行個體請求未在建立時標記,Amazon EC2 不會評估 RunInstances陳述式中的spot-instances-request資源。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRun", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", "arn:aws:ec2:us-east-1:*:spot-instances-request/*" ] } ] }
警告

不支援 — 範例:拒絕使用者請求 Spot 執行個體使用的權限 RunInstances

spot-instances-request 資源不支援下列政策。

下列政策旨在提供使用者啟動 隨需執行個體 的許可,但拒絕使用者請求 競價型執行個體 的許可。由 RunInstances建立的spot-instances-request資源是請求 Spot 執行個體的資源。第二個陳述式是為了拒絕spot-instances-request資源的 RunInstances 動作。但是,不支援此條件,因為如果競價型執行個體請求在建立時未標記,Amazon EC2 不會評估 RunInstances 陳述式中的spot-instances-request資源。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRun", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*" ] }, { "Sid": "DenySpotInstancesRequests - NOT SUPPORTED - DO NOT USE!", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*" } ] }

範例:在建立時標記 Spot 執行個體請求

下列政策可讓使用者標記執行個體啟動期間建立的所有資源。第一個語句允 RunInstances 許創建列出的資源。由 RunInstances建立的spot-instances-request資源是請求 Spot 執行個體的資源。第二個陳述式提供 * 萬用字元,允許在執行個體啟動時建立所有資源時加上標記。

注意

如果您在建立時標記競價型執行個體請求,Amazon EC2 會評估 RunInstances 陳述式中的spot-instances-request資源。因此,您必須明確允許 RunInstances 動作的spot-instances-request資源,否則呼叫將失敗。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRun", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", "arn:aws:ec2:us-east-1:*:spot-instances-request/*" ] }, { "Sid": "TagResources", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }

範例:拒絕在建立時標記 Spot 執行個體請求

下列政策拒絕使用者標記執行個體啟動期間建立的資源的許可。

第一個語句允 RunInstances 許創建列出的資源。由 RunInstances建立的spot-instances-request資源是請求 Spot 執行個體的資源。第二個陳述式會提供 * 萬用字元,以拒絕在執行個體啟動時建立所有標記的資源。如果spot-instances-request或任何其他資源在創建時被標記,則 RunInstances 調用將失敗。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRun", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", "arn:aws:ec2:us-east-1:*:spot-instances-request/*" ] }, { "Sid": "DenyTagResources", "Effect": "Deny", "Action": "ec2:CreateTags", "Resource": "*" } ] }
警告

不支援 - 範例:只有系統指派特定標籤時,才允許建立 Spot 執行個體請求

spot-instances-request 資源不支援下列政策。

以下政策旨在僅在請求使 RunInstances 用特定標籤標記時,才授予建立競價型執行個體請求的權限。

第一個語句允 RunInstances 許創建列出的資源。

第二個陳述式向使用者授予許可,以便僅在請求具有 environment=production 標籤時才建立 Spot 執行個體請求。如果此條件套用至由建立的其他資源 RunInstances,則不指定任何標籤會導致錯Unauthenticated誤。但是,如果沒有為競價型執行個體請求指定標籤,Amazon EC2 不會評估 RunInstances 陳述式中的spot-instances-request資源,這會導致由 RunInstances建立未標記的 Spot 執行個體請求。

請注意,指定其他標籤會environment=production導致Unauthenticated錯誤,因為如果使用者標記競價型執行個體請求,Amazon EC2 會評估 RunInstances 陳述式中的spot-instances-request資源。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRun", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*" ] }, { "Sid": "RequestSpotInstancesOnlyIfTagIs_environment=production - NOT SUPPORTED - DO NOT USE!", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*", "Condition": { "StringEquals": { "aws:RequestTag/environment": "production" } } }, { "Sid": "TagResources", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }

範例:如果系統指派特定標籤,則拒絕建立 Spot 執行個體請求

如果請求標記為,下列政策會拒絕 RunInstances 建立競價型執行個體請求的權限。environment=production

第一個語句允 RunInstances 許創建列出的資源。

如果請求具有 environment=production 標籤,第二個陳述式會拒絕使用者建立 Spot 執行個體請求的許可。指定 environment=production 為標籤會導致 Unauthenticated 錯誤。指定其他標籤或不指定標籤將導致建立 Spot 執行個體請求。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRun", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", "arn:aws:ec2:us-east-1:*:spot-instances-request/*" ] }, { "Sid": "DenySpotInstancesRequests", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*", "Condition": { "StringEquals": { "aws:RequestTag/environment": "production" } } }, { "Sid": "TagResources", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }

範例:使用 預留執行個體

下列政策可提供使用者檢視、修改及購買您帳戶中 預留執行個體 的許可。

您無法針對個別的 預留執行個體 設定資源層級的權限。此政策表示使用者可存取帳戶中的所有 預留執行個體。

Resource 元素使用 * 萬用字元,表示使用者可以為此動作指定所有資源;在本例中,他們可以列出及修改帳戶中的所有預留執行個體。他們也可以使用帳戶登入資料購買 預留執行個體。如果 API 動作不支援資源層級許可,也需要使用 * 萬用字元。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeReservedInstances", "ec2:ModifyReservedInstances", "ec2:PurchaseReservedInstancesOffering", "ec2:DescribeAvailabilityZones", "ec2:DescribeReservedInstancesOfferings" ], "Resource": "*" } ] }

用以允許使用者檢視及修改您帳戶中的預留執行個體,但不允許購買新的預留執行個體。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeReservedInstances", "ec2:ModifyReservedInstances", "ec2:DescribeAvailabilityZones" ], "Resource": "*" } ] }

範例:標籤資源

下列政策只允許使用者在標籤包含 CreateTags 鍵和 environment 值時,使用 production 動作將標籤套用至執行個體。不允許其他標籤,並且使用者無法將標籤用於任何其他資源類型。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account-id:instance/*", "Condition": { "StringEquals": { "aws:RequestTag/environment": "production" } } } ] }

下列政策允許使用者套用標籤至任何已有 owner 金鑰和使用者名稱值之標籤的可套用標籤資源。此外,使用者也必須在請求中使用 anycompany:environment-type 鍵和 test 值或 prod 值指定標籤。使用者可以在請求中指定其他標籤。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account-id:*/*", "Condition": { "StringEquals": { "aws:RequestTag/anycompany:environment-type": ["test","prod"], "aws:ResourceTag/owner": "${aws:username}" } } } ] }

您可以建立允許使用者為資源刪除特定標籤的 IAM 政策。例如,下列政策允許使用者在請求中指定的標籤鍵為 environmentcost-center 時,刪除磁碟區的標籤。您可以為標籤指定任何值,但標籤鍵必須符合指定的任一鍵。

注意

如果您刪除資源,也會刪除與該資源相關聯的所有標籤。使用者不需要使用 ec2:DeleteTags 動作的許可,也能刪除具有標籤的資源;他們只需要執行刪除動作的許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DeleteTags", "Resource": "arn:aws:ec2:us-east-1:account-id:volume/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"] } } } ] }

此政策只允許使用者刪除任何資源上的 environment=prod 標籤,而且僅限資源已套用 owner 金鑰和使用者名稱值之標籤的情況。使用者無法刪除資源的任何其他標籤。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DeleteTags" ], "Resource": "arn:aws:ec2:region:account-id:*/*", "Condition": { "StringEquals": { "aws:RequestTag/environment": "prod", "aws:ResourceTag/owner": "${aws:username}" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["environment"] } } } ] }

範例:使用 IAM 角色

下列政策允許使用者對具有標籤 department=test 的執行個體連接、取代及分離 IAM 角色。取代或分離 IAM 角色需要關聯 ID,因此政策也會授予使用者使用 ec2:DescribeIamInstanceProfileAssociations 動作的許可。

使用者必須具有使用 iam:PassRole 動作的許可,才能將角色傳遞給執行個體。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssociateIamInstanceProfile", "ec2:ReplaceIamInstanceProfileAssociation", "ec2:DisassociateIamInstanceProfile" ], "Resource": "arn:aws:ec2:us-east-1:account-id:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/department":"test" } } }, { "Effect": "Allow", "Action": "ec2:DescribeIamInstanceProfileAssociations", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/DevTeam*" } ] }

下列政策允許使用者對任何執行個體連接或取代 IAM 角色。使用者只能連接或取代名稱開頭為 TestRole- 的 IAM 角色。針對 iam:PassRole 動作,請確定您指定 IAM 角色的名稱,而不是執行個體描述檔 (如果名稱不同)。如需詳細資訊,請參閱 執行個體描述檔

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssociateIamInstanceProfile", "ec2:ReplaceIamInstanceProfileAssociation" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DescribeIamInstanceProfileAssociations", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/TestRole-*" } ] }

範例:使用路由表

下列政策允許使用者新增、移除及取代只與 VPC vpc-ec43eb89 相關聯之路由表的路由。若要針對 ec2:Vpc 條件鍵指定 VPC,您必須指定 VPC 的完整 ARN。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DeleteRoute", "ec2:CreateRoute", "ec2:ReplaceRoute" ], "Resource": [ "arn:aws:ec2:region:account-id:route-table/*" ], "Condition": { "StringEquals": { "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/vpc-ec43eb89" } } } ] }

範例:允許特定執行個體檢視其他 AWS 服務中的資源

下列是您可連接至 IAM 角色的政策範例。此原則可讓執行個體檢視各種 AWS 服務中的資源。它使用 ec2:SourceInstanceARN 條件鍵指定發出請求的執行個體必須是執行個體 i-093452212644b0dd6。如果同一個 IAM 角色與另一個執行個體相關聯,其他執行個體就無法執行這些動作。

ec2:SourceInstanceARN金鑰是 AWS 全域條件金鑰,因此可用於其他服務動作,而不僅僅是 Amazon EC2。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "s3:ListAllMyBuckets", "dynamodb:ListTables", "rds:DescribeDBInstances" ], "Resource": [ "*" ], "Condition": { "ArnEquals": { "ec2:SourceInstanceARN": "arn:aws:ec2:region:account-id:instance/i-093452212644b0dd6" } } } ] }

範例:使用啟動範本

下列政策允許使用者建立啟動範本版本並修改啟動範本,但僅限特定啟動範本 (lt-09477bcd97b0d3abc)。使用者無法使用其他啟動範本。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:CreateLaunchTemplateVersion", "ec2:ModifyLaunchTemplate" ], "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:launch-template/lt-09477bcd97b0d3abc" } ] }

下列政策允許使用者刪除任何啟動範本和啟動範本版本,但前提是啟動範本具有標籤 Purpose=Testing

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DeleteLaunchTemplate", "ec2:DeleteLaunchTemplateVersions" ], "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:launch-template/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Testing" } } } ] }

使用執行個體中繼資料

下列政策可確保使用者只能使用 執行個體中繼資料服務第 2 版 (IMDSv2) 擷取 執行個體中繼資料 。您可以將以下四個政策合併為一個包含四個陳述式的政策。當合併為一個政策時,您可以將政策用作為服務控制政策 (SCP)。它同樣可用作為套用至現有 IAM 政策 (取消和限制現有許可) 的拒絕政策,或者用作為跨帳戶、組織單位 (OU) 或整個組織全域套用的 SCP。

注意

下列中 RunInstances 繼資料選項原則必須與授予主體權限的原則搭配使用,以啟動執行個體 RunInstances。如果主參與者沒有 RunInstances 權限,就無法啟動執行個體。如需詳細資訊,請參閱使用執行個體啟動執行個體 (RunInstances)中的政策。

重要

如果您使用 Auto Scaling 群組,而且需要在所有新執行個體上要求使用 IMDSv2,您的 Auto Scaling 群組必須使用啟動範本

當 Auto Scaling 群組使用啟動範本時,會在建立新的 Auto Scaling 群組時,檢查 IAM 主體的 ec2:RunInstances 許可。當現有的 Auto Scaling 群組更新為使用新的啟動範本或新版本的啟動範本時,也會檢查這些許可。

只有在建立或更新使用啟動範本的 Auto Scaling 群組時,才會對 RunInstances 檢查 IAM 主體使用 IMDSv1 的限制。對於設為使用 Latest or Default 啟動範本的 Auto Scaling 群組,建立新版本的啟動範本時,不會檢查許可。對於要檢查的許可,您必須將 Auto Scaling 群組設為使用特定版本的啟動範本。

若要在 Auto Scaling 群組啟動的執行個體上強制使用 IMDSv2,需要以下額外步驟:
  1. 藉由為建立的新委託人使用服務控制政策 (SCP) 或 IAM 許可界限,對組織中的所有帳戶停用啟動組態。對於具有 Auto Scaling 群組許可的 IAM 主體,使用此條件金鑰更新其相關的政策。若要停用啟動組態,請使用 "autoscaling:LaunchConfigurationName" 條件金鑰 (其值指定為 null),建立或修改相關的 SCP、許可界限或 IAM 政策。

  2. 對於新的啟動範本,請在啟動範本中設定執行個體中繼資料選項。對於現有的啟動範本,請建立新版本的啟動範本,並在新版本中設定執行個體中繼資料選項。

  3. 在授予任何委託人許可使用啟動範本的政策中,藉由指定 "autoscaling:LaunchTemplateVersionSpecified": "true" 來限制 $latest$default 的關聯。藉由限制使用特定版本的啟動範本,可以確保使用已設定執行個體中繼資料選項的版本來啟動新執行個體。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling API 參考中的LaunchTemplate規格,特別是Version參數。

  4. 對於使用啟動組態的 Auto Scaling 群組,將啟動組態取代為啟動範本。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的將啟動組態取代為啟動範本

  5. 對於使用啟動範本的 Auto Scaling 群組,請確保其將新啟動範本與設定的執行個體中繼資料選項搭配使用,或將新版本的目前啟動範本與設定的執行個體中繼資料選項搭配使用。若要取得更多資訊,請參閱《指AWS CLI 令參考》update-auto-scaling-group 中的。

需要使用 IMDSv2

下列原則指定您無法呼叫 RunInstances API,除非執行個體也選擇加入要求使用 IMDSv2 (以表示)。"ec2:MetadataHttpTokens": "required"如果您未指定執行個體需要 ImDSv2,則在呼叫 API 時會收到UnauthorizedOperation錯誤訊息。 RunInstances

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireImdsV2", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:MetadataHttpTokens": "required" } } } ] }

拒絕選擇退出 IMDSv2

下列政策規定您無法呼叫 ModifyInstanceMetadataOptions API,也無法允許 IMDSv1 或 IMDSv2 選項。如果您呼叫 ModifyInstanceMetadataOptions API,則必須將 HttpTokens 屬性設定為 required

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DenyIMDSv1HttpTokensModification", "Effect": "Deny", "Action": "ec2:ModifyInstanceMetadataOptions", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:Attribute/HttpTokens": "required" }, "Null": { "ec2:Attribute/HttpTokens": false } } }] }

指定最大跳轉限制

下列原則指定除非您同時指定躍點限制,且躍點限制不能超過 3,否則您無法呼叫 RunInstances API。如果你沒有這樣做,你會得到一個UnauthorizedOperation錯誤,當你調用 RunInstances API。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "MaxImdsHopLimit", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "NumericGreaterThan": { "ec2:MetadataHttpPutResponseHopLimit": "3" } } } ] }

限制可修改執行個體中繼資料選項的人員

下列政策只允許具有角色 ec2-imds-admins 的使用者對執行個體中繼資料選項進行變更。如果ec2-imds-admins角色以外的任何主體嘗試呼叫 ModifyInstanceMetadataOptions API,就會收到UnauthorizedOperation錯誤訊息。這個陳述式可用來控制 ModifyInstanceMetadataOptions API 的使用;目前 ModifyInstanceMetadataOptions API 沒有細微的存取控制 (條件)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOnlyImdsAdminsToModifySettings", "Effect": "Deny", "Action": "ec2:ModifyInstanceMetadataOptions", "Resource": "*", "Condition": { "StringNotLike": { "aws:PrincipalARN": "arn:aws:iam::*:role/ec2-imds-admins" } } } ] }

需要從 IMDSv2 擷取角色登入資料

下列政策指出,如果此政策套用至角色,且 EC2 服務假定該角色,並將產生的登入資料用於簽署請求,則必須由從 IMDSv2 擷取的 EC2 角色登入資料簽署該請求。否則,其所有 API 呼叫將得到 UnauthorizedOperation 錯誤。一般情況下,可套用此陳述式/政策,因為如果請求未由 EC2 角色登入資料簽署,則不具任何作用。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAllEc2RolesToUseV2", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NumericLessThan": { "ec2:RoleDelivery": "2.0" } } } ] }

使用 Amazon EBS 磁碟區和快照

如需使用 Amazon EBS 磁碟區和快照的範例政策,請參閱 Amazon EBS 以身分識別為基礎的政策範例