서버 측 암호화된 Amazon S3 버킷 사용
FSx for Lustre는 S3 관리 키(SSE-S3)로 서버측 암호화를 사용하는 Amazon S3 버킷과 AWS Key Management Service에 저장된 AWS KMS keys(SSE-KMS)을 지원합니다.
Amazon FSx에서 S3 버킷에 데이터를 쓸 때 데이터를 암호화하도록 하려면 S3 버킷의 기본 암호화를 SSE-S3 또는 SSE-KMS로 설정해야 합니다. 자세한 내용은 Amazon S3 사용자 가이드의 기본 암호화 구성을 참조하세요. S3 버킷에 파일을 작성할 때 Amazon FSx는 S3 버킷의 기본 암호화 정책을 따릅니다.
기본적으로 Amazon FSx는 SSE-S3 방식으로 암호화된 S3 버킷을 지원합니다. Amazon FSx 파일 시스템을 SSE-KMS 암호화를 사용하여 암호화된 S3 버킷에 연결하려면 Amazon FSx가 KMS 키를 사용하여 S3 버킷의 객체를 암호화하고 해독할 수 있도록 허용하는 설명을 고객 관리형 키 정책에 추가해야 합니다.
다음 명령문은 특정 Amazon FSx 파일 시스템이 특정 S3 버킷 bucket_name
의 객체를 암호화하고 해독할 수 있도록 허용합니다.
{ "Sid": "Allow access through S3 for the FSx SLR to use the KMS key on the objects in the given S3 bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
aws_account_id
:role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/AWSServiceRoleForFSxS3Access_fsx_file_system_id
" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id
", "kms:ViaService": "s3.bucket-region
.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::bucket_name
/*" } } }
참고
CMK가 있는 KMS를 사용하여 S3 버킷 키가 활성화된 상태에서 S3 버킷을 암호화하는 경우 다음 예제와 같이 EncryptionContext
를 객체 ARN이 아닌 버킷 ARN으로 설정합니다.
"StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::
bucket_name
" }
다음 정책 설명문은 계정의 모든 Amazon FSx 파일 시스템을 특정 S3 버킷에 연결할 수 있도록 허용합니다.
{ "Sid": "Allow access through S3 for the FSx SLR to use the KMS key on the objects in the given S3 bucket", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "
aws_account_id
", "kms:ViaService": "s3.bucket-region
.amazonaws.com" }, "StringLike": { "aws:userid": "*:FSx", "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::bucket_name
/*" } } }
다른 AWS 계정 또는 공유 VPC에서 서버 측 암호화된 Amazon S3 버킷에 액세스하기
암호화된 Amazon S3 버킷에 연결된 FSx for Lustre 파일 시스템을 생성한 후에는 연결된 S3 버킷에서 데이터를 읽거나 쓰기 전에 S3 버킷을 암호화하는 데 사용되는 KMS 키에 대한 AWSServiceRoleForFSxS3Access_
서비스 연결 역할(SLR) 액세스 권한을 부여해야 합니다. KMS 키에 대한 권한이 이미 있는 IAM 역할을 사용할 수 있습니다.fs-01234567890
참고
이 IAM 역할은 KMS 키/S3 버킷이 속한 계정이 아니라 FSx for Lustre 파일 시스템이 생성된 계정(S3 SLR과 동일한 계정)에 있어야 합니다.
IAM 역할을 사용하여 다음 AWS KMS API를 호출하여 S3 SLR에 대한 권한을 생성하여 SLR이 S3 객체에 대한 권한을 얻도록 합니다. SLR과 연결된 ARN을 찾으려면 파일 시스템 ID를 검색 문자열로 사용하여 IAM 역할을 검색하세요.
$
aws kms create-grant --regionfs_account_region
\ --key-id arn:aws:kms:s3_bucket_account_region
:s3_bucket_account
:key/key_id
\ --grantee-principal arn:aws:iam::fs_account_id
:role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/AWSServiceRoleForFSxS3Access_file-system-id
\ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
서비스 연결 역할에 대한 자세한 내용은 Amazon FSx에 대해 서비스 연결 역할 사용 섹션을 참조하세요.