Amazon web services AWS IAM-仅允许用户为服务创建角色

Amazon web services AWS IAM-仅允许用户为服务创建角色,amazon-web-services,amazon-iam,Amazon Web Services,Amazon Iam,我正在处理一个应用程序,我正在为一个问题而挣扎。我的应用程序有Lambdas和DynamoDBs服务,前者需要权限才能调用后者。我用PrincipalequalsService:lambda.amazonaws.com创建一个角色来解决这个问题 我想让其他开发人员也可以创建角色,这种方式允许开发人员只创建其主体是服务或联邦的角色,并拒绝其主体是用户或帐户 例如,允许此角色: Type: AWS::IAM::Role Properties: AssumeRolePoli

我正在处理一个应用程序,我正在为一个问题而挣扎。我的应用程序有Lambdas和DynamoDBs服务,前者需要权限才能调用后者。我用
Principal
equals
Service:lambda.amazonaws.com
创建一个角色来解决这个问题

我想让其他开发人员也可以创建角色,这种方式允许开发人员只创建其主体是服务或联邦的角色,并拒绝其主体是用户或帐户

例如,允许此角色:

    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Federated: cognito-identity.amazonaws.com
            Action:
              - sts:AssumeRoleWithWebIdentity
      Path: ...
      Policies: ...
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Action: sts:AssumeRole
            Principal:
              AWS: arn:aws:iam::<accountid>:user/<username>
      Path: ...
      Policies: ...
这是不允许的:

    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Federated: cognito-identity.amazonaws.com
            Action:
              - sts:AssumeRoleWithWebIdentity
      Path: ...
      Policies: ...
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Action: sts:AssumeRole
            Principal:
              AWS: arn:aws:iam::<accountid>:user/<username>
      Path: ...
      Policies: ...
类型:AWS::IAM::角色
特性:
假设政策文件:
版本:2012-10-17
声明:
-效果:允许
行动:sts:假设角色
负责人:
AWS:arn:AWS:iam:::用户/
路径:。。。
政策:。。。
我试图达到这一点,因为用户可以创建一个具有管理员权限的角色,并假设它


另外,还有其他方法可以解决此问题吗?

我没有找到解决问题的方法,解决方法是创建具有特定路径的服务角色(例如,
/custom iam/service role/
),并允许开发人员仅传递具有此类路径的角色:

Effect: Allow
Action: iam:PassRole
Resource: 'arn:aws:iam::*:role/custom-iam/service-role/*'

你在这方面有什么进展吗?我在管理用户时也遇到同样的问题。最后,我给了他们iam:CreateRole和dev中的其他人以及PowerUserAccess@sriharsha186我没有找到我想要的解决方案,结果我像你一样使用了一个变通方法。检查我刚才添加的答案。我假设这些服务角色是由管理员用户创建的,或者是通过管理员用户创建的管道创建的。是吗?是的,只有管理员才能创建角色