Tri-Secret Secure self-service in Snowflake

Tri-Secret Secure overview

Using a dual-key encryption model together with Snowflake’s built-in user authentication enables three levels of data protection, known as Tri-Secret Secure. Tri-Secret Secure offers you a level of security and control above Snowflake’s standard encryption.

Our dual-key encryption model combines a Snowflake-maintained key and a customer-managed key (CMK), which you create on the cloud provider platform that hosts your Snowflake account. The model creates a composite master key that protects your Snowflake data. This composite master key acts as an account master key by wrapping all of the keys in your account hierarchy. The composite master key is never used to encrypt raw data. For example, the composite master key wraps table master keys, which are used to derive file keys that encrypt the raw data.

주의

Before enabling Tri-Secret Secure for your account, you should carefully consider your responsibility for safeguarding your key as mentioned in 고객 관리 키. If the CMK in the composite master key hierarchy is revoked, your data can no longer be decrypted by Snowflake.

궁금한 점이나 우려 사항이 있는 경우 `Snowflake 지원`_에 문의하세요.

Snowflake also bears the same responsibility for the keys that we maintain. As with all security-related aspects of our service, we treat this responsibility with the utmost care and vigilance.

Snowflake의 모든 키는 최고의 보안 인증을 획득할 수 있도록 SOC 2 타입 II, PCI-DSS, HIPAA 및 HITRUST CSF 등과 같은 엄격한 정책에 따라 유지됩니다.

하이브리드 테이블과의 Tri-Secret Secure 호환성

계정에서 하이브리드 테이블을 생성하고자 하며 TSS가 이미 활성화되어 있거나 활성화할 예정인 경우 전용 저장소 모드를 활성화해야 합니다. 자세한 내용은 TSS용 하이브리드 테이블 전용 저장소 모드 섹션을 참조하십시오.

Understanding Tri-Secret Secure self-service

You can use Snowflake system functions to first register a CMK and then activate Tri-Secret Secure to use the CMK. If you decide to replace a CMK for use with Tri-Secret Secure, the SYSTEM$GET_CMK_INFO function informs you whether your new CMK is registered and activated. You can continue to use your account during the rekeying process.

Tri-Secret Secure self-service provides the following benefits to you:

  • Facilitates working with the key management service (KMS) in the cloud platform that hosts your Snowflake account.

  • CMK의 등록 및 인증 단계를 간소화합니다.

  • CMK 등록 및 Tri-Secret Secure 활성화 상태에 투명성을 제공합니다.

  • Snowflake 계정의 다운타임 없이 |tri-secret-secure|를 관리할 수 있습니다.

Activate Tri-Secret Secure

이 프로시저는 Snowflake가 지원하는 모든 클라우드 공급자 플랫폼에서 작동합니다. 클라우드 공급자 플랫폼에서 수행한 모든 단계는 해당 클라우드 공급자 설명서를 참조하세요.

