Snowflakeの安全な共有領域アカウントを使用した|tri-secret-secure|

Tri-Secret Secure の概要

デュアルキー暗号化モデルをSnowflakeの組み込みユーザー認証とともに使用することで、 Tri-Secret Secure として知られる3つのレベルのデータ保護が可能になります。Tri-Secret Secureは、Snowflakeの標準的な暗号化を上回るレベルのセキュリティとコントロールを提供します。

Snowflakeのデュアルキー暗号化モデルは、Snowflakeが管理するキーと、Snowflakeアカウントをホストするクラウドプロバイダーのプラットフォーム上でお客様が作成する、お客様が管理するキー(CMK)を組み合わせるものです。このモデルで、Snowflakeデータを保護する複合マスターキーを作成します。この複合マスターキーは、アカウント階層内のすべてのキーをラップすることにより、アカウントマスターキーとして機能します。複合マスターキーが生データの暗号化するに使用されることはありません。たとえば、複合マスターキーは、生データを暗号化するファイルキーを取得するために使用されるテーブルマスターキーをラップします。

注意

安全な共有領域アカウントに対して|tri-secret-secure|を有効にする前に、:ref:`label-customer-managed-keys`で説明されているように、キーを保護する責任を慎重に検討してください。複合マスターキー階層内の顧客管理キー(CMK)が取り消されると、Snowflakeでデータを復号化できなくなります。

質問や懸念がある場合は、 `Snowflakeサポート `_にお問い合わせください。

Snowflakeは、当社が維持するキーに対しても同じ責任を負います。サービスのセキュリティ関連のすべての側面と同様に、当社では細心の注意を払いこの責任に取り組んでいます。

すべてのキーは、SOC 2 Type II、PCI-DSS、HIPAAおよび HITRUST CSF など、最高のセキュリティ認定を取得できるようにする厳格なポリシーの下で維持されています。

Tri-Secret Secure ハイブリッドテーブルとの互換性

アカウントにハイブリッドテーブルを作成する予定があり、 TSS がすでに有効になっているかこれから有効にする場合は、専用ストレージモードを有効にする必要があります。詳細については、 TSS向けハイブリッドテーブル専用ストレージモード をご参照ください。

安全な共有領域アカウントについて

リストを公開し、クロスクラウドの自動複製を有効にすると、Snowflakeは自動的に1つ以上の安全な共有領域(SSA)アカウントをコンシューマーリージョンに作成します。これらSSAアカウントには次のような性質があります。

  • プロバイダーであるお客様が所有し、お客様に請求されます。

  • Snowflakeによって管理されます。直接アクセスすることはできません。

  • 他の地域のコンシューマーが使用するために、データ製品の複製コピーを保存します。

SSAアカウントにはお客様のデータが含まれているため、プライマリアカウントと同様にTri-Secret Secureで保護できます。ただし、

  • TSSは、SSAアカウントごとに個別に有効にする必要があります。

  • SSAアカウント内でSnowflakeコマンドを直接実行することはできません。

  • アラートや監査のために、これらのアカウントのKMSAPIイベント(例:GenerateDataKeyWithoutPlaintextやDecrypt)をクラウドプロバイダーのログに一貫して表示させたい場合があります。

SSAアカウントの特定

自動複製用のSSAアカウントは、標準の命名パターンに従い、組織内にグローバルアカウントとして表示されます。

SSAアカウントをリストするには、次のコマンドを実行します。

USE ROLE ORGADMIN;

SHOW GLOBAL ACCOUNTS LIKE '%AUTO_FULFILLMENT_AREA%' IN ORGANIZATION <org_name>;
Copy

出力には、名前に``AUTO_FULFILLMENT_AREA``が含まれるすべてのアカウントが返されます。例:

  • AUTO_FULFILLMENT_AREA$PUBLIC_AWS_US_EAST_1

  • AUTO_FULFILLMENT_AREA$PUBLIC_AZURE_EASTUS2

これらのアカウント名は、SSAアカウントで作業するときにTri-Secret Secureシステム関数に渡す値です。

注釈

古いデプロイメントには、``SNOWFLAKE_MANAGED$PUBLIC_<CLOUD>_<REGION>``で始まる名前を持つSSAアカウントがまだが含まれている可能性があります。必要に応じて、両方のパターンをフィルターに含めることができます。

安全な共有領域アカウントでの|tri-secret-secure|について

