SQL Database, SQL Managed Instance 및 Azure Synapse Analytics에 대 한 투명 한 데이터 암호화Transparent data encryption for SQL Database, SQL Managed Instance, and Azure Synapse Analytics

적용 대상: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics(SQL DW)

TDE (투명 한 데이터 암호화) 는 미사용 데이터를 암호화 하 여 악의적인 오프 라인 활동의 위협에 대해 Azure SQL Database, azure SQL Managed Instance 및 Azure Synapse 분석을 보호 합니다.Transparent data encryption (TDE) helps protect Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse Analytics against the threat of malicious offline activity by encrypting data at rest. 데이터베이스, 연결된 백업 및 미사용 로그 파일 트랜잭션에 애플리케이션을 변경하지 않고 실시간으로 암호화 및 암호 해독을 수행합니다.It performs real-time encryption and decryption of the database, associated backups, and transaction log files at rest without requiring changes to the application. 기본적으로 TDE는 새로 배포 된 모든 SQL 데이터베이스에 대해 사용 하도록 설정 되며, Azure SQL Database, Azure SQL Managed Instance의 이전 데이터베이스에 대해서는 수동으로 사용 하도록 설정 해야 합니다.By default, TDE is enabled for all newly deployed SQL Databases and must be manually enabled for older databases of Azure SQL Database, Azure SQL Managed Instance. Azure Synapse Analytics에 대해 TDE를 수동으로 사용 하도록 설정 해야 합니다.TDE must be manually enabled for Azure Synapse Analytics.

TDE를 통해 페이지 수준에서 데이터의 실시간 I/O 암호화 및 암호 해독을 수행합니다.TDE performs real-time I/O encryption and decryption of the data at the page level. 각 페이지는 메모리로 읽을 때 해독된 다음, 디스크에 쓰기 전에 암호화됩니다.Each page is decrypted when it's read into memory and then encrypted before being written to disk. TDE는 DEK (데이터베이스 암호화 키) 라고 하는 대칭 키를 사용 하 여 전체 데이터베이스의 저장소를 암호화 합니다.TDE encrypts the storage of an entire database by using a symmetric key called the Database Encryption Key (DEK). 데이터베이스 시작 시 암호화 된 DEK는 해독 되어 SQL Server 데이터베이스 엔진 프로세스의 데이터베이스 파일을 암호 해독 하 고 다시 암호화 하는 데 사용 됩니다.On database startup, the encrypted DEK is decrypted and then used for decryption and re-encryption of the database files in the SQL Server database engine process. DEK는 TDE 보호기에 의해 보호 됩니다.DEK is protected by the TDE protector. TDE 보호기는 서비스 관리 인증서 (서비스 관리 투명 한 데이터 암호화) 또는 Azure Key Vault 에 저장 된 비대칭 키 (고객이 관리 하는 투명 한 데이터 암호화) 중 하나입니다.TDE protector is either a service-managed certificate (service-managed transparent data encryption) or an asymmetric key stored in Azure Key Vault (customer-managed transparent data encryption).

Azure SQL Database 및 Azure Synapse의 경우 TDE 보호기는 서버 수준에서 설정 되 고 해당 서버와 연결 된 모든 데이터베이스에서 상속 됩니다.For Azure SQL Database and Azure Synapse, the TDE protector is set at the server level and is inherited by all 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 it is inherited by all encrypted databases on that instance. 서버라는 용어는 달리 언급하지 않는 한, 이 문서 전체에서 서버와 인스턴스를 모두 나타냅니다.The term server refers both to server and instance throughout this document, unless stated differently.

중요

