고객 관리 키를 사용한 Azure SQL 투명한 데이터 암호화Azure SQL Transparent Data Encryption with customer-managed key

적용 대상:  예 Azure SQL Database  예 azure sql Managed Instance  예 AZURE Synapse Analytics (SQL DW)APPLIES TO: yesAzure SQL Database yesAzure SQL Managed Instance yes Azure Synapse Analytics (SQL DW)

고객 관리 키를 사용 하는 TDE ( Azure SQL 투명한 데이터 암호화)를 사용 하 여 미사용 데이터 보호를 위한 Bring Your Own Key (byok) 시나리오를 사용 하 고, 조직이 키와 데이터 관리에서 의무 분리를 구현할 수 있습니다.Azure SQL Transparent Data Encryption (TDE) with customer-managed key enables Bring Your Own Key (BYOK) scenario for data protection at rest, and allows organizations to implement separation of duties in the management of keys and data. 고객이 관리 하는 투명 한 데이터 암호화를 사용 하는 고객은 키 수명 주기 관리 (키 생성, 업로드, 회전, 삭제), 키 사용 권한 및 키에 대 한 작업 감사에 대 한 모든 권한을 담당 합니다.With customer-managed transparent data encryption, customer is responsible for and in a full control of a key lifecycle management (key creation, upload, rotation, deletion), key usage permissions, and auditing of operations on keys.

이 시나리오에서 TDE 보호기 라는 DEK (데이터베이스 암호화 키)를 암호화 하는 데 사용 되는 키는 클라우드 기반 외부 키 관리 시스템으로, 고객이 소유 하 고 고객 관리 Azure Key Vault (AKV)에 저장 된 고객 관리 비대칭 키입니다.In this scenario, the key used for encryption of the Database Encryption Key (DEK), called TDE protector, is a customer-managed asymmetric key stored in a customer-owned and customer-managed Azure Key Vault (AKV), a cloud-based external key management system. Key Vault는 FIPS 140-2 수준 2 유효성 검사 된 Hsm (하드웨어 보안 모듈)에 의해 선택적으로 지원 되는 RSA 암호화 키에 대해 항상 사용 가능 하며 확장 가능한 보안 저장소입니다.Key Vault is highly available and scalable secure storage for RSA cryptographic keys, optionally backed by FIPS 140-2 Level 2 validated hardware security modules (HSMs). 저장 된 키에 대 한 직접 액세스를 허용 하지 않지만 권한 있는 엔터티에 대 한 키를 사용 하 여 암호화/암호 해독 서비스를 제공 합니다.It doesn't allow direct access to a stored key, but provides services of encryption/decryption using the key to the authorized entities. 키를 키 자격 증명 모음에 의해 생성 되거나, 프레미스 HSM 장치에서 키 자격 증명 모음으로 전송하거나 가져올 수 있습니다.The key can be generated by the key vault, imported, or transferred to the key vault from an on-prem HSM device.

Azure SQL Database 및 Azure Synapse Analytics의 경우 TDE 보호기는 서버 수준에서 설정 되며 해당 서버와 연결 된 모든 암호화 된 데이터베이스에서 상속 됩니다.For Azure SQL Database and Azure Synapse Analytics, the TDE protector is set at the server level and is inherited by all encrypted databases associated with that server. Azure SQL Managed Instance의 경우 TDE 보호기는 인스턴스 수준에서 설정 되 고 해당 인스턴스의 모든 암호화 된 데이터베이스에서 상속 됩니다.For Azure SQL Managed Instance, the TDE protector is set at the instance level and is inherited by all encrypted databases on that instance. 서버 라는 용어는 다르게 지정 된 경우를 제외 하 고는 SQL Database 및 Azure Synapse의 서버와이 문서 전체에서 SQL Managed Instance의 관리 되는 인스턴스에 대해 모두 참조 합니다.The term server refers both to a server in SQL Database and Azure Synapse and to a managed instance in SQL Managed Instance throughout this document, unless stated differently.

중요

고객이 관리 하는 TDE를 사용 하 여 시작 하려는 서비스 관리 TDE를 사용 하는 경우 데이터를 전환 하는 동안 데이터는 암호화 된 상태로 유지 되며 가동 중지 또는 데이터베이스 파일의 다시 암호화는 발생 하지 않습니다.For those using service-managed TDE who would like to start using customer-managed TDE, data remains encrypted during the process of switching over, and there is no downtime nor re-encryption of the database files. 서비스 관리 키에서 고객 관리 키로 전환 하는 경우에만 빠른 온라인 작업 인 DEK를 다시 암호화 해야 합니다.Switching from a service-managed key to a customer-managed key only requires re-encryption of the DEK, which is a fast and online operation.

