我使用OKTA作为身份提供者,这允许我指定用户在登录控制台时可以承担哪些角色。
目标:有一个角色,允许用户登录到控制台,并且只管理他们的访问键(列表、创建、更新、删除)。
此策略应允许当前用户管理自己的密钥,但在尝试执行除列出访问键之外的其他操作时,会出现此错误。
User: arn:aws:sts::[ACCOUNT-NUMBER]:assumed-role/AccessKeyManagement/[Logged In Username] is not authorized to perform: iam:CreateAccessKey on resource: user [Logged In Username]
当然,如果我将资源更改为"*",它将工作,但用户可以更改其他帐户访问键。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole",
"sts:DecodeAuthorizationMessage",
"iam:ListAccountAliases",
"iam:ListUsers",
"sts:GetCallerIdentity",
"iam:ListAccessKeys"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:DeleteAccessKey",
"iam:UpdateAccessKey",
"iam:CreateAccessKey"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
}
]
}角色信任关系(以防万一)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::[ACCOUNT-NUMBER]:saml-provider/OKTA"
},
"Action": [
"sts:AssumeRoleWithSAML",
"sts:AssumeRole"
],
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}
]
}我不知道我需要做什么来允许当前用户权限的“假定角色”来修改访问密钥。
发布于 2018-11-20 20:39:13
因此,IAM角色不具有与其关联的永久访问密钥,您在登录到控制台时将获得临时凭据(访问密钥、秘密密钥和会话令牌)。现在,"${aws:username}“解析为IAM用户名,它不适用于IAM角色。因此,您不能管理IAM角色的访问密钥创建,您也不必这样做。
https://stackoverflow.com/questions/53400840
复制相似问题