IAM:以程式設計方式和在主控台中允許和拒絕對多個服務的存取 - AWS Identity and Access Management

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

IAM:以程式設計方式和在主控台中允許和拒絕對多個服務的存取

此範例會示範如何建立身分型政策,允許完整存取 IAM 中的多項服務和有限的自我管理存取權限。此政策也拒絕對 Amazon S3 logs 儲存貯體或 Amazon EC2 i-1234567890abcdef0 執行個體的存取權限。此政策定義了程式設計和主控台存取的許可。若要使用此政策,請將範例政策中的斜體預留位置文字取代為您自己的資訊。然後,遵循建立政策編輯政策中的指示進行操作。

警告

此政策允許在多個服務中對每個動作和資源的完整存取。此政策應該僅適用於信任的管理員。

您可以將此政策用作為許可界線,來定義以身分為基礎的政策可以授予 IAM 使用者的許可上限。如需詳細資訊,請參閱 使用許可界限委派責任給他人。將此政策用作為使用者的許可界線時,此陳述式會定義以下界線:

  • AllowServices 陳述式會允許對指定 AWS 服務的完整存取。這表示使用者在這些服務的動作,僅受限於連接到使用者的許可政策。

  • AllowIAMConsoleForCredentials 陳述式允許列出所有 IAM 使用者的存取權。這個存取權是導覽 AWS Management Console中 Users (使用者) 頁面的必要條件。它也允許檢視帳戶的密碼要求,對於要變更自身密碼的使用者來說這是必要的程序。

  • AllowManageOwnPasswordAndAccessKeys 陳述式允許使用者僅管理自己的主控台密碼和程式設計存取金鑰。這很重要,因為如果另一個政策提供使用者完整的 IAM 存取權,則該使用者便可以變更自己或其他使用者的許可。此陳述式可避免此種情況發生。

  • DenyS3Logs 陳述式明確拒絕存取 logs 儲存貯體。此政策會向該使用者強制執行公司限制。

  • DenyEC2Production 陳述式明確拒絕存取 i-1234567890abcdef0 執行個體。

此政策不允許存取其他服務或動作。當原則作為使用者的權限界限使用時,即使附加至使用者的其他策略允許這些動作,也會 AWS 拒絕要求。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowServices", "Effect": "Allow", "Action": [ "s3:*", "cloudwatch:*", "ec2:*" ], "Resource": "*" }, { "Sid": "AllowIAMConsoleForCredentials", "Effect": "Allow", "Action": [ "iam:ListUsers", "iam:GetAccountPasswordPolicy" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswordAndAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:ChangePassword", "iam:GetUser", "iam:*LoginProfile*" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::logs", "arn:aws:s3:::logs/*" ] }, { "Sid": "DenyEC2Production", "Effect": "Deny", "Action": "ec2:*", "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0" } ] }