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

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

Kinesis Video Streams 中的資料保護

您可以使用 () 金鑰使用伺服器端加密 AWS Key Management Service (SSE 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,而該 Kinesis Video Streams 由匯入服務的使用者指定金 AWS KMS 鑰所管理。 AWS KMS

成本、區域和效能考量

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

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

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

  • 由 AWS (別名 =aws/kinesis-video) 管理的 Kinesis Video Streams 的 KMS 金鑰不收取任何費用。

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

AWS KMS API 使用情況

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

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

依區域提供伺服器端加密

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

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

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

建立 Kinesis 視訊串流時,必須將使用者提供的 KMS 金鑰指派給該金鑰。您之後無法使用 UpdateStreamAPI 將不同的金鑰指派給串流。

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

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

  • 使用 CreateStreamAPI 建立 Kinesis 視訊串流時,請在KmsKeyId參數中指定金鑰識別碼。

建立和使用客戶管理的金鑰

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

建立客戶管理的金鑰

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

使用客戶管理的金鑰

將正確的權限套用至您的取用者、生產者和管理員之後,您可以在自己的 AWS 帳戶 或其他人中使用自訂 KMS 金鑰 AWS 帳戶。您帳戶中的所有 KMS 金鑰都會顯示在主控台的「客戶管理金鑰」清單中。

若要使用位於其他帳戶的自訂 KMS 金鑰,您必須擁有使用這些金鑰的權限。您也必須使用 CreateStream API 建立串流。您無法在主控台中建立的串流中使用來自不同帳戶的 KMS 金鑰。

注意

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

  • 如果您指定的索引鍵不存在,CreateStream作業會成功,但串流上PutMedia的作GetMedia業會失敗。

  • 如果您使用提供的 key (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" } ] }