

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在資料表儲存貯體中使用伺服器端加密與 AWS KMS 金鑰 (SSE-KMS)
<a name="s3-tables-kms-encryption"></a>

**Topics**
+ [如何將 SSE-KMS 用於資料表和資料表儲存貯體](#kms-tables-how)
+ [針對資料表和資料表儲存貯體強制執行和調整 SSE-KMS 使用範圍](tables-require-kms.md)
+ [監控和稽核資料表和資料表儲存貯體的 SSE-KMS 加密](#kms-tables-audit)
+ [S3 Tables SSE-KMS 加密的許可要求](s3-tables-kms-permissions.md)
+ [在資料表儲存貯體中使用 AWS KMS 金鑰 (SSE-KMS) 指定伺服器端加密](s3-tables-kms-specify.md)

資料表儲存貯體具有預設加密組態，該組態使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密，以自動對資料表進行加密。此加密免費適用於 S3 資料表儲存貯體中的所有資料表。

如果您需要對加密金鑰進行更多控制，例如管理金鑰輪換和存取政策授予，您可以將資料表儲存貯體設定為使用伺服器端加密搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS)。中的安全控制 AWS KMS 可協助您符合加密相關的合規要求。如需 SSE-KMS 的詳細資訊，請參閱「[搭配 AWS KMS 金鑰使用伺服器端加密 (SSE-KMS)](UsingKMSEncryption.md)」。

## 如何將 SSE-KMS 用於資料表和資料表儲存貯體
<a name="kms-tables-how"></a>

具資料表儲存貯體的 SSE-KMS 與一般用途儲存貯體中的 SSE-KMS 不同，如下所示：
+ 您可以指定用於資料表儲存貯體和個別資料表的加密設定。
+ 您僅能將客戶受管金鑰與不支援的 SSE-KMS. AWS managed 金鑰搭配使用。
+ 您必須授予特定角色 AWS 和服務主體存取 AWS KMS 金鑰的許可。如需詳細資訊，請參閱[S3 Tables SSE-KMS 加密的許可要求](s3-tables-kms-permissions.md)。這包括將存取權授予：
  + S3 維護主體 – 用於對加密的資料表執行資料表維護
  + 您的 S3 Tables 整合角色 – 用於在 AWS 分析服務中使用加密的資料表
  + 您的用戶端存取角色 – 用於從 Apache Iceberg 用戶端直接存取加密的資料表
  + S3 Metadata 主體 – 用於更新加密的 S3 Metadata 資料表
+ 加密的資料表使用資料表層級金鑰，可將對 提出的請求數量降至最低 AWS KMS ，讓使用 SSE-KMS 加密的資料表更具成本效益。

**資料表儲存貯體的 SSE-KMS 加密**  
建立資料表儲存貯體時，您可以選擇 SSE-KMS 做為預設加密類型，然後選取將用於加密的特定 KMS 金鑰。在該儲存貯體中建立的任何資料表，都會自動從其資料表儲存貯體繼承這些加密設定。您可以隨時使用 AWS CLI、S3 API 或 AWS SDKs 來修改或移除資料表儲存貯體上的預設加密設定。當您修改資料表儲存貯體上的加密設定時，這些設定僅適用於在該儲存貯體中建立的新資料表。預先存在資料表的加密設定不會變更。如需詳細資訊，請參閱[指定資料表儲存貯體的加密](s3-tables-kms-specify.md#specify-kms-table-bucket)。

**資料表的 SSE-KMS 加密**  
您也可以選擇使用不同的 KMS 金鑰來加密個別資料表，無論儲存貯體的預設加密組態為何。若要設定個別資料表的加密，您必須在建立資料表時，指定所需的加密金鑰。如果您想要變更現有資料表的加密，您需要使用所需的金鑰建立資料表，並將資料從舊資料表複製到新資料表。如需詳細資訊，請參閱[指定資料表加密](s3-tables-kms-specify.md#specify-kms-table)。

使用 AWS KMS 加密時，S3 Tables 會自動建立唯一的資料表層級資料金鑰，以加密與每個資料表相關聯的新物件。這些金鑰在有限的期間內使用，在加密操作期間將額外 AWS KMS 請求的需求降至最低，並降低加密成本。此類似於 [適用於 SSE-KMS 的 S3 儲存貯體金鑰](bucket-key.md#bucket-key-overview)。

## 監控和稽核資料表和資料表儲存貯體的 SSE-KMS 加密
<a name="kms-tables-audit"></a>

若要稽核 SSE-KMS 加密資料的 AWS KMS 金鑰使用情況，您可以使用 AWS CloudTrail 日誌。您可以深入了解[密碼編譯操作](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations)，例如 `GenerateDataKey` 和 `Decrypt`。CloudTrail 支援多種[屬性值](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html)來篩選搜尋，包括事件名稱、使用者名稱和事件來源。

您可以使用 CloudTrail 事件追蹤 Amazon S3 Tables 和資料表儲存貯體的加密組態請求。CloudTrail 日誌使用下列 API 事件名稱：
+ `s3tables:PutTableBucketEncryption`
+ `s3tables:GetTableBucketEncryption`
+ `s3tables:DeleteTableBucketEncryption`
+ `s3tables:GetTableEncryption`
+ `s3tables:CreateTable`
+ `s3tables:CreateTableBucket`

**注意**  
資料表儲存貯體不支援 EventBridge。