Tablestore は保存データの暗号化を提供します。テーブルを作成する際に暗号化方式を設定することで、データセキュリティを確保できます。
背景情報
Key Management Service (KMS) は、キー管理とデータ暗号化、および安全な認証情報管理のためのワンストップ プラットフォームです。シンプルで信頼性が高く、安全でコンプライアンスに準拠したデータ暗号化保護と認証情報管理機能を提供します。 KMS は、暗号化インフラストラクチャ、データ暗号化プロダクト、およびシークレット管理プロダクトの調達、運用および保守 (O&M)、研究開発 (R&D) のコストを削減するのに役立ちます。これにより、ビジネスの開発に集中できます。
Tablestore は、Key Management Service (KMS) キー暗号化と Bring Your Own Key (BYOK) 暗号化の 2 つの暗号化方式を提供します。どちらの方式でも、暗号化キーは KMS から取得する必要があります。要件に基づいて暗号化方式を選択してください。
KMS キー暗号化: KMS デフォルトキーのマスターキーを使用してサービスキーを生成し、データを暗号化します。データの読み取り時には自動的に復号されます。この暗号化方式を使用する場合、KMS インスタンスを購入または作成する必要はありません。
BYOK 暗号化: KMS で作成およびホストするカスタマーマスターキー (CMK) を使用してデータを暗号化します。この方式を使用する前に、KMS コンソールで CMK を作成し、Tablestore サービスが偽装するための暗号化および復号権限を持つ RAM ロールを作成する必要があります。
使用上の注意
データ暗号化機能は、テーブルの作成時にのみ有効化および設定できます。テーブルの作成後、暗号化機能を無効にすることはできません。注意して進めてください。
データ暗号化機能は、現在、次のリージョンでサポートされています。中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深セン)、中国 (香港)、日本 (東京)、シンガポール、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、英国 (ロンドン)、米国 (シリコンバレー)、米国 (バージニア)。
暗号化方式
KMS キー暗号化
KMS キーを使用してデータを暗号化する場合は、KMS インスタンスを購入または作成する必要はありません。 Tablestore コンソールでテーブルを作成するときに、暗号化スイッチをオンにして、暗号化タイプとして kms service master key を選択するだけです。
Tablestore 管理コンソール にログオンします。
ページ上部で、リージョンを選択します。
[概要] ページで、インスタンス名をクリックするか、[アクション] 列の [インスタンスの管理] をクリックします。
[インスタンスの詳細] タブで、[テーブルの作成] をクリックします。
[テーブルの作成] ダイアログボックスで、テーブルパラメータを設定します。
テーブル名を入力し、プライマリキーを設定します。
[暗号化] スイッチをオンにし、[暗号化タイプ] で [Kms サービスマスターキー] を選択します。

[作成] をクリックします。
テーブルの作成後、テーブル名をクリックし、[基本情報] タブの [基本情報] セクションにある [暗号化] フィールドを確認して、データ暗号化機能が有効になっているかどうかを確認できます。

BYOK 暗号化
BYOK 方式を使用してデータを暗号化する場合は、テーブルを作成する前にキー ID と RAM ロール ARN を取得する必要があります。
キー ID: Tablestore はこのキーを使用してデータを暗号化および復号します。
Key Management Service コンソール にログオンします。
左側のナビゲーションウィンドウで [キー] をクリックし、カスタマーマスターキーリストからキーを選択して、キー ID をコピーします。新しいソフトウェア保護キーを作成することもできます。詳細については、「ソフトウェア保護キーを作成する」をご参照ください。

RAM ロール ARN: Tablestore は RAM ロールを偽装することで Key Management Service を呼び出してデータを暗号化および復号します。 RAM ロールを作成し、権限を付与する必要があります。
RAM ロールを作成します。
Resource Access Management コンソール にログオンします。
をクリックし、[ロール] セクションで [ロールの作成] をクリックします。
信頼できるエンティティタイプとして [Alibaba Cloud サービス] を選択し、信頼できるサービス名として [Tablestore/OTS] を選択します。 [OK] をクリックします。

[ロールの作成] ダイアログボックスで、[ロール名] (例: TablestoreBYOK) を入力し、[OK] をクリックします。プロンプトに従って検証を完了し、ロールを作成します。
カスタム RAM ポリシーを作成します。
Resource Access Management コンソール にログオンします。
をクリックし、[ポリシー] セクションで [ポリシーの作成] をクリックします。
[スクリプト] を選択し、次のスクリプトコンテンツを入力して、[OK] をクリックします。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", // 復号 "kms:GenerateDataKey" // データキーの生成 ], "Resource": [ "*" ] } ] }[ポリシーの作成] ダイアログボックスで、[ポリシー名] (例: TablestoreBYOKPolicy) を入力し、[OK] をクリックします。
カスタムポリシーを RAM ロールに付与します。
Resource Access Management コンソール にログオンします。
をクリックし、ロールリストの [アクション] 列で [権限の追加] をクリックします。
[権限の追加] タブの [ポリシー] セクションで、ポリシー名を入力して検索し、カスタムポリシーを選択して、[OK] をクリックして権限付与を完了します。

RAM ロールの ARN を取得します。
Resource Access Management コンソール にログオンします。
をクリックし、ロールリストでロール名をクリックします。
[基本情報] セクションから ARN をコピーします。

キー ID と RAM ロール ARN を取得したら、Tablestore コンソールでテーブルを作成し、BYOK 方式を使用して暗号化できます。
Tablestore 管理コンソール にログオンします。
ページ上部で、リージョンを選択します。
[概要] ページで、インスタンス名をクリックするか、[アクション] 列の [インスタンスの管理] をクリックします。
[インスタンスの詳細] タブで、[テーブルの作成] をクリックします。
[テーブルの作成] ダイアログボックスで、テーブルパラメータを設定します。
テーブル名を入力し、プライマリキーを設定します。
[暗号化] スイッチをオンにし、[暗号化タイプ] で [BYOK カスタムキー] を選択し、キー ID と ARN を入力します。

[作成] をクリックします。
テーブルの作成後、テーブル名をクリックし、[基本情報] タブの [基本情報] セクションにある [暗号化] フィールドを確認して、データ暗号化機能が有効になっているかどうかを確認できます。

開発統合
課金
データ暗号化料金は KMS によって課金されます。詳細については、「Key Management Service の課金」をご参照ください。