버킷 정책에서 kms 키 별칭을 사용하려고 합니다.

버킷 정책에서 kms 키 별칭을 사용하려고 합니다.

다음 버킷 정책을 사용하고 있습니다.

{ "버전": "2012-10-17", "Id": "Policy1566337631537", "Statement": [ { "Sid": "Stmt156", "Effect": "거부", "Principal": "", "Action": "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 alias/ExampleAlias

key-id arn을 사용하면 정책이 작동합니다. 버킷 정책에서 키 별칭을 사용할 수 없나요?

감사해요

답변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

관련 정보