Как позволить лямбде выполнять операции DynamoDB? - PullRequest
0 голосов
/ 29 июня 2019

Я думаю, что у меня довольно распространенный сценарий, но я не смог найти краткое руководство о том, как достичь своей цели. Я занимаюсь разработкой навыков Alexa и имею следующее:

Lambda function: arn:aws:lambda:us-west-2:123456789012:function:lambda1

В настоящее время Alexa Skill отлично работает, а Lambda выполняет простую задачу. Роль казни Лямбды:

arn:aws:iam::123456789012:role/service-role/lambda1-role-rp2z9bjn

Теперь я хочу добавить DynamoDB к моей лямбде (Node.js). Я создал следующее:

IAM user: arn:aws:iam::123456789012:user/user1
DynamoDB table: arn:aws:dynamodb:us-west-2:123456789012:table/T1

Как мне теперь соединить все вместе, то есть, чтобы функция Lambda выполняла операции чтения / записи на T1? Нужен ли даже пользователь IAM?

1 Ответ

3 голосов
/ 29 июня 2019

Вам не нужен пользователь IAM.

Вместо этого добавьте разрешения DynamoDB к роли IAM, используемой функцией Lambda.Например:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dynamodb:*",
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/T1"
        }
    ]
}

Лямбда-функции будет разрешено использовать таблицу.

...