Me gustaría usar los parámetros de SSM en las variables sin servidor .
Siguiendo los documentos, ejecuté este comando:
aws ssm put-parameter --name foo --value bar --type SecureString Y agregué esto a mi serverless.yml :
custom: foo: ${ssm:foo}Sin embargo, cuando implemento, recibo esta advertencia:
Serverless Warning -------------------------------------- A valid SSM parameter to satisfy the declaration 'ssm:foo' could not be found.¿Cómo accedo a esta variable? ¡Gracias!
Necesitaba establecer la misma región tanto para la función sin servidor como para la asignación de variables ssm:
aws ssm put-parameter --name foo--value bar --type SecureString --region us-east-1si el parámetro es SecureString, debe agregar ~true después de la ruta al parámetro en el archivo serverless.yml, como se explica aquí: https://serverless.com/framework/docs/providers/aws/guide/variables# variables-de-referencia-utilizando-el-almacenamiento-de-parámetros-ssm
Esto le indicará al marco que descifre el valor. Asegúrese de tener permisos para usar la clave utilizada para cifrar el parámetro.
Verifique su política de IAM. Para obtener los parámetros, el usuario que realiza la implementación necesita acceso a SSM. Esto ofrece acceso completo. Consulte los documentos para reducirlo un poco (es decir, GetParameters, GetParameter).
"Effect": "Allow", "Action": [ "ssm:*" ], "Resource": [ "*" ]