SSAアカウントで|tri-secret-secure|を使用すると、SSAsを介して共有されるデータのセキュリティを強化できます。SSAアカウントは、標準アカウントと同じ3層の暗号化保護を利用でき、顧客管理キー(CMK)により暗号化キーをさらに制御できます。

安全な共有領域アカウントでの|tri-secret-secure|には、次のような利点があります。

  • 安全な共有領域で共有されるデータのセキュリティ強化

  • 安全な共有エリアデータの暗号化キーの制御

  • データ保護のための規制要件への準拠

  • CMKを取り消すことで、暗号化されたデータへのアクセスを取り消す機能

安全な共有領域アカウントの|tri-secret-secure|のアクティブ化

SSAアカウントの|tri-secret-secure|をアクティブ化するには、次の手順を実行します。これらのステップでは、すでにCMK<label-self_register_a_cmk>`を:ref:`登録していることを前提としています。

  1. Snowflakeで:doc:`/sql-reference/functions/system_get_cmk_info`システム関数を呼び出し、登録したCMKの詳細を表示します。これにはSSAアカウント名を含めます。

  2. Snowflakeで SYSTEM$GET_CMK_CONFIG システム関数を呼び出して、クラウドプロバイダーに必要な情報を生成します。

    このポリシーにより、Snowflake はお客様のCMKにアクセスすることができます。

    注釈

    Microsoft Azure がSnowflakeアカウントをホストしている場合 、関数に:samp:{tenant_id} 値を渡す必要があります。

  3. クラウドプロバイダープラットフォームで、 SYSTEM$GET_CMK_CONFIG 関数の出力を使用して CMK を承認します。

  4. Snowflakeで:doc:/sql-reference/functions/system_verify_cmk_info システム関数を呼び出し、SSAアカウント名を含めて、SnowflakeアカウントとCMKの間の接続を確認します。

  5. Snowflakeで:doc:`/sql-reference/functions/system_activate_cmk_info`システム関数を呼び出し、安全な共有領域アカウントの|tri-secret-secure|を有効にします。

    このシステム関数は Tri-Secret Secure 登録済み CMKをアクティブ化します。このシステム関数はキー更新プロセスを開始し、プロセスが終了するとシステム管理者に通知する電子メールメッセージを生成します。キー更新プロセスは1時間以内で完了しますが、最大24時間かかる場合があります。

    警告

    Snowflakeはキー更新プロセスが完了するまで、古いCMKを使用します。キー更新プロセスが完了したことを示す電子メール通知を受信するまで、古いCMKへのアクセスを削除しないでください。

CMK のステータスを確認する

いつでも SYSTEM$GET_CMK_INFO を呼び出して、 CMK の登録とアクティベーションのステータスをチェックできます。

たとえば、 SYSTEM$GET_CMK_INFO をいつ呼び出すかによって、この関数は以下のような出力を返します。

  • Tri-Secret Secure をアクティブ化した直後は、 ...is being activated... を返します。これはキー更新が完了していないことを意味します。

  • Tri-Secret Secure のアクティベーションプロセス完了後は、 ...is activated... を含む出力を返します。これは、Snowflakeアカウントが、登録した CMK で Tri-Secret Secure を使用していることを意味します。

Tri-Secret Secure の CMK を変更する

Snowflakeのシステム関数は、お客様のセキュリティニーズに基づき、お客様が管理するキー(CMK)の変更をサポートしています。初期登録のステップとして CMK と同じ手順を使用して、新しい CMK を登録します。新しいキーを使用してこれらの手順を再度完了すると、システム関数の出力が変わります。セルフ登録中に呼び出した各システム関数からの出力を読み、キーが変更されていることを確認します。たとえば、 CMK を変更した場合、 SYSTEM$GET_CMK_INFO 関数を呼び出すと、 ...is being rekeyed... を含むメッセージが返されます。

Tri-Secret Secure を非アクティブ化する

安全な共有領域アカウントで|tri-secret-secure|を非アクティブ化するには、:doc:`/sql-reference/functions/system_deactivate_cmk_info`システム関数を呼び出します。

現在の CMK を登録解除する

CMK と一度に Tri-Secret Secure 登録できるのは1つだけです。CMK を登録する際、異なるCMK が存在するため、 SYSTEM$REGISTER_CMK_INFO 関数が失敗した場合は、プロンプトに従って SYSTEM$DEREGISTER_CMK_INFO システム関数を呼び出してください。