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 をアクティブ化するには、以下の手順を完了します。
クラウドプロバイダーで CMK を作成します。
このステップは、Snowflakeアカウントをホストしているクラウドプラットフォームの KMS で行います。
Snowflakeで、 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT_TSS を呼び出します。
このシステム関数は、KMS と Tri-Secret Secure で使用するプライベートエンドポイントをプロビジョニングします。
クラウドプロバイダーで、プライベートエンドポイントを承認します。
このステップは、Azure API Managementリソースの所有者としてAzureポータルで行うか、Amazon VPC コンソールで行います。詳細については、Microsoft Azure または AWS のドキュメントをご参照ください。
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 をアクティブ化しようとすると、待機することを推奨するエラーメッセージが表示されます。
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 へのアクセスを削除しないでください。
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 があり、そのプライベート接続を キー更新 なしで有効にしたい場合は、次の手順を完了します。
Snowflakeで、 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT_TSS を呼び出します。
このシステム関数は、キー管理サービス(KMS)と Tri-Secret Secure で使用するプライベートエンドポイントをプロビジョニングします。
クラウドプロバイダーで、プライベートエンドポイントを承認します。
このステップは、Azure API Managementリソースの所有者としてAzureポータルで行うか、Amazon VPC コンソールで行います。詳細については、Microsoft Azure または AWS のドキュメントをご参照ください。
Snowflakeで、次の例に示すように、両方の引数を使用して SYSTEM$REGISTER_CMK_INFO を呼び出します。
SELECT SYSTEM$REGISTER_CMK_INFO('<your_cmk_value>', 'true');
このシステム関数は CMK Snowflakeアカウントをを登録します
システム関数の引数が再確認され、Snowflakeアカウントをホストするクラウドプラットフォームに対して正しいかどうかを確認します。
Snowflakeで、次の例に示すように、
UPDATE_PRIVATELINK引数を指定して SYSTEM$ACTIVATE_CMK_INFO を呼び出します。SELECT SYSTEM$ACTIVATE_CMK_INFO('UPDATE_PRIVATELINK');
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>`_ をご参照ください。