AWS KMS 설정을 사용하여 server side encryption을 사용하여 객체를 S3에 업로드하려고합니다.CLI를 사용하는 AWS S3 서버 측 암호화
설명서에 업로드 된 개체가 암호화되어야한다고 나와 있습니다.
I 설치 KMS 마스터 키와서버 측 암호화 나머지-IS에서 데이터 암호화에 관한 것입니다, 아마존 S3는 데이터 센터에 디스크에 기록으로 개체 수준에서 데이터를 암호화하고 당신이 그것을 액세스 할 때 당신을 위해 그것을 해독 .
aws s3api put-object --bucket test --key keys/test.txt --server-side-encryption aws:kms --ssekms-key-id <my_master_Key_id> --body test.txt
업로드가 성공적으로 다음과 같은 방법으로 객체를 업로드 CLI를 사용하려고 시도를했습니다 나는
{
"SSEKMSKeyId": "arn:aws:kms:eu-central-1:<id>:key/<my_master_key>",
"ETag": "\"a4f4fdf078bdd5df758bf81b2d9bc94d\"",
"ServerSideEncryption": "aws:kms"
}
또한 다음과 같은 응답을 참조 S3에서 파일을 검사 할 때 세부적인 내용은 올바른 마스터 키가있는 서버 쪽에서 암호화 된 것입니다.
KMS 마스터 키를 사용할 수있는 권한이없는 사용자가 파일을 다운로드 할 때 암호화해야 할 때 문제없이 파일을 열고 읽을 수 있습니다.
참고 : PutObject 정책은 서버 측 암호화없이 모든 업로드를 거부하므로 정상적으로 작동합니다.
내가 서버 측 암호화를 잘못 이해했는지 또는 잘못된 것이 있습니까? 어떤 도움을 주셔서 감사합니다.
어떻게 개체를 검색하나요? kms 키를 제공하지 않으면 요청이 실패해야합니다. 버킷 내의 모든 객체가 암호화되어 있으면 매개 변수 머리글없이 GetObject를 거부하는 버킷 정책을 만들 수 있지만 암호화 된 것으로 표시된 객체에 대해서는 자동으로 수행해야합니다. –
@ FrédéricHenri CLI get-object를 사용하려고합니다. 또한 다운로드 할 수 있었던 두 경우 모두에서 AWS S3 콘솔에서 직접 시도했습니다. 나는 PutObject 정책을 가지고 있지만 얻을 수는 없다. get을 위해서도 추가하려고 시도하는 것이 좋다. – vtor
@ FrédéricHenri 개체를 다운로드하기 위해 키가 필요한 곳에 문서를 보여줄 수 있습니까? 요청이 실패해야한다고 말하지만 그것이 옳다고 생각하지 않습니다. 서버 측 암호화는 S3 서비스 내의 일부 디스크 볼륨에 저장된 데이터 만 암호화한다고 생각합니다. S3는 개체를 다운로드 할 때 자동으로 암호화를 해제합니다. –