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



我正在研究一个应用程序,我正在为问题而苦苦挣扎。我的应用程序具有Lambdas和Dynamodbs服务,前者需要在其中拨打后者的权限。我解决了使用Principal等于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: ...

我试图达到这一目标,因为用户可以使用Admin Access创建角色并假设。

另外,是否有另一种方法可以解决此问题?

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

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

相关内容

  • 没有找到相关文章