SQL Database에서 새로 만든 모든 데이터베이스는 서비스 관리 투명 한 데이터 암호화를 사용 하 여 기본적으로 암호화 됩니다.All newly created databases in SQL Database are encrypted by default by using service-managed transparent data encryption. 2017 년 5 월 이전에 만든 기존 SQL database와 복원, 지리적 복제 및 데이터베이스 복사를 통해 만든 SQL 데이터베이스는 기본적으로 암호화 되지 않습니다.Existing SQL databases created before May 2017 and SQL databases created through restore, geo-replication, and database copy are not encrypted by default. 2019 2 월 이전에 만든 기존 SQL Managed Instance 데이터베이스는 기본적으로 암호화 되지 않습니다.Existing SQL Managed Instance databases created before February 2019 are not encrypted by default. 복원을 통해 만든 SQL Managed Instance 데이터베이스는 원본에서 암호화 상태를 상속 합니다.SQL Managed Instance databases created through restore inherit encryption status from the source.

참고

TDE는 Azure SQL Database 및 Azure SQL Managed Instance에서 master 데이터베이스를 암호화 하는 데 사용할 수 없습니다.TDE cannot be used to encrypt the master database in Azure SQL Database and Azure SQL Managed Instance. master 데이터베이스에는 사용자 데이터베이스에서 TDE 작업을 수행하는 데 필요한 개체가 포함되어 있습니다.The master database contains objects that are needed to perform the TDE operations on the user databases.

서비스 관리 투명한 데이터 암호화Service-managed transparent data encryption

Azure에서 TDE의 기본 설정은 DEK가 기본 제공 서버 인증서로 보호 되는 것입니다.In Azure, the default setting for TDE is that the DEK is protected by a built-in server certificate. 기본 제공 서버 인증서는 각 서버에 대해 고유 하며, 사용 되는 암호화 알고리즘은 AES 256입니다.The built-in server certificate is unique for each server and the encryption algorithm used is AES 256. 데이터베이스가 지역에서 복제 관계에 있는 경우 주 데이터베이스와 지역 보조 데이터베이스는 주 데이터베이스의 부모 서버 키로 보호 됩니다.If a database is in a geo-replication relationship, both the primary and geo-secondary databases are protected by the primary database's parent server key. 두 개의 데이터베이스가 동일한 서버에 연결되어 있으면 동일한 기본 제공 인증서도 공유합니다.If two databases are connected to the same server, they also share the same built-in certificate. Microsoft는 내부 보안 정책에 따라 이러한 인증서를 자동으로 회전하며, 루트 키는 Microsoft 내부 비밀 저장소를 통해 보호됩니다.Microsoft automatically rotates these certificates in compliance with the internal security policy and the root key is protected by a Microsoft internal secret store. 고객은 Microsoft 보안 센터에서 제공 하는 독립 타사 감사 보고서에서 내부 보안 정책에 대 한 SQL DATABASE 및 SQL Managed Instance 준수를 확인할 수 있습니다.Customers can verify SQL Database and SQL Managed Instance compliance with internal security policies in independent third-party audit reports available on the Microsoft Trust Center.

또한 Microsoft는 지역 복제 및 복원에 필요한 대로 키를 원활하게 이동하고 관리합니다.Microsoft also seamlessly moves and manages the keys as needed for geo-replication and restores.

고객 관리형 투명한 데이터 암호화 - Bring Your Own KeyCustomer-managed transparent data encryption - Bring Your Own Key

