使用服务器端加密的 Amazon S3 桶 - FSx为了光泽

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用服务器端加密的 Amazon S3 桶

FSxfor Lustre 支持 Amazon S3 存储桶,该存储桶使用服务器端加密,使用 S3 托管密钥 (SSE-S3) 和存储在 (-) 中。 AWS KMS keys AWS Key Management Service 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/*" } } }
注意

如果您使用KMS带的,在启用了 S3 存储桶密钥的情况下加密您的 S3 存储桶,EncryptionContext请将设置为存储桶ARN,而不是对象ARN,如下例所示:CMK

"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/*" } } }

访问服务器端加密的 Amazon S3 存储桶(使用不同的存储桶 AWS 账户 或共享存储桶)VPC

创建链接到加密的 Amazon S3 存储桶的 for Lustre 文件系统后,必须向AWSServiceRoleForFSxS3Access_fs-01234567890服务相关角色 (SLR) 授予访问用于加密 S3 存储桶的KMS密钥的权限,然后才能从链接的 S3 存储桶读取或写入数据。FSx您可以使用已经拥有KMS密钥权限的IAM角色。

注意

此IAM角色必须位于创建 for Lustre 文件系统的账户(与 S3 的账户相同SLR)中,而不是KMS密钥/S3 存储桶所属的账户中。FSx

您可以使用该IAM角色调用以下命令 AWS KMS API为 S3 创建授权,SLR以便SLR获得对 S3 对象的权限。要查找与您的ARN关联IAM角色SLR,请使用您的文件系统 ID 作为搜索字符串来搜索您的角色。

$ aws kms create-grant --region fs_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 的服务相关角色