참고

휴지 상태의 데이터에 대 한 두 가지 계층의 데이터 암호화를 Azure SQL 고객에 게 제공 하기 위해 플랫폼 관리 키에 대 한 인프라 암호화 (AES-256 암호화 알고리즘 사용)가 롤아웃 됩니다. 이는 이미 사용 가능한 고객 관리 키를 사용 하 여 TDE와 함께 휴지 상태의 암호화를 추가로 제공 합니다.To provide Azure SQL customers with two layers of encryption of data at rest, infrastructure encryption (using AES-256 encryption algorithm) with platform managed keys is being rolled out. This provides an addition layer of encryption at rest along with TDE with customer-managed keys, which is already available. 지금은 고객이이 기능에 대 한 액세스를 요청 해야 합니다.At this time, customers must request access to this capability. 이 기능에 관심이 있는 경우에 문의 하세요 AzureSQLDoubleEncryptionAtRest@service.microsoft.com .If you are interested in this capability, contact AzureSQLDoubleEncryptionAtRest@service.microsoft.com .

고객 관리 TDE의 이점Benefits of the customer-managed TDE

고객 관리 TDE는 고객에 게 다음과 같은 이점을 제공 합니다.Customer-managed TDE provides the following benefits to the customer:

  • TDE 보호기의 사용 및 관리에 대 한 완전 하 고 세부적인 제어Full and granular control over usage and management of the TDE protector;

  • TDE 보호기 사용의 투명성Transparency of the TDE protector usage;

  • 조직 내의 키 및 데이터 관리에서 의무 분리를 구현 하는 기능Ability to implement separation of duties in the management of keys and data within the organization;

  • Key Vault 관리자는 암호화 된 데이터베이스에 액세스할 수 없도록 키 액세스 권한을 해지할 수 있습니다.Key Vault administrator can revoke key access permissions to make encrypted database inaccessible;

  • AKV의 키 중앙 관리Central management of keys in AKV;

  • AKV는 Microsoft가 암호화 키를 보거나 추출할 수 없도록 설계 되었으므로 최종 고객의 신뢰를 강화 합니다.Greater trust from your end customers, since AKV is designed such that Microsoft cannot see nor extract encryption keys;

고객 관리 TDE 작동 방법How customer-managed TDE works

고객 관리 TDE의 설정 및 기능

DEK의 암호화를 위해 AKV에 저장 된 TDE 보호기를 사용할 수 있으려면 key vault 관리자는 고유 Azure Active Directory (Azure AD) id를 사용 하 여 서버에 대 한 다음 액세스 권한을 부여 해야 합니다.For server to be able to use TDE protector stored in AKV for encryption of the DEK, key vault administrator needs to give the following access rights to the server using its unique Azure Active Directory (Azure AD) identity:

  • get -Key Vault에 있는 키의 공용 파트 및 속성을 검색 합니다.get - for retrieving the public part and properties of the key in the Key Vault

  • wrapKey -dek를 보호 (암호화) 할 수 있음wrapKey - to be able to protect (encrypt) DEK

  • unwrapKey -dek를 보호 해제 (암호 해독) 할 수 있음unwrapKey - to be able to unprotect (decrypt) DEK

Key vault 관리자는 키 자격 증명 모음 감사 이벤트에 대 한 로깅을 사용 하도록 설정하 여 나중에 감사할 수 있습니다.Key vault administrator can also enable logging of key vault audit events, so they can be audited later.

서버가 AKV에서 TDE 보호기를 사용 하도록 구성 된 경우 서버는 암호화를 위해 각 TDE 지원 데이터베이스의 DEK를 key vault로 보냅니다.When server is configured to use a TDE protector from AKV, the server sends the DEK of each TDE-enabled database to the key vault for encryption. Key vault는 암호화 된 DEK를 반환 하며,이는 사용자 데이터베이스에 저장 됩니다.Key vault returns the encrypted DEK, which is then stored in the user database.

필요한 경우 서버는 암호 해독을 위해 보호 된 DEK를 key vault로 보냅니다.When needed, server sends protected DEK to the key vault for decryption.

로깅이 사용 되는 경우 감사자는 Azure Monitor을 사용 하 여 key vault 감사 이벤트 로그를 검토할 수 있습니다.Auditors can use Azure Monitor to review key vault AuditEvent logs, if logging is enabled.

참고