고객 관리 TDE는 TDE에 대 한 BYOK (Bring Your Own Key) 지원이 라고도 합니다.Customer-managed TDE is also referred to as Bring Your Own Key (BYOK) support for TDE. 이 시나리오에서 DEK를 암호화 하는 TDE 보호기는 고객이 관리 하는 비대칭 키로, 고객이 소유 하 고 관리 하는 Azure Key Vault (Azure의 클라우드 기반 외부 키 관리 시스템)에 저장 되 고 키 자격 증명 모음을 벗어날 수 없습니다.In this scenario, the TDE Protector that encrypts the DEK is a customer-managed asymmetric key, which is stored in a customer-owned and managed Azure Key Vault (Azure's cloud-based external key management system) and never leaves the key vault. TDE 보호기는 key vault에 의해 생성 되거나 온-프레미스 HSM (하드웨어 보안 모듈) 장치에서 주요 자격 증명 모음으로 전송 될 수 있습니다.The TDE Protector can be generated by the key vault or transferred to the key vault from an on-premises hardware security module (HSM) device. DEK를 해독 하 고 암호화 하려면 SQL Database, SQL Managed Instance 및 Azure Synapse에 고객 소유 키 자격 증명 모음에 대 한 권한을 부여 해야 합니다.SQL Database, SQL Managed Instance, and Azure Synapse need to be granted permissions to the customer-owned key vault to decrypt and encrypt the DEK. 키 자격 증명 모음에 대 한 서버 권한이 해지 되 면 데이터베이스에 액세스할 수 없고 모든 데이터가 암호화 됩니다.If permissions of the server to the key vault are revoked, a database will be inaccessible, and all data is encrypted

TDE와 Azure Key Vault가 통합되면 사용자는 키 회전, Key Vault 권한, 키 백업을 포함한 키 관리 작업을 제어하고, Azure Key Vault 기능을 사용하여 모든 TDE 보호기에 감사/보고를 사용하도록 설정할 수 있습니다.With TDE with Azure Key Vault integration, users can control key management tasks including key rotations, key vault permissions, key backups, and enable auditing/reporting on all TDE protectors using Azure Key Vault functionality. Key Vault 중앙 키 관리를 제공 하 고, 긴밀 하 게 모니터링 되는 Hsm을 활용 하며, 키 및 데이터 관리 간에 업무를 분리 하 여 보안 정책을 준수 하는 데 도움을 줍니다.Key Vault provides central key management, leverages tightly monitored HSMs, and enables separation of duties between management of keys and data to help meet compliance with security policies. Azure SQL Database 및 Azure Synapse의 BYOK에 대 한 자세한 내용은 Azure Key Vault 통합으로 투명 한 데이터 암호화를 참조 하세요.To learn more about BYOK for Azure SQL Database and Azure Synapse, see Transparent data encryption with Azure Key Vault integration.

Azure Key Vault 통합에서 TDE 사용을 시작 하려면 Key Vault에서 고유한 키를 사용 하 여 투명 한 데이터 암호화 설정방법 가이드를 참조 하세요.To start using TDE with Azure Key Vault integration, see the how-to guide Turn on transparent data encryption by using your own key from Key Vault.

투명한 데이터 암호화로 보호된 데이터베이스 이동Move a transparent data encryption-protected database

Azure 내에서 작업용 데이터베이스를 해독할 필요가 없습니다.You don't need to decrypt databases for operations within Azure. 원본 데이터베이스 또는 주 데이터베이스의 TDE 설정은 대상에서 투명하게 상속됩니다.The TDE settings on the source database or primary database are transparently inherited on the target. 포함되는 작업은 다음과 같습니다.Operations that are included involve:

  • 지역 복원Geo-restore
  • 셀프 서비스 특정 시점 복원Self-service point-in-time restore
  • 삭제된 데이터베이스 복원Restoration of a deleted database
  • 활성 지리적 복제Active geo-replication
  • 데이터베이스 복사본 만들기Creation of a database copy
  • Azure SQL Managed Instance에 백업 파일 복원Restore of backup file to Azure SQL Managed Instance

중요

암호화에 사용 되는 인증서에 액세스할 수 없으므로 서비스 관리 TDE로 암호화 된 데이터베이스의 수동 복사 전용 백업 수행은 Azure SQL Managed Instance에서 지원 되지 않습니다.Taking manual COPY-ONLY backup of a database encrypted by service-managed TDE is not supported in Azure SQL Managed Instance, since the certificate used for encryption is not accessible. 지정 시간 복원 기능을 사용 하 여이 유형의 데이터베이스를 다른 SQL Managed Instance 이동 하거나 고객 관리 키로 전환할 수 있습니다.Use point-in-time-restore feature to move this type of database to another SQL Managed Instance, or switch to customer-managed key.

TDE로 보호 되는 데이터베이스를 내보내면 데이터베이스의 내보낸 내용이 암호화 되지 않습니다.When you export a TDE-protected database, the exported content of the database isn't encrypted. 이 내보낸 콘텐츠는 암호화되지 않은 BACPAC 파일에 저장됩니다.This exported content is stored in unencrypted BACPAC files. BACPAC 파일을 적절 하 게 보호 하 고 새 데이터베이스 가져오기가 완료 된 후 TDE를 사용 하도록 설정 해야 합니다.Be sure to protect the BACPAC files appropriately and enable TDE after import of the new database is finished.

예를 들어 SQL Server 인스턴스에서 BACPAC 파일을 내보낸 경우 새 데이터베이스의 가져온 콘텐츠는 자동으로 암호화 되지 않습니다.For example, if the BACPAC file is exported from a SQL Server instance, the imported content of the new database isn't automatically encrypted. 마찬가지로 BACPAC 파일을 SQL Server 인스턴스로 가져오면 새 데이터베이스도 자동으로 암호화 되지 않습니다.Likewise, if the BACPAC file is imported to a SQL Server instance, the new database also isn't automatically encrypted.

한 가지 예외는 SQL Database에서 데이터베이스를 내보내는 경우입니다.The one exception is when you export a database to and from SQL Database. TDE는 새 데이터베이스에 대해 사용 하도록 설정 되어 있지만 BACPAC 파일 자체는 여전히 암호화 되지 않습니다.TDE is enabled on the new database, but the BACPAC file itself still isn't encrypted.

투명 한 데이터 암호화 관리Manage transparent data encryption

Azure Portal에서 TDE를 관리 합니다.Manage TDE in the Azure portal.

Azure Portal를 통해 TDE를 구성 하려면 Azure 소유자, 참가자 또는 SQL 보안 관리자로 연결 되어 있어야 합니다.To configure TDE through the Azure portal, you must be connected as the Azure Owner, Contributor, or SQL Security Manager.

데이터베이스 수준에서 TDE를 사용 하거나 사용 하지 않도록 설정 합니다.Enable and disable TDE on the database level. Azure SQL Managed Instance Transact-sql (T-sql)을 사용 하 여 데이터베이스에서 TDE를 설정 및 해제 합니다.For Azure SQL Managed Instance use Transact-SQL (T-SQL) to turn TDE on and off on a database. Azure SQL Database 및 Azure Synapse의 경우 Azure 관리자 또는 참가자 계정으로 로그인 한 후 Azure Portal 에서 데이터베이스에 대 한 tde를 관리할 수 있습니다.For Azure SQL Database and Azure Synapse, you can manage TDE for the database in the Azure portal after you've signed in with the Azure Administrator or Contributor account. 사용자 데이터베이스에서 TDE 설정을 찾습니다.Find the TDE settings under your user database. 기본적으로 서비스 관리 투명한 데이터 암호화를 사용하도록 설정되어 있습니다.By default, service-managed transparent data encryption is used. 데이터베이스를 포함 하는 서버에 대해 TDE 인증서가 자동으로 생성 됩니다.A TDE certificate is automatically generated for the server that contains the database.

서비스 관리 투명한 데이터 암호화

서버 또는 인스턴스 수준에서 TDE 보호기 라는 TDE 마스터 키를 설정 합니다.You set the TDE master key, known as the TDE protector, at the server or instance level. BYOK 지원으로 TDE를 사용 하 고 Key Vault의 키로 데이터베이스를 보호 하려면 서버에서 TDE 설정을 엽니다.To use TDE with BYOK support and protect your databases with a key from Key Vault, open the TDE settings under your server.

Bring Your Own Key 지원을 통한 투명한 데이터 암호화