AssumeRole доверенные сущности для указанной c лямбда-функции - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть лямбда, которой нужно довольно много разрешений, потому что она автоматически убивает временные ресурсы, поэтому я назначил управляемую политику AdministratorAccess. Что я хочу сделать, так это ограничить эту роль только тем, что предполагается, что она является специфической c лямбда-функцией. Я попытался установить условие для sts:AssumeRole, но при попытке назначить эту роль лямбде я получаю сообщение об ошибке:

Ваша роль не готова или не может быть принята лямбдой. Пожалуйста, подождите до минуты и попробуйте снова.

Возможно, уместно; CF-стек лямбды и роли развертывается с помощью CodePipeline, в котором используется роль CICD-Pipeline. Кто-нибудь делал это? Это то, что я до сих пор:

  LambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: common-delete-stack-Role
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: [lambda.amazonaws.com]
            Action: [sts:AssumeRole]
            Condition:
              StringEquals:
                aws:SourceArn: !Sub arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:common-delete-stack
      ManagedPolicyArns: [arn:aws:iam::aws:policy/AdministratorAccess]

Я также пробовал это условие с тем же результатом.

StringEquals:
  lambda:FunctionArn: !Sub arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:common-delete-stack
...