首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SAML假定-角色用户未授权执行操作

SAML假定-角色用户未授权执行操作
EN

Stack Overflow用户
提问于 2018-11-20 20:14:20
回答 1查看 2.3K关注 0票数 0

我使用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]

当然,如果我将资源更改为"*",它将工作,但用户可以更改其他帐户访问键。

代码语言:javascript
运行
复制
{
    "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}"
        }
    ]
}

角色信任关系(以防万一)

代码语言:javascript
运行
复制
{
  "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"
        }
      }
    }
  ]
}

我不知道我需要做什么来允许当前用户权限的“假定角色”来修改访问密钥。

EN

回答 1

Stack Overflow用户

发布于 2018-11-20 20:39:13

因此,IAM角色不具有与其关联的永久访问密钥,您在登录到控制台时将获得临时凭据(访问密钥、秘密密钥和会话令牌)。现在,"${aws:username}“解析为IAM用户名,它不适用于IAM角色。因此,您不能管理IAM角色的访问密钥创建,您也不必这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53400840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档