Snowflakeの Tri-Secret Secure セルフサービス

Tri-Secret Secure の概要

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

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

注意

アカウントで Tri-Secret Secure を有効にする前に、 顧客が管理するキー で述べたように、キーを保護する責任を慎重に検討する必要があります。複合マスターキー階層内の CMK が取り消された場合 、データはSnowflakeによって復号化できなくなります。

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

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

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

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

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

Tri-Secret Secure セルフサービスの理解

Snowflake のシステム関数を使用して、まず CMK を登録してから、Tri-Secret Secure をアクティブ化して CMK で使用することができます。Tri-Secret Secure で使用するために CMK を置き換えることにした場合、SYSTEM$GET_CMK_INFO 関数を使うと、新しい CMK が登録されてアクティブ化されているかどうかがわかります。キー更新プロセス中も引き続きアカウントを使用できます。

Tri-Secret Secure セルフサービスには、以下のようなメリットがあります。

  • Snowflakeアカウントをホストするクラウドプラットフォームの鍵管理サービス(KMS)との連携が容易になります。

  • CMKの登録と認証の手順を合理化します。

  • CMK 登録と Tri-Secret Secure アクティベーションステータスに透明性を提供します。

  • Snowflakeアカウントのダウンタイムなしで|tri-secret-secure|を管理できるようにします。

Tri-Secret Secure のアクティブ化

この手順は、Snowflakeがサポートするすべてのクラウドプロバイダープラットフォームで機能します。クラウドプロバイダーのプラットフォーム上で実行するステップについては、特定のクラウドプロバイダーのドキュメントをご参照ください。

CMKを作成して登録し、 |tri-secret-secure|をアクティブ化するには、次の手順を完了します。

  1. クラウドプロバイダーで CMK を作成します。

    Snowflakeアカウントを使用しているホストするクラウドプラットフォームのキー管理サービス(KMS)でこの手順を実行します。

  2. Snowflakeで、SYSTEM$REGISTER_CMK_INFO システム関数を呼び出します。

    • このシステム関数は CMK Snowflakeアカウントをを登録します

    • システム関数の引数が再確認され、Snowflakeアカウントをホストするクラウドプラットフォームに対して正しいかどうかを確認します。

    • SYSTEM$REGISTER_CMK_INFO 関数を呼び出すと、検証済みのメールアドレスを持つアカウント管理者にメールメッセージを送信します。メッセージは、アカウント管理者に SYSTEM$ACTIVATE_CMK_INFO 関数を呼び出して|tri-secret-secure|アクティブ化するタイミングを通知します。

    重要

    アクティブ化 |tri-secret-secure|(ステップ6)する前に72時間待つ必要があります。この待機時間中に |tri-secret-secure| をアクティブ化しようとすると、待機することを推奨するエラーメッセージが表示されます。

  3. Snowflakeで、SYSTEM$GET_CMK_INFO システム関数を呼び出します。

    このシステム関数は、登録したCMK の登録ステータスと詳細を返します。

  4. Snowflakeで、SYSTEM$GET_CMK_CONFIG システム関数を呼び出します。

    このシステム関数は、Snowflakeが CMKにアクセスできるようにするために、クラウドプロバイダーが必要な情報を生成します。

    注釈

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

  5. Snowflakeで、SYSTEM$VERIFY_CMK_INFO システム関数を呼び出します。

    このシステム関数は、 Snowflakeアカウントと CMK との接続性を確認します。

  6. Snowflakeで、SYSTEM$ACTIVATE_CMK_INFO システム関数を呼び出します。

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

    警告

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

Tri-Secret Secure ですでにアクティブ化されている 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 セルフサービスを使用する

クラウドプロバイダーの自動キーローテーション機能を使用してお客様が管理するキー(CMKs)のライフサイクルを管理する場合、SYSTEM$ACTIVATE_CMK_INFO システム関数を呼び出して 'REKEY_SAME_CMK' 引数を指定することで、CMK の最新バージョンでキー更新できます。

詳細については、 顧客が管理するキー をご参照ください。

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

非アクティブ化するには Tri-Secret Secure アカウントで、 SYSTEM$DEACTIVATE_CMK_INFO システム関数を呼び出します。

現在の CMK を登録解除する

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

Tri-Secret Secure を AWS 外部キーストアと統合する

Snowflakeは Tri-Secret Secure と AWS の外部キーストアとの統合をサポートしており、AWS の外部で顧客管理キーを安全に保管および管理します。Snowflakeは、Thales Hardware Security Modules(HSM)およびThales CipherTrust Cloud Key Manager(CCKM)データ暗号化製品のみ公式にテストを行い、サポートしています。

Thalesのソリューションを使用した|tri-secret-secure| のセットアップと構成の詳細については、` SnowflakeアカウントAWSでTri-Secret SecureのThales外部キーストアを使用する方法 <https://community.snowflake.com/s/article/thales-xks-for-tss-aws#e3>`_ をご参照ください。