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 ハイブリッドテーブルとの互換性

アカウントにハイブリッドテーブルを作成する予定があり、Tri-Secret Secure がすでに有効になっているかこれから有効にする場合は、専用ストレージモードを有効にする必要があります。詳細については、 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|を管理できるようにします。

  • プライベートエンドポイントを通じて、Snowflakeが管理するキーとクラウドプロバイダーのキーvaultとの通信を可能にします。

プライベート接続での Tri-Secret Secure をアクティブ化する

この手順は、Snowflakeがサポートする Amazon Web Services および Microsoft Azure のクラウドプロバイダープラットフォームで機能します。クラウドプロバイダーのプラットフォーム上で実行するステップについては、特定のクラウドプロバイダーのドキュメントをご参照ください。Tri-Secret Secure ですでにアクティブ化されている CMK のプライベート接続を有効にするには、 アクティブな CMK のプライベート接続エンドポイントを有効にする をご参照ください。

プライベート接続で Tri-Secret Secure をアクティブ化するには、以下の手順を完了します。

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

    このステップは、Snowflakeアカウントをホストしているクラウドプラットフォームの KMS で行います。

  2. Snowflakeで、 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT_TSS を呼び出します。

    このシステム関数は、KMS と Tri-Secret Secure で使用するプライベートエンドポイントをプロビジョニングします。

  3. クラウドプロバイダーで、プライベートエンドポイントを承認します。

    このステップは、Azure API Managementリソースの所有者としてAzureポータルで行うか、Amazon VPC コンソールで行います。詳細については、Microsoft Azure または AWS のドキュメントをご参照ください。

  4. Snowflakeで、 SYSTEM$REGISTER_CMK_INFO を呼び出します。

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

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

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

    重要

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

  5. Snowflakeで、 SYSTEM$GET_CMK_INFO を呼び出します。

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

  6. Snowflakeで、 SYSTEM$GET_CMK_CONFIG を呼び出します。

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

    注釈

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

  7. Snowflakeで、 SYSTEM$VERIFY_CMK_INFO を呼び出します。

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

  8. Snowflakeで、 SYSTEM$ACTIVATE_CMK_INFO を呼び出します。

    このシステム関数は |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 を使用していることを意味します。

プライベート接続を有効にしている場合、SYSTEM$GET_CMK_INFO を呼び出すと、プライベート接続エンドポイントと Tri-Secret Secure の登録とアクティベーションステータスに関する情報が返されます。

Tri-Secret Secure の CMK を変更する

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

アクティブな CMK のプライベート接続エンドポイントを有効にする

アクティブな CMK があり、そのプライベート接続を キー更新 なしで有効にしたい場合は、次の手順を完了します。

  1. Snowflakeで、 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT_TSS を呼び出します。

    このシステム関数は、キー管理サービス(KMS)と Tri-Secret Secure で使用するプライベートエンドポイントをプロビジョニングします。

  2. クラウドプロバイダーで、プライベートエンドポイントを承認します。

    このステップは、Azure API Managementリソースの所有者としてAzureポータルで行うか、Amazon VPC コンソールで行います。詳細については、Microsoft Azure または AWS のドキュメントをご参照ください。

  3. Snowflakeで、次の例に示すように、両方の引数を使用して SYSTEM$REGISTER_CMK_INFO を呼び出します。

    SELECT SYSTEM$REGISTER_CMK_INFO('<your_cmk_value>', 'true');
    
    Copy
    • このシステム関数は CMK Snowflakeアカウントをを登録します

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

  4. Snowflakeで、次の例に示すように、UPDATE_PRIVATELINK 引数を指定して SYSTEM$ACTIVATE_CMK_INFO を呼び出します。

    SELECT SYSTEM$ACTIVATE_CMK_INFO('UPDATE_PRIVATELINK');
    
    Copy

    SYSTEM$ACTIVATE_CMK_INFO 関数を UPDATE_PRIVATELINK 引数をして実行すると、前の SYSTEM$REGISTER_CMK_INFO 呼び出しから値を読み込みます。キー更新は発生しないので、この機能はすぐに完了します。オプションとして、SYSTEM$GET_CMK_INFO 関数を再度呼び出すと、プライベート接続のステータスが表示されます。

Tri-Secret Secure のプライベート接続エンドポイントをデプロビジョニングする

Snowflakeがプライベート接続を使用して外部の KMS リソースに接続しないようにするには、 SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT_TSS 関数を呼び出します。

Tri-Secret Secure のプライベート接続エンドポイントを復元する

デプロビジョニングされたプライベート接続エンドポイントを使用して、外部 KMS リソースへのSnowflake接続を再確立するには、 SYSTEM$RESTORE_PRIVATELINK_ENDPOINT_TSS 関数を呼び出します。

自動キーローテーション機能を備えた Tri-Secret Secure セルフサービスを使用する

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

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

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

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

現在の CMK を登録解除する

You can only register one CMK at a time with Tri-Secret Secure. When you register your CMK, if the SYSTEM$REGISTER_CMK_INFO function fails because a different CMK already exists, call the SYSTEM$DEREGISTER_CMK_INFO function, as prompted.

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>`_ をご参照ください。