키 자격 증명 모음에 대 한 사용 권한 변경 내용을 적용 하는 데 10 분 정도 걸릴 수 있습니다.It may take around 10 minutes for any permission changes to take effect for the key vault. 여기에는 AKV의 TDE 보호기에 대 한 액세스 권한을 취소 하는 작업이 포함 되며,이 시간 프레임 내의 사용자에 게는 여전히 액세스 권한이 있을 수 있습니다.This includes revoking access permissions to the TDE protector in AKV, and users within this time frame may still have access permissions.

고객 관리 TDE를 구성 하기 위한 요구 사항Requirements for configuring customer-managed TDE

AKV 구성에 대 한 요구 사항Requirements for configuring AKV

  • Key vault 및 SQL Database/관리 되는 인스턴스는 동일한 Azure Active Directory 테 넌 트에 속해야 합니다.Key vault and SQL Database/managed instance must belong to the same Azure Active Directory tenant. 교차 테넌트 키 자격 증명 모음 및 서버 상호 작용은 지원되지 않습니다.Cross-tenant key vault and server interactions are not supported. 나중에 리소스를 이동 하려면 AKV를 사용 하는 TDE를 다시 구성 해야 합니다.To move resources afterwards, TDE with AKV will have to be reconfigured. 리소스 이동에 대해 자세히 알아보세요.Learn more about moving resources.

  • 데이터 손실 실수로 인 한 키 (또는 키 자격 증명 모음) 삭제가 발생 하지 않도록 보호 하기 위해 키 자격 증명 모음에서 일시 삭제 기능을 사용 하도록 설정 해야 합니다.Soft-delete feature must be enabled on the key vault, to protect from data loss accidental key (or key vault) deletion happens. 일시 삭제 된 리소스는 고객이 복구 하거나 제거 하지 않는 한 90 일간 보존 됩니다.Soft-deleted resources are retained for 90 days, unless recovered or purged by the customer in the meantime. 복구제거 작업에는 키 자격 증명 모음 액세스 정책과 연결된 고유 권한이 있습니다.The recover and purge actions have their own permissions associated in a key vault access policy. 일시 삭제 기능은 기본적으로 해제 되어 있으며 PowerShell 또는 CLI를 통해 사용 하도록 설정할 수 있습니다.Soft-delete feature is off by default and can be enabled via PowerShell or the CLI. Azure Portal를 통해 사용 하도록 설정할 수 없습니다.It cannot be enabled via the Azure portal.

  • Azure Active Directory id를 사용 하 여 서버 또는 관리 되는 인스턴스에 키 자격 증명 모음에 대 한 액세스 권한을 부여 합니다 (get, wrapKey, unwrapKey).Grant the server or managed instance access to the key vault (get, wrapKey, unwrapKey) using its Azure Active Directory identity. Azure Portal 사용 하는 경우 Azure AD id가 자동으로 생성 됩니다.When using the Azure portal, the Azure AD identity gets automatically created. PowerShell 또는 CLI를 사용 하는 경우 Azure AD id를 명시적으로 만들고 완료를 확인 해야 합니다.When using PowerShell or the CLI, the Azure AD identity must be explicitly created and completion should be verified. PowerShell 사용에 대 한 자세한 단계별 지침은 BYOK를 사용 하 여 Tde 구성SQL Managed Instance의 byok를 사용 하 여 tde 구성 을 참조 하세요.See Configure TDE with BYOK and Configure TDE with BYOK for SQL Managed Instance for detailed step-by-step instructions when using PowerShell.

  • AKV에서 방화벽을 사용 하는 경우 신뢰할 수 있는 Microsoft 서비스에서 방화벽을 우회 하도록 허용옵션을 사용 하도록 설정 해야 합니다.When using firewall with AKV, you must enable option Allow trusted Microsoft services to bypass the firewall.

TDE 보호기를 구성 하기 위한 요구 사항Requirements for configuring TDE protector

  • TDE 보호기는 비대칭, RSA 또는 RSA HSM 키 일 수 있습니다.TDE protector can be only asymmetric, RSA or RSA HSM key. 지원 되는 키 길이는 2048 바이트와 3072 바이트입니다.The supported key lengths are 2048 and 3072 bytes.

  • 키 활성화 날짜(설정된 경우)는 과거의 날짜와 시간이어야 합니다.The key activation date (if set) must be a date and time in the past. 만료 날짜 (설정 된 경우)는 미래의 날짜 및 시간 이어야 합니다.Expiration date (if set) must be a future date and time.

  • 키가 사용 상태여야 합니다.The key must be in the Enabled state.

  • 키 자격 증명 모음에 기존 키를 가져오는 경우 지원 되는 파일 형식 (.pfx, byok 또는. backup)에서 제공 해야 합니다.If you are importing existing key into the key vault, make sure to provide it in the supported file formats (.pfx, .byok, or .backup).

