Я использую серверную среду для развертывания и программирования своей лямбда-функции aws, и поскольку моя функция готова к работе, мне нужно удалить чувствительные ключи и я решил использовать системный менеджер aws (хранилище параметров ssm), чтобы использовать эти ключи вбезопасным образом, но при развертывании я получаю следующее сообщение об ошибке, связанное с использованием этих ключей. Я подумал, что это может быть что-то, связанное с ролью Iam, которую я вручную связал с лямбдой, но я не уверен, что с ней будет.
Ошибка:
Serverless Information ----------------------------------
##########################################################################################
# 47555: 0 of 2 promises have settled
# 47555: 2 unsettled promises:
# 47555: ssm:mg-production-domain~true waited on by: undefined
# 47555: ssm:mg-production-api-key~true waited on by: undefined
# This can result from latent connections but may represent a cyclic variable dependency
##########################################################################################
YAML:
provider:
name: aws
runtime: nodejs10.x
stage: dev
region: us-east-1
environment:
MG_PRODUCTION_DOMAIN: ${ssm:mg-production-domain~true}
MG_PRODUCTION_API_KEY: ${ssm:mg-production-api-key~true}
Вот политика Iam Role, которую я добавил в lambda, но я думаю, что, вероятно, есть лучший способ сделать это, добавив Iam Role через файл YAML:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "ssm:DescribeParameters",
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "ssm:GetParameters",
"Resource": "arn:aws:ssm:us-east-1:*account-id*:parameter/*"
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": "ssm:GetParameter",
"Resource": "arn:aws:ssm:us-east-1:*account-id*:parameter/*"
}
]
}