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
" } ] }