Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何建立 IAM 政策以明確授予權限,以在具有標籤的指定 VPC 中建立和管理 EC2 執行個體?
我想建立 AWS Identity and Access Management (IAM) 政策,該政策明確授予 IAM 身分管理虛擬私有雲端 (VPC) 中 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的權限。
簡短描述
IAM 政策必須限制 IAM 身分的權限,以管理 VPC 中具有標籤的執行個體。
Amazon EC2 提供部分資源層級權限,但您可以使用多種服務層級動作、資源和條件。若要控制對 EC2 資源的存取,請使用資源標籤。
解決方法
建立政策,以授予啟動 VPC 中執行個體的權限,但限制 IAM 身分管理執行個體的權限。若要限制執行個體的管理,請使用 ec2:ResourceTag 政策條件。
建立受管政策以附加至啟動執行個體的 IAM 向分
請完成下列步驟:
-
開啟 IAM 主控台,選擇政策,然後選擇建立政策。
-
選擇 JSON 標籤,然後輸入下列自訂政策:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GrantIAMPassRoleOnlyForEC2", "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::ACCOUNTNUMBER:role/ROLENAME", "arn:aws:iam::ACCOUNTNUMBER:role/ROLENAME" ], "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } }, { "Sid": "ReadOnlyEC2WithNonResource", "Action": [ "ec2:Describe*", "iam:ListInstanceProfiles" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "ModifyingEC2WithNonResource", "Action": [ "ec2:CreateKeyPair", "ec2:CreateSecurityGroup" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "RunInstancesWithTagRestrictions", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:REGION:ACCOUNTNUMBER:instance/*", "arn:aws:ec2:REGION:ACCOUNTNUMBER:volume/*" ], "Condition": { "StringEquals": { "aws:RequestTag/TAG-KEY": "TAG-VALUE" } } }, { "Sid": "RemainingRunInstancePermissionsNonResource", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:REGION::image/*", "arn:aws:ec2:REGION::snapshot/*", "arn:aws:ec2:REGION:ACCOUNTNUMBER*:network-interface/*", "arn:aws:ec2:REGION:ACCOUNTNUMBER*:key-pair/*", "arn:aws:ec2:REGION:ACCOUNTNUMBER*:security-group/*" ] }, { "Sid": "EC2RunInstancesVpcSubnet", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:REGION:ACCOUNTNUMBER:subnet/*", "Condition": { "StringEquals": { "ec2:Vpc": "arn:aws:ec2:REGION:ACCOUNTNUMBER:vpc/VPC-ID" } } }, { "Sid": "EC2VpcNonResourceSpecificActions", "Effect": "Allow", "Action": [ "ec2:DeleteNetworkAcl", "ec2:DeleteNetworkAclEntry", "ec2:DeleteRoute", "ec2:DeleteRouteTable", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "ec2:DeleteSecurityGroup", "ec2:CreateNetworkInterfacePermission", "ec2:CreateRoute", "ec2:UpdateSecurityGroupRuleDescriptionsEgress", "ec2:UpdateSecurityGroupRuleDescriptionsIngress" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:Vpc": "arn:aws:ec2:REGION:ACCOUNTNUMBER:vpc/VPC-ID" } } }, { "Sid": "AllowInstanceActionsTagBased", "Effect": "Allow", "Action": [ "ec2:RebootInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:StartInstances", "ec2:AttachVolume", "ec2:DetachVolume", "ec2:AssociateIamInstanceProfile", "ec2:DisassociateIamInstanceProfile", "ec2:GetConsoleScreenshot", "ec2:ReplaceIamInstanceProfileAssociation" ], "Resource": [ "arn:aws:ec2:REGION:ACCOUNTNUMBER:instance/*", "arn:aws:ec2:REGION:ACCOUNTNUMBER:volume/*" ], "Condition": { "StringEquals": { "ec2:ResourceTag/TAG-KEY": "TAG-VALUE" } } }, { "Sid": "AllowCreateTagsOnlyLaunching", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:REGION:ACCOUNTNUMBER:instance/*", "arn:aws:ec2:REGION:ACCOUNTNUMBER:volume/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": "RunInstances" } } } ] }注意: 將 ACCOUNTNUMBER、REGION、TAG-KEY、TAG-VALUE、VPC-ID 和 ROLENAME 參數取代為您的值。
-
(選用) 若要將政策指派給 IAM 使用者或群組,請將 TAG-KEY 或 TAG-VALUE 參數取代為 ${aws:username} IAM 政策變數。此政策變數允許 IAM 使用 IAM 使用者的友好名稱預先填入參數。IAM 使用者只能在指定的 VPC 中啟動執行個體,並控制自己的執行個體。
-
選擇檢閱政策,然後輸入名稱。例如,輸入 VPC_Lockdown_VPC-ID。
-
選擇建立政策。
**注意:**您必須使用環境中的特定資源取代某些項目。如需詳細資訊,請參閱 Amazon Resource Name (ARN)。
將政策附加至使用者、群組或角色中
請完成下列步驟:
- 開啟 IAM 主控台。
- 在導覽窗格中,選擇使用者、群組或角色,然後選擇 IAM 身分。
- 選擇新增權限,然後選擇附加政策。
- 輸入政策名稱,然後選擇您的政策。
- 選擇附加政策。
附加自訂政策後,IAM 身分可以登入 AWS 管理主控台、開啟 EC2 儀表板,並啟動 EC2 執行個體。IAM 身分必須指定子網路、VPC 和標籤,以啟動 EC2 執行個體。
ec2:ResourceTags 條件會限制下列動作:
- 啟動執行個體。
- 停止執行個體。
- 重新啟動執行個體。
- 終止執行個體。
- 將磁碟區附加至執行個體。
- 從執行個體分離磁碟區。
- 取消 IAM 執行個體設定檔與執行個體的關聯。
- 關聯執行個體設定檔。
- 取代執行個體的 IAM 執行個體設定檔關聯。
- 獲取執行個體的主控台螢幕快照。
此政策會針對 VPC 限制下列動作:
- 刪除安全群組。
- 建立和刪除路由。
- 刪除路由表。
- 刪除網路存取控制清單 (network ACL)。
- 刪除網路 ACL 項目。
- 授權或撤銷安全群組輸入和輸出規則。
- 建立網路介面權限。
- 更新輸入和輸出規則的安全群組說明。
相關資訊
如何使用 PrincipalTag、ResourceTag、RequestTag 和 TagKeys 條件鍵為標籤型限制建立 IAM 政策?
- 語言
- 中文 (繁體)

相關內容
- 已提問 2 年前
- 已提問 1 年前