고객 관리 TDE 구성 시 권장 사항Recommendations when configuring customer-managed TDE

AKV 구성 시 권장 사항Recommendations when configuring AKV

  • 서버가 주요 자격 증명 모음의 TDE 보호기에 액세스할 때 고가용성을 보장 하기 위해 최대 500 범용 또는 200 중요 비즈니스용 단일 구독의 key vault에 연결 합니다.Associate at most 500 General Purpose or 200 Business Critical databases in total with a key vault in a single subscription to ensure high availability when server accesses the TDE protector in the key vault. 이러한 수치는 환경을 기반으로 하며 주요 자격 증명 모음 서비스 제한에 문서화 되어 있습니다.These figures are based on the experience and documented in the key vault service limits. 여기서는 서버 장애 조치 (failover) 후에 문제가 발생 하지 않도록 하는 것이 좋습니다 .이는 해당 서버에 있는 데이터베이스의 경우 자격 증명 모음에 대해 많은 키 작업을 트리거합니다.The intention here is to prevent issues after server failover, as it will trigger as many key operations against the vault as there are databases in that server.

  • 주요 자격 증명 모음에 리소스 잠금을 설정 하 여이 중요 한 리소스를 삭제할 수 있는 사용자를 제어 하 고 실수로 또는 무단 삭제를 방지할 수 있습니다.Set a resource lock on the key vault to control who can delete this critical resource and prevent accidental or unauthorized deletion. 리소스 잠금에 대 한 자세한 정보.Learn more about resource locks.

  • 모든 암호화 키에 대 한 감사 및 보고 사용: Key vault는 다른 보안 정보 및 이벤트 관리 도구에 쉽게 삽입할 수 있는 로그를 제공 합니다.Enable auditing and reporting on all encryption keys: Key vault provides logs that are easy to inject into other security information and event management tools. Operations Management Suite Log Analytics 는 이미 통합 된 서비스의 한 예입니다.Operations Management Suite Log Analytics is one example of a service that is already integrated.

  • 서로 다른 지역에 있는 두 개의 키 자격 증명 모음에 각 서버를 연결 하 고 암호화 된 데이터베이스의 고가용성을 보장 하기 위해 동일한 키 자료를 보관 합니다.Link each server with two key vaults that reside in different regions and hold the same key material, to ensure high availability of encrypted databases. TDE 보호기와 동일한 지역에 있는 key vault의 키만 표시 합니다.Mark only the key from the key vault in the same region as a TDE protector. 동일한 지역의 키 자격 증명 모음에 영향을 주는 작동이 중단 되는 경우 시스템은 원격 지역에서 키 자격 증명 모음으로 자동 전환 됩니다.System will automatically switch to the key vault in the remote region if there is an outage affecting the key vault in the same region.

TDE 보호기를 구성할 때의 권장 사항Recommendations when configuring TDE protector

  • TDE 보호기의 복사본을 안전한 장소에 보관 하거나 에스크로 서비스로 에스크로 하세요.Keep a copy of the TDE protector on a secure place or escrow it to the escrow service.

  • 키가 키 자격 증명 모음에 생성 된 경우 AKV에서 키를 처음 사용 하기 전에 키 백업을 만듭니다.If the key is generated in the key vault, create a key backup before using the key in AKV for the first time. 백업은 Azure Key Vault 으로만 복원할 수 있습니다.Backup can be restored to an Azure Key Vault only. AzKeyVaultKey 명령에 대해 자세히 알아보세요.Learn more about the Backup-AzKeyVaultKey command.

  • 키에 대 한 변경 내용이 있을 때마다 (예: 키 특성, 태그, Acl) 새 백업을 만듭니다.Create a new backup whenever any changes are made to the key (e.g. key attributes, tags, ACLs).

  • 키를 회전할 때 키 자격 증명 모음에서 이전 버전의 키를 유지합니다. 그러면 이전 데이터베이스 백업을 복원할 수 있습니다.Keep previous versions of the key in the key vault when rotating keys, so older database backups can be restored. 데이터베이스에 대 한 TDE 보호기가 변경 되 면 데이터베이스의 이전 백업은 최신 TDE 보호기를 사용 하도록 업데이트 되지 않습니다 .When the TDE protector is changed for a database, old backups of the database are not updated to use the latest TDE protector. 복원 시 각 백업에는 생성 시에 암호화 된 TDE 보호기가 필요 합니다.At restore time, each backup needs the TDE protector it was encrypted with at creation time. 키 회전은 PowerShell을 사용하여 투명한 데이터 암호화 방지 프로그램 회전에 나와 있는 지침에 따라 수행할 수 있습니다.Key rotations can be performed following the instructions at Rotate the Transparent Data Encryption Protector Using PowerShell.

  • 서비스 관리 키로 전환한 후에도 AKV에서 이전에 사용한 키를 모두 유지 합니다.Keep all previously used keys in AKV even after switching to service-managed keys. 이를 통해 AKV에 저장 된 TDE 보호기를 사용 하 여 데이터베이스 백업을 복원할 수 있습니다.It ensures database backups can be restored with the TDE protectors stored in AKV. 를 사용 하 Azure Key Vault 여 만든 TDE 보호기는 서비스 관리 키를 사용 하 여 남은 저장 된 모든 백업이 생성 될 때까지 유지 되어야 합니다.TDE protectors created with Azure Key Vault have to be maintained until all remaining stored backups have been created with service-managed keys. AzKeyVaultKey를 사용 하 여 이러한 키의 복구 가능한 백업 복사본을 만듭니다.Make recoverable backup copies of these keys using Backup-AzKeyVaultKey.

  • 데이터 손실 위험 없이 보안 인시던트 중에 잠재적으로 손상 된 키를 제거 하려면 잠재적으로 손상 된 키 제거의 단계를 따르세요.To remove a potentially compromised key during a security incident without the risk of data loss, follow the steps from the Remove a potentially compromised key.

