Kinesis Video Streams 中的資料保護 - Amazon Kinesis Video Streams

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

Kinesis Video Streams 中的資料保護

您可以使用 (SSE) 金鑰來使用伺服器端加密 AWS Key Management Service (AWS KMS),透過在 Amazon Kinesis Video Streams 中加密靜態資料來滿足嚴格的資料管理需求。

什麼是 Kinesis Video Streams 的伺服器端加密?

伺服器端加密是 Kinesis Video Streams 中的一項功能,其會在使用 AWS KMS 您指定的金鑰存放靜態資料之前自動加密資料。資料會在寫入 Kinesis Video Streams 串流儲存層之前加密,並在從儲存體擷取後解密。因此,您的資料一律會在 Kinesis Video Streams 服務內進行靜態加密。

透過伺服器端加密,Kinesis 影片串流生產者和消費者不需要管理KMS金鑰或密碼編譯操作。如果啟用資料保留,您的資料會在進入和離開 Kinesis Video Streams 時自動加密,因此靜態資料會加密。 AWS KMS 提供伺服器端加密功能所使用的所有金鑰。 會 AWS KMS 簡化 Kinesis Video Streams 的KMS金鑰使用 AWS,該金鑰是由使用者指定的 AWS KMS 金鑰匯入 AWS KMS 服務。

成本、區域和效能考量

當您套用伺服器端加密時,會需要 AWS KMS API支付用量和金鑰成本。與自訂 AWS KMS 金鑰不同,(Default) aws/kinesis-videoKMS金鑰是免費提供的。不過,您仍必須支付 Kinesis Video Streams 代表您產生的API使用成本。

API 使用成本適用於每個KMS金鑰,包括自訂金鑰。 AWS KMS 成本會隨著您在資料生產者和消費者上使用的使用者登入資料數量而擴展,因為每個使用者登入資料都需要唯一的API呼叫 AWS KMS。

以下依據資源說明各項成本:

  • 由 管理的 Kinesis Video Streams KMS金鑰 AWS (別名 = aws/kinesis-video) 無需付費。

  • 使用者產生的KMS金鑰會 AWS KMS key 收取費用。如需詳細資訊,請參閱 AWS Key Management Service 定價

AWS KMS API 用量

API 請求產生新的資料加密金鑰或擷取現有的加密金鑰會隨著流量增加而增加,並需支付 AWS KMS 使用成本。如需詳細資訊,請參閱AWS Key Management Service 定價:用量

即使保留設為 0 (無保留),Kinesis Video Streams 也會產生金鑰請求。

區域伺服器端加密的可用性

Kinesis 影片串流的伺服器端加密可在 AWS 區域 Kinesis Video Streams 提供的所有 中使用。

如何開始使用伺服器端加密?

Kinesis Video Streams 一律啟用伺服器端加密。如果建立串流時未指定使用者提供的金鑰,則會使用 AWS 受管金鑰 (由 Kinesis Video Streams 提供)。

使用者提供的KMS金鑰必須在建立時指派給 Kinesis 影片串流。您無法使用UpdateStreamAPI稍後的 將不同的金鑰指派給串流。

您可以透過兩種方式將使用者提供的KMS金鑰指派給 Kinesis 影片串流:

  • 在 中建立 Kinesis 影片串流時 AWS Management Console,請在建立新的影片串流頁面上的加密索引標籤中指定KMS金鑰。

  • 使用 CreateStream 建立 Kinesis 影片串流時API,請在 KmsKeyId 參數中指定金鑰 ID。

建立和使用客戶受管金鑰

本節說明如何建立和使用您自己的KMS金鑰,而不是使用 Amazon Kinesis Video Streams 管理的金鑰。

建立客戶受管金鑰

如需如何建立自己的金鑰的詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的建立金鑰。為您的帳戶建立金鑰後,Kinesis Video Streams 服務會在客戶受管金鑰清單中傳回這些金鑰

使用客戶受管金鑰

在將正確的許可套用至您的消費者、生產者和管理員之後,您可以在自己的 AWS 帳戶 或其他 中使用自訂KMS金鑰 AWS 帳戶。您帳戶中的所有KMS金鑰都會出現在 主控台上的客戶受管金鑰清單中。

若要使用位於另一個 帳戶中的自訂KMS金鑰,您必須具有使用這些金鑰的許可。您還必須使用 CreateStream 建立串流API。您無法在主控台中建立的串流中使用來自不同帳戶的KMS金鑰。

注意

在執行 PutMediaGetMedia操作之前,不會存取KMS金鑰。如此會產生下列結果:

  • 如果您指定的金鑰不存在,CreateStream操作會成功,但串流上的 PutMediaGetMedia操作會失敗。

  • 如果您使用提供的金鑰 (aws/kinesis-video),在執行第一個 PutMediaGetMedia操作之前, 金鑰不會出現在您的帳戶中。

使用客戶受管金鑰的許可

您必須先設定KMS金鑰政策以允許加密串流,以及加密和解密串流記錄,才能搭配客戶受管金鑰使用伺服器端加密。如需 AWS KMS 許可的範例和詳細資訊,請參閱AWS KMS API許可:動作和資源參考

注意

使用預設服務金鑰進行加密不需要套用自訂IAM許可。

在使用客戶受管金鑰之前,請確認您的 Kinesis 影片串流生產者和消費者 (IAM主體) 是 AWS KMS 預設金鑰政策中的使用者。否則串流的寫入及讀取將會失敗,最終可能造成資料遺失、延遲處理或應用程式故障。您可使用 IAM 政策管理 KMS 金鑰的許可。如需詳細資訊,請參閱搭配 使用IAM政策 AWS KMS

範例生產者許可

您的 Kinesis 影片串流生產者必須具備 kms:GenerateDataKey許可:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kinesis-video:PutMedia", ], "Resource": "arn:aws:kinesis-video:*:123456789012:MyStream" } ] }

消費者許可範例

您的 Kinesis 影片串流取用者必須具備 kms:Decrypt許可:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kinesis-video:GetMedia", ], "Resource": "arn:aws:kinesis-video:*:123456789012:MyStream" } ] }