【发布时间】:2016-12-03 00:17:08
【问题描述】:
我想创建一个拥有AdministratorAccess 的用户并管理所有内容,例如拒绝 IAM 中的删除和更新操作
我试过这样做
- 创建管理员用户
- 在 IAM 中创建拒绝删除和更新操作的策略
- 将该策略附加到用户
- 用户现在拥有 (AdministratorAccess + MyPolicy)
但是
- 用户仍然可以在 IAM 中删除和更新用户
- 我想这是因为
AdministratorAccess
有没有办法做到这一点,而无需尝试创建复杂的多重策略?
更新
这是我创建的策略
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "StmtXXXX",
"Effect": "Deny",
"Action": [
"iam:ChangePassword",
"iam:DeactivateMFADevice",
"iam:DeleteAccessKey",
"iam:DeleteAccountAlias",
"iam:DeleteAccountPasswordPolicy",
"iam:DeleteGroup",
"iam:DeleteGroupPolicy",
"iam:DeleteInstanceProfile",
"iam:DeleteLoginProfile",
"iam:DeleteOpenIDConnectProvider",
"iam:DeletePolicy",
"iam:DeletePolicyVersion",
"iam:DeleteRole",
"iam:DeleteRolePolicy",
"iam:DeleteSAMLProvider",
"iam:DeleteSSHPublicKey",
"iam:DeleteServerCertificate",
"iam:DeleteSigningCertificate",
"iam:DeleteUser",
"iam:DeleteUserPolicy",
"iam:DeleteVirtualMFADevice",
"iam:RemoveClientIDFromOpenIDConnectProvider",
"iam:RemoveRoleFromInstanceProfile",
"iam:RemoveUserFromGroup",
"iam:UpdateAccessKey",
"iam:UpdateLoginProfile",
"iam:UpdateSSHPublicKey"
],
"Resource": [
"arn:aws:iam::1234:user/dummyadmin"
]
}
]
}
更新 2
将资源设置为arn:aws:iam::1234后,成功了!
【问题讨论】:
-
Deny在 IAM 策略中总是 覆盖Allow,如果这两个规则都适用于用户... AdministratorAccess 不应该免除这一点,所以最可能的解释是您的拒绝策略没有正确识别您要拒绝访问的操作和资源。显示拒绝政策? -
@Michael-sqlbot 我附加了我创建的策略,可能是因为 ARN 吗?
-
策略声明的
Effect适用于Principal尝试针对 目标Resource执行Action。Principal未在用户策略中声明,因为Principal是应用该策略的任何用户......所以通过混淆Resource和Principal,这只是拒绝用户/虚拟管理员执行操作反对自己。
标签: amazon-web-services amazon-iam amazon-policy