Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
对表和表存储桶强制使用 SSE-KMS 并确定其范围
您可以使用 S3 表类数据存储服务基于资源的策略、KMS 密钥策略、基于 IAM 身份的策略或这些策略的任意组合,来强制对 S3 表和表存储桶使用 SSE-KMS。有关表的身份和资源策略的更多信息,请参阅 S3 表类数据存储服务的访问管理。有关编写密钥策略的信息,请参阅《Amazon Key Management Service Developer Guide》中的 Key policies。以下示例说明如何使用策略来强制执行 SSE-KMS。
这是表存储桶策略的示例,该策略禁止用户在特定的表存储桶中创建表,除非他们使用特定 Amazon KMS 密钥对表进行加密。要使用此策略,请将用户输入占位符
替换为您自己的信息:
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EnforceKMSEncryption",
"Effect": "Deny",
"Principal": "*",
"Action": [
"s3tables:CreateTable"
],
"Resource": [
"arn:aws:s3tables:us-west-2:111122223333:bucket/example-table-bucket
/*"
],
"Condition": {
"StringNotEquals": {
"s3tables:sseAlgorithm": "aws:kms",
"s3tables:kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
"
}
}
}
]
}
此 IAM 身份策略要求用户在创建或配置 S3 表类数据存储服务资源时使用特定的 Amazon KMS 密钥进行加密。要使用此策略,请将用户输入占位符
替换为您自己的信息:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RequireKMSKeyOnTables",
"Action": [
"s3tables:CreateTableBucket",
"s3tables:PutTableBucketEncryption",
"s3tables:CreateTable"
]
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"s3tables:sseAlgorithm": "aws:kms",
"s3tables:kmsKeyArn": "<key_arn>
"
}
}
}
]
}
此示例 KMS 密钥策略仅让特定用户将密钥用于特定表存储桶中的加密操作。这种类型的策略对于在跨账户场景中限制对密钥的访问非常有用。要使用此策略,请将用户输入占位符
替换为您自己的信息:
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Id",
"Statement": [
{
"Sid": "AllowPermissionsToKMS",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333
:root"
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringLike": {
"kms:EncryptionContext:aws:s3:arn": "<table-bucket-arn>
/*"
}
}
}
]
}