액세스할 수 없는 TDE 보호기Inaccessible TDE protector

투명 한 데이터 암호화가 고객 관리 키를 사용 하도록 구성 된 경우 데이터베이스를 온라인 상태로 유지 하려면 TDE 보호기에 대 한 지속적인 액세스가 필요 합니다.When transparent data encryption is configured to use a customer-managed key, continuous access to the TDE protector is required for the database to stay online. 서버가 AKV에서 고객이 관리 하는 TDE 보호기에 대 한 액세스 권한을 상실 하는 경우 (최대 10 분) 데이터베이스에서 해당 오류 메시지와 함께 모든 연결을 거부 하 고 해당 상태를 액세스할 수없음으로 변경 하기 시작 합니다.If the server loses access to the customer-managed TDE protector in AKV, in up to 10 minutes a database will start denying all connections with the corresponding error message and change its state to Inaccessible. 액세스할 수 없는 상태의 데이터베이스에 대해 허용 되는 유일한 작업은 삭제 하는 것입니다.The only action allowed on a database in the Inaccessible state is deleting it.

참고

일시적인 네트워킹 중단으로 인해 데이터베이스에 액세스할 수 없는 경우에는 작업이 필요 하지 않으며 데이터베이스가 자동으로 다시 온라인 상태가 됩니다.If the database is inaccessible due to an intermittent networking outage, there is no action required and the databases will come back online automatically.

키에 대 한 액세스가 복원 된 후 데이터베이스를 다시 온라인 상태로 전환 하려면 추가 시간과 단계가 필요 하며,이는 키에 대 한 액세스 권한 없이 경과 된 시간 및 데이터베이스의 데이터 크기에 따라 달라질 수 있습니다.After access to the key is restored, taking database back online requires additional time and steps, which may vary based on the time elapsed without access to the key and the size of the data in the database:

  • 키 액세스를 8 시간 이내에 복원 하는 경우 데이터베이스는 다음 시간 내에 자동으로 치료 됩니다.If key access is restored within 8 hours, the database will auto-heal within next hour.

  • 키 액세스 복원이 8시간을 초과하면 자동 복구가 가능하지 않으며, 데이터베이스를 복구하려면 포털에서 추가적인 단계가 필요하고 데이터베이스 크기에 따라 상당한 시간이 걸릴 수 있습니다.If key access is restored after more than 8 hours, auto-heal is not possible and bringing the database back requires additional steps on the portal and can take a significant amount of time depending on the size of the database. 데이터베이스가 다시 온라인 상태가 되 면 장애 조치 (failover) 그룹 구성, 지정 시간 복원 기록 및 태그와 같은 이전에 구성 된 서버 수준 설정이 손실됩니다.Once the database is back online, previously configured server-level settings such as failover group configuration, point-in-time-restore history, and tags will be lost. 따라서 8 시간 이내에 기본 키 액세스 문제를 식별 하 고 해결할 수 있는 알림 시스템을 구현 하는 것이 좋습니다.Therefore, it's recommended implementing a notification system that allows you to identify and address the underlying key access issues within 8 hours.

우발적 TDE 보호기 액세스 해지Accidental TDE protector access revocation

