近期,老板安排了一个要求,希望给新来的员工一个IAM用户,拥有除了修改其他用户信息之外,可以访问其他一切资源。同时,要求这个用户可以自己修改密码。
PowerUserAccess
经过查询官方资料,发现PowerUserAccess符合这个要求,貌似管理员之外的所有权限都满足。
https://docs.aws.amazon.com/zh_cn/aws-managed-policy/latest/reference/PowerUserAccess.html
【问题1】
配置之后,发现这个权限不能访问IAM用户的菜单,修改密码更加无从谈起。
IAMReadOnlyAccess
https://docs.aws.amazon.com/zh_cn/aws-managed-policy/latest/reference/IAMReadOnlyAccess.html
【问题2】
于是经过查找,发现了这个权限,菜单应该可以访问了,但是不能修改IAM用户的密码。
允许 IAM 用户更改自己的密码
按照这个文档,把下面的策略添加进来。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:GetAccountPasswordPolicy",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:ChangePassword",
"Resource": "arn:aws:iam::account-id:user/${aws:username}"
}
]
}
【问题3】
参考IAMReadOnlyAccess的权限,同时把这个策略也配置好之后,发现还需要UpdateLoginProfile权限。全部加上去之后,终于ok了~
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:GenerateCredentialReport",
"iam:GenerateServiceLastAccessedDetails",
"iam:Get*",
"iam:List*",
"iam:SimulateCustomPolicy",
"iam:SimulatePrincipalPolicy",
"iam:GetAccountPasswordPolicy"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:ChangePassword",
"iam:UpdateLoginProfile"
],
"Resource": "arn:aws:iam::account-id:user/${aws:username}"
}
]
}
注意:"Resource": "arn:aws:iam::account-id:user/${aws:username}"需要替换一下ARN,在用户的摘要处就可以找到!!!