CMK를 생성 및 등록한 후 |tri-secret-secure|를 활성화하려면 다음 단계를 완료합니다.

  1. On the cloud provider, create a CMK.

    Snowflake 계정을 호스팅하는 클라우드 플랫폼의 키 관리 서비스(KMS)에서 이 단계를 수행합니다.

  2. In Snowflake, call the SYSTEM$REGISTER_CMK_INFO system function.

    • 이 시스템 함수는 CMK를 Snowflake 계정으로 등록합니다.

    • Snowflake 계정을 호스팅하는 클라우드 플랫폼에 올바른 시스템 함수 인자인지 다시 확인합니다.

    • SYSTEM$REGISTER_CMK_INFO 함수를 호출할 때 Snowflake는 검증된 이메일 주소가 있는 계정 관리자에게 이메일 메시지를 보냅니다. 메시지는 SYSTEM$ACTIVATE_CMK_INFO 함수를 호출하여 |tri-secret-secure|를 활성화할 때 계정 관리자에게 알려줍니다.

    중요

    You must wait 72 hours before activating Tri-Secret Secure (step 6). If you attempt to activate Tri-Secret Secure during this waiting period, you see an error message that advises you to wait.

  3. In Snowflake, call the SYSTEM$GET_CMK_INFO system function.

    이 시스템 함수는 사용자가 등록한 CMK의 등록 상태와 세부 정보를 반환합니다.

  4. In Snowflake, call the SYSTEM$GET_CMK_CONFIG system function.

    이 시스템 함수는 클라우드 공급자가 Snowflake가 CMK에 액세스할 수 있도록 허용하는 데 필요한 정보를 생성합니다.

    참고

    |azure|가 Snowflake 계정을 호스팅하는 경우 함수에 tenant_id 값을 전달해야 합니다.

  5. In Snowflake, call the SYSTEM$VERIFY_CMK_INFO system function.

    이 시스템 함수는 Snowflake 계정 및 CMK 간의 연결을 확인합니다.

  6. In Snowflake, call the SYSTEM$ACTIVATE_CMK_INFO system function.

    이 시스템 함수는 |tri-secret-secure|를 등록된 CMK에서 활성화합니다. 이 시스템 함수는 키 재생성 프로세스를 시작하고 프로세스가 완료되면 시스템 관리자에게 알리는 이메일 메시지를 생성합니다. 키 재생성 프로세스는 1시간 이내에 완료할 수 있지만, 최대 24시간이 걸릴 수 있습니다.

    경고

    Snowflake는 키 재생성 프로세스가 완료될 때까지 이전 CMK를 사용합니다. 키 재생성 프로세스가 완료되었다는 이메일 알림을 받을 때까지 이전 CMK에 대한 액세스 권한을 제거하지 마세요.

|tri-secret-secure|로 이미 활성화된 CMK에 대한 비공개 연결을 활성화하려면 활성 CMK에 대한 비공개 연결 엔드포인트 활성화 섹션을 참조하세요.

View the status of your CMK

언제든지 :doc:`/sql-reference/functions/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|가 사용되고 있음을 의미합니다.

Change the CMK for Tri-Secret Secure

Snowflake system functions support changing your customer-managed key (CMK), based on your security needs. Use the same steps to register a new CMK as the steps that you followed to register your initial CMK. When you complete those steps again by using a new key, the output of the system functions differs. Read the output from each system function that you call during self-registration to confirm that you have changed your key. For example, when you change your CMK, calling the SYSTEM$GET_CMK_INFO function returns a message that contains ...is being rekeyed....

Use Tri-Secret Secure self-service with automatic key rotation

If you use your cloud provider’s automatic key rotation feature to maintain the lifecycle of your customer-managed keys (CMKs), you can rekey with the latest version of your CMK by calling the SYSTEM$ACTIVATE_CMK_INFO function and providing the 'REKEY_SAME_CMK' argument.

자세한 내용은 고객 관리 키 섹션을 참조하십시오.

Deactivate Tri-Secret Secure

계정에서 |tri-secret-secure|를 비활성화하려면 SYSTEM$DEACTIVATE_CMK_INFO 시스템 함수를 호출합니다.

Deregister your current CMK

한 번에 하나의 CMK만 |tri-secret-secure|에 등록할 수 있습니다. CMK를 등록할 때 다른 CMK의 존재로 인해 SYSTEM$REGISTER_CMK_INFO 함수가 실패한 경우 프롬프트에 따라 SYSTEM$DEREGISTER_CMK_INFO 시스템 함수를 호출합니다.

Integrate Tri-Secret Secure with AWS external key stores

Snowflake는 |tri-secret-secure|와 AWS 외부 키 저장소를 통합하여 고객 관리형 키를 AWS 외부에서 안전하게 저장하고 관리할 수 있도록 지원합니다. Snowflake는 Thales HSM(Hardware Security Module) 및 Thales CCKM(CipherTrust Cloud Key Manager) 데이터 암호화 제품만 공식적으로 테스트하고 지원합니다.

For more information about setting up and configuring Tri-Secret Secure with Thales solutions, see How to use Thales External Key Store for Tri-Secret Secure on an AWS Snowflake account.