키 자격 증명 모음에 대 한 충분 한 액세스 권한이 있는 사용자가 실수로 키에 대 한 서버 액세스를 사용 하지 않도록 설정할 수 있습니다.It may happen that someone with sufficient access rights to the key vault accidentally disables server access to the key by:

  • 서버에서 key vault의 get, wrapKey, unwrapKey 권한을 취소 하는 경우revoking the key vault's get, wrapKey, unwrapKey permissions from the server

  • 키 삭제deleting the key

  • 키 자격 증명 모음 삭제deleting the key vault

  • 키 자격 증명 모음의 방화벽 규칙 변경changing the key vault's firewall rules

  • Azure Active Directory에서 서버의 관리 되는 id를 삭제 하는 중deleting the managed identity of the server in Azure Active Directory

데이터베이스에 액세스할 수 없게 되는 일반적인 원인에 대해 자세히 알아보세요.Learn more about the common causes for database to become inaccessible.

고객 관리 TDE 모니터링Monitoring of the customer-managed TDE

데이터베이스 상태를 모니터링 하 고 TDE 보호기 액세스 손실에 대 한 경고를 사용 하도록 설정 하려면 다음 Azure 기능을 구성 합니다.To monitor database state and to enable alerting for loss of TDE protector access, configure the following Azure features:

  • Azure Resource Health.Azure Resource Health. TDE 보호기에 대 한 액세스 권한이 손실 된 액세스 불가능 데이터베이스는 데이터베이스에 대 한 첫 번째 연결이 거부 된 후 "사용할 수 없음"으로 표시 됩니다.An inaccessible database that has lost access to the TDE protector will show as "Unavailable" after the first connection to the database has been denied.
  • 고객 관리 키 자격 증명 모음의 TDE 보호기에 대 한 액세스가 실패 하는 활동 로그 는 활동 로그에 항목을 추가 합니다.Activity Log when access to the TDE protector in the customer-managed key vault fails, entries are added to the activity log. 이러한 이벤트에 대 한 경고를 만들면 최대한 빨리 액세스를 복구할 수 있습니다.Creating alerts for these events will enable you to reinstate access as soon as possible.
  • 사용자의 기본 설정에 따라 알림 및 경고를 보내도록 작업 그룹 을 정의할 수 있습니다 (예: 이메일/SMS/푸시/음성, 논리 앱, 웹 후크, Itsm 또는 Automation Runbook).Action Groups can be defined to send you notifications and alerts based on your preferences, e.g. Email/SMS/Push/Voice, Logic App, Webhook, ITSM, or Automation Runbook.

고객 관리 TDE를 사용 하 여 데이터베이스 백업 및 복원Database backup and restore with customer-managed TDE

Key Vault의 키를 사용 하 여 데이터베이스가 TDE로 암호화 되 면 새로 생성 된 백업도 동일한 TDE 보호기를 사용 하 여 암호화 됩니다.Once a database is encrypted with TDE using a key from Key Vault, any newly generated backups are also encrypted with the same TDE protector. TDE 보호기가 변경 되 면 데이터베이스의 이전 백업은 최신 TDE 보호기를 사용 하도록 업데이트 되지 않습니다 .When the TDE protector is changed, old backups of the database are not updated to use the latest TDE protector.

Key Vault에서 TDE 보호기로 암호화 된 백업을 복원 하려면 대상 서버에서 키 자료를 사용할 수 있는지 확인 합니다.To restore a backup encrypted with a TDE protector from Key Vault, make sure that the key material is available to the target server. 따라서 모든 이전 버전의 TDE 보호기를 key vault에 보관 하 여 데이터베이스 백업을 복원할 수 있도록 하는 것이 좋습니다.Therefore, we recommend that you keep all the old versions of the TDE protector in key vault, so database backups can be restored.

중요

언제 든 지 서버에 대해 둘 이상의 TDE 보호기를 설정할 수 있습니다.At any moment there can be not more than one TDE protector set for a server. Azure Portal 블레이드의 "키를 기본 TDE 보호기로 설정"으로 표시 된 키입니다.It's the key marked with "Make the key the default TDE protector" in the Azure portal blade. 그러나 여러 추가 키를 TDE 보호기로 표시 하지 않고 서버에 연결할 수 있습니다.However, multiple additional keys can be linked to a server without marking them as a TDE protector. 이러한 키는 DEK를 보호 하는 데 사용 되지 않지만 백업 파일이 해당 지 문으로 키를 사용 하 여 암호화 된 경우 백업에서 복원 하는 동안 사용할 수 있습니다.These keys are not used for protecting DEK, but can be used during restore from a backup, if backup file is encrypted with the key with the corresponding thumbprint.

