すべてのプロダクト
Search
ドキュメントセンター

Tablestore:データ暗号化

最終更新日:Jul 17, 2026

Tablestore は、テーブルに保存された機密データを保護するため、保存時の暗号化をサポートしています。テーブルの作成時に Key Management Service (KMS) ベースまたは Bring Your Own Key (BYOK) ベースの方式を選択して、暗号化を有効にします。

仕組み

すべての暗号化キーは KMS から提供されます。KMS は、エンドツーエンドのキー管理、データ暗号化、およびシークレット管理を提供します。

Tablestore は 2 つの暗号化方式をサポートしています:

  • KMS CMK ベースの暗号化: Tablestore は、デフォルトのカスタマーマスターキー (CMK) を使用してサービスキーを生成し、データを自動的に暗号化および復号します。KMS インスタンスを購入する必要はありません。

  • Bring Your Own Key (BYOK) ベースの暗号化: Tablestore は、お客様が KMS で作成および管理するソフトウェアで保護されたキーを使用します。この方法でテーブルを作成する前に、KMS コンソールでソフトウェアで保護されたキーを作成し、Tablestore が引き受けるための暗号化および復号権限を持つ Resource Access Management (RAM) ロールを作成する必要があります。

サポート対象リージョンと制約

  • 暗号化はテーブル作成時にのみ有効にできます。テーブル作成後に無効にすることはできません。注意して操作してください。

  • データ暗号化は、次のリージョンでサポートされています:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深圳)、中国 (香港)、日本 (東京)、シンガポール、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、英国 (ロンドン)、米国 (シリコンバレー)、および米国 (バージニア)。

データ暗号化の有効化

KMS CMK ベースの暗号化の使用

KMS CMK ベースの暗号化では、KMS インスタンスの購入は不要です。テーブルの作成時に、[暗号化] スイッチをオンにし、[暗号化タイプ] として [KMS の CMK] を選択します。

  1. Tablestore コンソールにログインします。

  2. ページの上部で、リージョンを選択します。

  3. [概要] ページで、インスタンスの名前をクリックするか、[操作] 列の [インスタンスの管理] をクリックします。

  4. [インスタンス詳細] タブで、[テーブルの作成] をクリックします。

  5. [テーブルの作成] ダイアログボックスで、パラメーターを設定します。

    1. テーブル名を入力し、プライマリキーを設定します。

    2. [暗号化] スイッチをオンにし、[暗号化タイプ] パラメーターで [KMS の CMK] を選択します。Tablestore は、デフォルトの CMK を使用してサービスキーを生成します。追加の KMS インスタンスは必要ありません。

  6. [作成] をクリックします。

暗号化が有効になっていることを確認するには、テーブル名をクリックし、[基本情報] タブの [説明] セクションの [暗号化] フィールドに [はい-KMS の CMK] と表示されていることを確認します。

BYOK ベースの暗号化の使用

BYOK ベースの暗号化では、テーブルを作成する前にキー ID と RAM ロール ARN が必要です。まず、以下の前提条件を満たしてください。

前提条件

  1. キー ID の取得: Tablestore はこのキーを使用してデータを暗号化および復号します。

    1. KMS コンソールにログインします。

    2. 左側のナビゲーションペインで[キー]をクリックし、リストから既存のソフトウェアで保護されたキーを選択して、そのキー ID をコピーします。 新しいキーを作成するには、「キーの管理」をご参照ください。

  2. RAM ロール ARN の取得: Tablestore は RAM ロールを引き受けて KMS を呼び出します。ロールを作成し、必要な権限を付与します。

    1. RAM ロールを作成します。

      1. RAM コンソールにログインします。

      2. [アイデンティティ] > [ロール] を選択します。[ロール] ページで、[ロールの作成] をクリックします。

      3. [プリンシパルタイプ] を [クラウドサービス] に、[プリンシパル名] を [Tablestore / OTS] に設定します。[OK] をクリックします。

      4. [ロールの作成] ダイアログボックスで、[ロール名] フィールドに TablestoreBYOK などのロール名を入力し、[OK] をクリックします。 画面の指示に従って検証を完了し、ロールを作成します。

    2. カスタムポリシーを作成します。

      1. RAM コンソールにログインします。

      2. [権限] > [ポリシー]を選択します。[ポリシー] ページで、[ポリシーの作成] をクリックします。

      3. [JSON] タブを選択し、次のポリシー内容を入力し、[OK] をクリックします。

        {
            "Version": "1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "kms:Decrypt",
                        "kms:GenerateDataKey"
                    ],
                    "Resource": [
                        "*"
                    ]
                }
            ]
        }
      4. [ポリシーの作成] ダイアログボックスで、[ポリシー名] フィールドに TablestoreBYOKPolicy などのポリシー名を入力し、[OK] をクリックします。

    3. カスタムポリシーを RAM ロールにアタッチします。

      1. RAM コンソールにログインします。

      2. [ID] > [ロール]を選択し、RAM ロールの[アクション]列の[権限を付与]をクリックします。

      3. [権限の付与] パネルで、[ポリシー] セクションでポリシー名を検索し、カスタムポリシーを選択して、[権限を付与] をクリックします。

        承認が成功すると、TablestoreBYOKPolicy カスタムポリシーが TablestoreBYOK RAM ロールにアタッチされ、実行ステータスが完了と表示されます。

    4. RAM ロールの ARN をコピーします。

      1. RAM コンソールにログインします。

      2. [アイデンティティ] > [ロール] を選択します。[ロール] ページで、ロール名をクリックします。

      3. [基本情報] セクションから ARN をコピーします。

暗号化されたテーブルの作成

キー ID と RAM ロール ARN を取得したら、Tablestore コンソールで BYOK で暗号化されたテーブルを作成します。

  1. Tablestore コンソールにログインします。

  2. ページの上部で、リージョンを選択します。

  3. [概要] ページで、インスタンス名をクリックするか、[操作] 列の [インスタンスの管理] をクリックします。

  4. [インスタンス詳細] タブで、[テーブルの作成] をクリックします。

  5. [テーブルの作成] ダイアログボックスで、パラメーターを設定します。

    1. テーブル名を入力し、プライマリキーを設定します。

    2. [暗号化] スイッチをオンにし、[暗号化タイプ] パラメーターに [BYOK ベースのキー] を選択して、前提条件で取得したキー ID と RAM ロール ARN を入力します。

  6. [作成] をクリックします。

暗号化が有効になっていることを確認するには、テーブル名をクリックし、[基本情報] タブの [説明] セクションの [暗号化] フィールドに [Yes-BYOK-based Key] と表示されていることを確認します。

プログラムによるテーブル作成

Tablestore SDK for Java または Tablestore SDK for Go を使用して、プログラムでデータテーブルを作成する際に暗号化方法を指定できます。

課金

データ暗号化には KMS の料金が適用されます。料金の詳細については、「課金」をご参照ください。

関連ドキュメント