Возможно ли переопределить переменные-заполнители шаблона политики AWS SAM

#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! Я так и подозревал.