백업을 복원 하는 데 필요한 키를 대상 서버에서 더 이상 사용할 수 없는 경우 restore try...catch: "대상 서버에 <Servername> 및 간에 만들어진 모든 AKV uri에 대 한 액세스 권한이 없습니다." 라는 오류 메시지가 반환 됩니다 <Timestamp #1> . <Timestamp #2>If the key that is needed for restoring a backup is no longer available to the target server, the following error message is returned on the restore try: "Target server <Servername> does not have access to all AKV URIs created between <Timestamp #1> and <Timestamp #2>. 모든 AKV Uri를 복원한 후 작업을 다시 시도 하세요. "Please retry operation after restoring all AKV URIs."

이를 완화 하려면 대상 서버에 대 한 AzSqlServerKeyVaultKey cmdlet을 실행 하거나 대상 관리 인스턴스의 AzSqlInstanceKeyVaultKey 을 실행 하 여 사용 가능한 키 목록을 반환 하 고 누락 된 키를 식별 합니다.To mitigate it, run the Get-AzSqlServerKeyVaultKey cmdlet for the target server or Get-AzSqlInstanceKeyVaultKey for the target managed instance to return the list of available keys and identify the missing ones. 모든 백업을 복원할 수 있도록 하려면 복원 대상 서버에 필요한 모든 키에 대 한 액세스 권한이 있는지 확인 합니다.To ensure all backups can be restored, make sure the target server for the restore has access to all of keys needed. 이러한 키는 TDE 보호기로 표시할 필요가 없습니다.These keys don't need to be marked as TDE protector.

SQL Database 백업 복구에 대해 자세히 알아보려면 SQL Database에서 데이터베이스 복구를 참조 하세요.To learn more about backup recovery for SQL Database, see Recover a database in SQL Database. SQL 풀의 백업 복구에 대해 자세히 알아보려면 Sql 풀 복구를 참조 하세요.To learn more about backup recovery for SQL Pool, see Recover a SQL Pool. SQL Managed Instance를 사용 하는 SQL Server의 네이티브 백업/복원에 대 한 자세한 내용은 빠른 시작: sql에 데이터베이스 복원 을 참조 하세요 Managed InstanceFor SQL Server's native backup/restore with SQL Managed Instance, see Quickstart: Restore a database to SQL Managed Instance

로그 파일에 대 한 추가 고려 사항: 백업 된 로그 파일은 회전 되 고 데이터베이스에서 새 TDE 보호기를 사용 하는 경우에도 원래 TDE 보호기를 사용 하 여 암호화 된 상태로 유지 됩니다.Additional consideration for log files: Backed up log files remain encrypted with the original TDE protector, even if it was rotated and the database is now using a new TDE protector. 복원할 때 데이터베이스를 복원하려면 두 키가 모두 필요합니다.At restore time, both keys will be needed to restore the database. 로그 파일이 Azure Key Vault에 저장 된 TDE 보호기를 사용 하는 경우 데이터베이스에서 서비스 관리 TDE를 사용 하도록 변경 했더라도 복원 시이 키가 필요 합니다.If the log file is using a TDE protector stored in Azure Key Vault, this key will be needed at restore time, even if the database has been changed to use service-managed TDE in the meantime.

고객 관리 TDE를 사용 하는 고가용성High availability with customer-managed TDE

서버에 대해 구성 된 지역 중복이 없는 경우에도 동일한 키 자료를 사용 하 여 서로 다른 두 지역에 두 개의 다른 키 자격 증명 모음을 사용 하도록 서버를 구성 하는 것이 좋습니다.Even in cases when there is no configured geo-redundancy for server, it is highly recommended to configure the server to use two different key vaults in two different regions with the same key material. 서버와 동일한 지역에 있는 기본 키 자격 증명 모음을 사용 하 여 TDE 보호기를 만들고 다른 Azure 지역의 키 자격 증명 모음에 키를 복제 하 여 서버에서 두 번째 키 자격 증명 모음에 액세스할 수 있도록 합니다. 그러면 데이터베이스가 실행 되는 동안 기본 키 자격 증명 모음에 가동 중단이 발생 해야 합니다.It can be accomplished by creating a TDE protector using the primary key vault co-located in the same region as the server and cloning the key into a key vault in a different Azure region, so that the server has access to a second key vault should the primary key vault experience an outage while the database is up and running.

AzKeyVaultKey cmdlet을 사용 하 여 기본 키 자격 증명 모음에서 암호화 된 형식으로 키를 검색 한 다음 AzKeyVaultKey cmdlet을 사용 하 고 두 번째 지역에서 키 자격 증명 모음을 지정 하 여 키를 복제 합니다.Use the Backup-AzKeyVaultKey cmdlet to retrieve the key in encrypted format from the primary key vault and then use the Restore-AzKeyVaultKey cmdlet and specify a key vault in the second region to clone the key. 또는 Azure Portal를 사용 하 여 키를 백업 하 고 복원 합니다.Alternatively, use the Azure portal to back up and restore the key. 다른 지역의 보조 키 자격 증명 모음에 있는 키는 TDE 보호기로 표시 되지 않아야 하며 허용 되지 않습니다.The key in the secondary key vault in the other region should not be marked as TDE protector, and it's not even allowed.

