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|をアクティブ化するには、次の手順を完了します。
クラウドプロバイダーで CMK を作成します。
Snowflakeアカウントを使用しているホストするクラウドプラットフォームのキー管理サービス(KMS)でこの手順を実行します。
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| をアクティブ化しようとすると、待機することを推奨するエラーメッセージが表示されます。
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で、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>`_ をご参照ください。