#amazon-web-services #aws-lambda #amazon-iam #serverless #aws-sam
#amazon-веб-сервисы #aws-лямбда #amazon-iam #бессерверный #aws-sam
Вопрос:
В настоящее время я пытаюсь добавить оба шаблона политики AWS SAM KMSDecryptPolicy
amp; KMSEnecryptPolicy
в свой конфигурационный yml, но ключ KMS находится в другой учетной записи, и для этого мне потребуется перекрестный доступ к учетной записи.
Однако при использовании вышеупомянутых шаблонов политики я могу передавать только KeyId
, а не номер учетной записи AWS, который является переменной-заполнителем.
Я пытаюсь сделать это, используя шаблоны политик AWS SAM.
Был бы признателен за любую поддержку в этом вопросе.
Это пример того, как выглядит моя текущая политика.
Policies:
- arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole
- DynamoDBCrudPolicy:
TableName: !Ref InvoiceFeaturesTable
- S3CrudPolicy:
BucketName: !Ref InvoiceFeaturesBucket
пример кода
Ответ №1:
Оба KMSDecryptPolicy
и KMSEnecryptPolicy
использует ${AWS::AccountId}
, который по умолчанию используется для текущей учетной записи AWS, и вы не можете переопределить его с помощью шаблонов политик. Вы можете передать ТОЛЬКО KeyId
: Ссылку
Что вы можете просто сделать, это скопировать шаблон политики в свой шаблон SAM в качестве встроенной политики и изменить его по мере необходимости. Ссылка
Комментарии:
1. Спасибо Pubudu! Я так и подозревал.