通过iam:passrole创建iam用户和aws机密



我有两个iam角色,

  • allaccessrole(具有完整的aws帐户访问权限(
  • 有限访问权限(仅对某些服务的访问权限非常有限(

如何使用iam:passrole,以便limitedaccessrole可以使用allaccessrole的权限来创建新资源(例如:新的iam用户/ec2实例(?

我添加了

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "*",
"Condition": {
"StringEquals": {"iam:PassedToService": "iam.amazonaws.com"}
}
}
]
}

limitedaccessrole的策略,但当我尝试创建新用户时,它仍然显示

limitedaccessrole未被授权对资源执行:iam:CreateUser:arn:aws:iam::myaccnumber:user/new-user-m尝试创建

我也试过

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:sts::acc_num:role/limitedaccessrole",
"Condition": {
"StringEquals": {"iam:PassedToService": "iam.amazonaws.com"}
}
}
]
}     

这也给了我:

limitedaccessrole未被授权对资源执行:iam:CreateUser:arn:aws:iam::myaccnumber:user/new-user-m-尝试创建

简而言之,有没有一种方法可以使limitedaccessrole

  • 创建资源(新的iam用户+机密(,同时使用iam:Passrole和
  • 现有的allaccessrole(可以做任何事情(
  • AND without give";iam:CreateUser";对CCD_ 8的许可

感谢您的意见
编辑:我想我对IAM Passrole的作用有一个困惑的理解。当您希望某个服务具有与指定角色相同的权限时,似乎要使用iam-passrole,但当您希望一个角色具有另一个角色的权限时则不使用。

您想要使用sts:AssumeRole权限来实现您想要实现的目标。

其工作流程如下:

  • 资源A具有角色A。角色A具有sts:AssumeRole权限,允许其承担角色B
  • 资源A执行sts:AssumeRole以承担角色B。返回IAM密钥、密钥和会话ID
  • Resource使用SDK/CLI执行交互,具体指定返回的三个值

总之,当您担任某个角色时,您将使用返回的凭据来充当该角色。这不是自动的,你可以支持很多角色。

相关内容

  • 没有找到相关文章

最新更新