Я пытаюсь использовать псевдоним ключа kms в политике контейнера

Я пытаюсь использовать псевдоним ключа kms в политике контейнера

Я использую следующую политику сегментации:

{ "Версия": "2012-10-17", "Идентификатор": "Policy1566337631537", "Заявление": [ { "Сид": "Stmt156", "Эффект": "Отклонить", "Основной": "", "Действие": "s3:PutObject", "Ресурс": "arn:aws:s3:::jmalacho-test-bucket23/*", "Условие": { "StringNotEquals": { "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-2:123456789012:alias/ExampleAlias" } } } ] }

Затем при попытке загрузить файл с помощью CLI я получаю ошибку «Отказано в доступе».

aws s3 cp notes.txt s3://jmalacho-test-bucket23/notes.txt --sse aws:kms --sse-kms-key-id псевдоним/ExampleAlias

Если я использую key-id arn, политика работает. Разве нельзя использовать key-alias в политике bucket?

Спасибо

решение1

Документация предполагает, что это невозможно.

Amazon S3 также поддерживает s3:x-amz-server-side-encryption-aws-kms-key-idключ условия, который можно использовать для требования определенного ключа KMS для шифрования объектов. Ключ KMS, который вы указываете в политике, должен использовать формат arn:aws:kms:region:acct-id:key/key-id.

https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html

Псевдоним не будет соответствовать концепции требования «определенного ключа KMS», упомянутой выше, поскольку псевдоним не ссылается на определенный ключ, за исключением временных случаев, когда псевдоним указывает на ключ.

Также:

Использовать псевдоним в качестве значения параметра KeyId можно только в следующих операциях:

  • DescribeKey

  • Encrypt

  • GenerateDataKey

  • GenerateDataKeyWithoutPlaintext

  • ReEncrypt

https://docs.aws.amazon.com/kms/latest/developerguide/programming-aliases.html

Связанный контент