Snowflakeの Tri-Secret Secure¶
Tri-Secret Secure の概要¶
デュアルキー暗号化モデルをSnowflakeの組み込みユーザー認証とともに使用することで、 Tri-Secret Secure として知られる3つのレベルのデータ保護が可能になります。Tri-Secret Secureは、Snowflakeの標準的な暗号化を上回るレベルのセキュリティとコントロールを提供します。
Snowflakeのデュアルキー暗号化モデルは、Snowflakeが管理するキーと、Snowflakeアカウントをホストするクラウドプロバイダーのプラットフォーム上でお客様が作成する、お客様が管理するキー(CMK)を組み合わせるものです。このモデルで、Snowflakeデータを保護する複合マスターキーを作成します。この複合マスターキーは、アカウント階層内のすべてのキーをラップすることにより、アカウントマスターキーとして機能します。複合マスターキーが生データの暗号化に使用されることはありません。たとえば、複合マスターキーは、生データを暗号化するファイルキーを取得するために使用されるテーブルマスターキーをラップします。
注意
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 のアクティベーションをサポートする CMK セルフ登録の理解¶
Snowflakeのシステム関数を使用して、 Tri-Secret Secure で使用するための CMK を登録できます。Tri-Secret Secure で使用するために CMK を置き換えることにした場合、SYSTEM$GET_CMK_INFO 関数を使うと、新しい CMK が登録されてアクティブ化されているかどうかがわかります。CMK をセルフ登録したら、Snowflakeサポートに連絡してSnowflakeアカウントで Tri-Secret Secure と CMK を使用できるようにすることができます。
アクティベーションのサポートが付いた CMK セルフ登録には、次のようなメリットがあります。
CMKの登録と認証の手順を合理化します。
Tri-Secret Secure で、 CMK 登録とアクティベーションのステータスの透明性を提供します。
Snowflakeアカウントをホストするクラウドプラットフォームの鍵管理サービス(KMS)との連携が容易になります。
CMK をローテーションして Tri-Secret Secure で使用するための新しい CMK を登録できるようになります。
以下のリストは、アクティベーションのサポートが付いた CMK セルフ登録の仕組みを示しています。
お客様が以下のアクションを行います。
CMKを作成します。
CMKを登録します。
クラウドプロバイダーの情報を生成します。
KMSポリシーを適用します。
SnowflakeアカウントとCMKの接続を確認します。
Snowflake サポートに連絡して、Snowflakeアカウントで Tri-Secret Secure を使用できるようにしてください。
Snowflakeサポートは、登録した CMK に基づいて、Snowflakeアカウントが Tri-Secret Secure を使用できるようにします。
以下のセクションの手順では、クラウドに依存しない手順を維持するために、 Amazon Resource Number (ARN)のような用語を避けます。手順は、Snowflakeアカウントをホストするクラウドプラットフォームに関係なく同じです。ただし、各クラウドプラットフォームサービスが異なるため、一部のステップのシステム関数の引数は異なります。
CMK をセルフ登録する¶
Tri-Secret Secure で使用するための CMK をセルフ登録するには、以下の手順を完了します。
クラウドプロバイダーで CMK を作成します。
Snowflakeアカウントを使用しているホストするクラウドプラットフォームのキー管理サービス(KMS)でこの手順を実行します。
Snowflakeでは、 SYSTEM$REGISTER_CMK_INFO システム関数を呼び出して、KMS 統合に CMK を登録します。
Snowflakeアカウントをホストするクラウドプラットフォームのシステム関数引数を再度確認してください。
Snowflakeで SYSTEM$GET_CMK_INFO システム関数を呼び出し、登録した CMK の詳細を表示します。
Snowflakeで SYSTEM$GET_CMK_CONFIG システム関数を呼び出して、クラウドプロバイダーに必要な情報を生成します。
このポリシーにより、Snowflake はお客様のCMKにアクセスすることができます。
注釈
Microsoft Azure がSnowflakeアカウントをホストしている場合 、関数に:samp:
{tenant_id}値を渡す必要があります。Snowflakeで SYSTEM$VERIFY_CMK_INFO システム関数を呼び出して、Snowflakeアカウントと CMK の接続を確認します。
Snowflakeサポート に連絡し、Snowflake アカウントで Tri-Secret Secure を使用できるようにするようリクエストしてください。
Tri-Secret Secure で使用したい特定のアカウントを必ず明記してください。
すでに 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 を 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>`_ をご参照ください。