기본 키 자격 증명 모음에 영향을 주는 작동 중단이 발생 하는 경우에만 시스템은 보조 키 자격 증명 모음에 있는 동일한 지문이 있는 다른 연결 된 키로 자동으로 전환 됩니다 (있는 경우).If there is an outage affecting the primary key vault, and only then, the system will automatically switch to the other linked key with the same thumbprint in the secondary key vault, if it exists. 이 스위치는 취소 된 액세스 권한으로 인해 TDE 보호기에 액세스할 수 없거나, 키 또는 키 자격 증명 모음이 삭제 되어 고객이 의도적으로 서버에서 키에 액세스를 제한 하는 것을 의미할 수 있으므로 발생 하지 않습니다.Note though that switch will not happen if TDE protector is inaccessible because of revoked access rights, or because key or key vault is deleted, as it may indicate that customer intentionally wanted to restrict server from accessing the key.

단일 서버 HA

지리적 DR 및 고객 관리 TDEGeo-DR and customer-managed TDE

활성 지역 복제장애 조치 (failover) 그룹 시나리오 모두에서 관련 된 각 서버에는 별도의 키 자격 증명 모음이 필요 하며,이는 동일한 Azure 지역에 있는 서버와 함께 배치 되어야 합니다.In both active geo-replication and failover groups scenarios, each server involved requires a separate key vault, that must be co-located with the server in the same Azure region. 고객은 주요 자격 증명 모음에 대 한 키 자료를 일관 되 게 유지 하 여 지역에서 가동 중단으로 인해 주 데이터베이스에 액세스할 수 없게 되 고 장애 조치 (failover)가 트리거되기 때문에 지역 보조 복제본이 동기화 되 고 로컬 키 자격 증명 모음에서 동일한 키를 사용 하는 것을 담당할 수 있습니다.Customer is responsible for keeping the key material across the key vaults consistent, so that geo-secondary is in sync and can take over using the same key from its local key vault if primary becomes inaccessible due to an outage in the region and a failover is triggered. 최대 4 개의 보조 복제본을 구성할 수 있으며 체인 (보조의 보조)은 지원 되지 않습니다.Up to four secondaries can be configured, and chaining (secondaries of secondaries) is not supported.

불완전 한 키 자료로 인해 지역에서 복제를 설정 하거나 수행 하는 동안 문제를 방지 하려면 고객 관리 TDE를 구성할 때 다음 규칙을 따르는 것이 중요 합니다.To avoid issues while establishing or during geo-replication due to incomplete key material, it's important to follow these rules when configuring customer-managed TDE:

  • 관련 된 모든 주요 자격 증명 모음에는 동일한 속성 및 해당 서버에 대 한 동일한 액세스 권한이 있어야 합니다.All key vaults involved must have same properties, and same access rights for respective servers.

  • 관련 된 모든 key vault는 동일한 키 자료를 포함 해야 합니다.All key vaults involved must contain identical key material. 현재 TDE 보호기 뿐만 아니라 백업 파일에 사용 될 수 있는 이전의 모든 TDE 보호기에 적용 됩니다.It applies not just to the current TDE protector, but to the all previous TDE protectors that may be used in the backup files.

  • 처음에는 TDE 보호기의 초기 설정 및 회전이 모두 보조 복제본에서 수행 된 다음 주 복제본에서 수행 되어야 합니다.Both initial setup and rotation of the TDE protector must be done on the secondary first, and then on primary.

장애 조치 그룹 및 Geo-DR

장애 조치 (failover)를 테스트 하려면 활성 지역 복제 개요의 단계를 따르세요.To test a failover, follow the steps in Active geo-replication overview. 정기적으로 테스트 장애 조치 (failover)를 수행 하 여 SQL Database에서 두 키 자격 증명 모음에 대 한 액세스 권한을 유지 관리 하는지 확인 해야 합니다.Testing failover should be done on a regular basis to validate that SQL Database has maintained access permission to both key vaults.

다음 단계Next steps

고객 관리 TDE를 사용 하 여 일반적인 작업에 대해 다음 PowerShell 샘플 스크립트를 확인할 수도 있습니다.You may also want to check the following PowerShell sample scripts for the common operations with customer-managed TDE: