Как исправить не разрешено выполнять: Dynamodb: Ошибка сканирования - PullRequest
0 голосов
/ 04 октября 2018

Я получаю следующую ошибку при попытке использовать динамическое сканирование:

"errorMessage": "Произошла ошибка (AccessDeniedException) при вызове операции сканирования: Пользователь: arn: aws: sts ::747857903140: предполагаемая роль / CodeStarWorker-helpbot-Lambda / awscodestar-helpbot-lambda-FindService-1L7IH17742JLR не авторизован для выполнения: dynamodb: сканирование на ресурсе: arn: aws: динамодат: us-east-1: 74785790B40: таблица"

Это в моем шаблоне SAM:

FindService:
    Type: AWS::Serverless::Function
    Properties:
      Handler: find_service.handler
      Runtime: python3.6
      Role:
        Fn::ImportValue:
          !Join ['-', [!Ref 'ProjectId', !Ref 'AWS::Region', 'LambdaTrustRole']]
      Policies:
        - AmazonDynamoDBFullAccess

Что я могу сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 04 октября 2018

В соответствии с этим документом SAM CloudFormation :

Политики - имена политик IAM, управляемых AWS, или документов политики IAM или шаблонов политик SAM, которые необходимы для этой функции и которые следует добавитьк роли по умолчанию для этой функции. Если свойство Role установлено, это свойство не имеет значения.

Вам необходимо либо определить роль для функции, которая включает обе группы разрешений, и использовать ее как«Роль» или добавьте разрешения LambdaTrustRole в «Политики».

Последний будет выглядеть примерно так:

  Policies:
    Version: '2012-10-17'
    Statement:
    - Effect: Allow
      Action:
      - dynamodb:Scan
      Resource: arn:aws:dynamodb:region:account-id:table/table-name
    - Effect: Allow
      Action:
      - ...
      Resource: ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...