Azure Synapse Analytics에서 투명한 데이터 암호화 보호기를 회전시키세요

Tip

Microsoft Fabric Data Warehouse는 데이터 레이크 기반의 엔터프라이즈 규모 관계형 웨어하우스로, 미래 대비 아키텍처, 기본 제공 AI 및 새로운 기능을 제공합니다. 데이터 웨어하우징이 처음이라면, Fabric Data Warehouse부터 시작하세요. 기존 전용 SQL 풀 워크로드는 업그레이드하면 Fabric을 통해 데이터 과학, 실시간 분석 및 보고 전반에 걸쳐 새로운 기능에 액세스할 수 있습니다.

적용 대상: Azure Synapse Analytics 전용 SQL 풀(이전의 SQL DW)

이 글은 Azure Key Vault의 TDE 보호기를 사용하는 SQL 서버의 키 회전에 대해 설명합니다. 서버에 대한 논리적 TDE 보호기를 회전한다는 것은 서버의 데이터베이스를 보호하는 지원되는 새 키로 전환하는 것을 의미합니다. 구성에 따라 TDE 보호기는 Azure Key Vault 또는 Azure Key Vault 관리형 HSM에 저장된 지원되는 RSA(비대칭) 또는 AES(대칭) 키로 백업할 수 있습니다. 키 회전은 온라인 작업이며, 데이터베이스 전체를 복호화하지 않고 데이터 암호화 키를 복호화하고 재암호화하는 작업이기 때문에 몇 초 만에 완료되어야 합니다.

이 문서에서는 서버에서 TDE 보호기를 회전하는 자동화된 방법과 수동 방법을 둘 다 설명합니다.

Note

이 글에서는 독립형 전용 SQL 풀(이전 명칭: SQL DW)에 대해 다룹니다. Synapse 작업 공간 내 전용 SQL 풀에 대해서는 Azure Synapse Analytics workspaces의 암호화를 참조하세요.

중요 고려 사항

  • 최소한 데이터베이스 백업 보존 기간 동안은 이전 키 버전을 유지하세요. 오래된 백업을 복원하려면 해당 백업을 암호화한 보호기가 필요합니다.
  • 서비스 관리 프로텍터로 다시 전환하더라도 기존 키를 유지하세요.
  • 일시정지된 전용 SQL 풀은 교체 전에 재개되어야 합니다.
  • 키 금고와 키 이름을 합친 값은 94자를 초과할 수 없습니다.

Prerequisites

  • 이 글은 이미 Azure Key Vault의 키를 Azure SQL Database나 Azure Synapse Analytics의 TDE 보호기로 사용하고 있다고 가정합니다. 자세한 내용은 Azure Synapse Analytics의 Customer-managed TDE를 참조하세요.
  • Azure PowerShell이 설치되어 작동해야 합니다.

Tip

권장 선택 사항 - HSM(하드웨어 보안 모듈)이나 로컬 키 저장소의 TDE 보호기에 대한 키 자료를 먼저 만들고 키 자료를 Azure Key Vault로 가져옵니다. 더 자세한 내용은 하드웨어 보안 모듈(HSM)과 Azure Key Vault 사용 지침을 참조하세요.

Azure Portal로 이동합니다.

자동 키 회전

서버나 데이터베이스에 TDE 프로텍터를 설정할 때 TDE 프로텍터의 자동 회전 을 활성화하세요. Azure 포털에서 자동 회전을 활성화하거나 다음 PowerShell 또는 Azure CLI 명령을 사용해 활성화할 수 있습니다. 자동 교체를 활성화하면 서버나 데이터베이스가 TDE 보호기로 사용되는 키의 새 버전을 확인하기 위해 키 자격 증명 모음을 지속적으로 확인합니다. 서버나 데이터베이스가 새로운 키 버전을 감지하면 24시간 이내에 TDE 프로텍터를 최신 키 버전으로 자동으로 전환합니다.

Azure Key Vault의 자동 키 교체 기능을 서버, 데이터베이스 또는 관리형 인스턴스의 자동 교체 기능과 함께 사용하여 TDE 키에 대한 엔드투엔드 제로 터치 교체를 구현하십시오.

Azure portal

Azure Portal 사용:

  1. 기존 서버 또는 관리되는 인스턴스에 대한 투명한 데이터 암호화 섹션으로 이동합니다.
  2. 고객 관리 키 옵션을 선택하고 TDE 프로텍터로 사용할 키 금고와 키를 선택하세요.
  3. 자동 회전 키 체크박스를 선택하세요.
  4. 저장을 선택합니다.

PowerShell

Az PowerShell 모듈 설치 지침은 Azure PowerShell 설치를 참조하세요.

PowerShell을 사용하여 TDE 프로텍터의 자동 회전을 활성화하려면 다음 스크립트를 참조하세요. Azure Key Vault에서 <keyVaultKeyId>을(를) 가져올 수 있습니다.

Set-AzSqlServerTransparentDataEncryptionProtector 사용:

Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
   -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName> `
    -AutoRotationEnabled <boolean>

Azure CLI

현재 Azure CLI 릴리스 설치에 관한 정보는 Azure CLI 설치 문서를 참조하세요.

Azure CLI를 사용하여 TDE 프로텍터의 자동 회전을 활성화하려면 다음 스크립트를 참고하세요.

az sql server tde-key set을 사용합니다:

az sql server tde-key set --server-key-type AzureKeyVault
                          --auto-rotation-enabled true
                          [--kid] <keyVaultKeyId>
                          [--resource-group] <SQLDatabaseResourceGroupName> 
                          [--server] <logicalServerName>

수동 키 회전

수동 키 회전은 다음 명령을 사용하여 새 키를 추가합니다. 새 키는 새 키 이름 하에 또는 심지어 다른 키 보관소에 위치할 수 있습니다. Azure 포털을 사용해 키를 수동으로 회전시킬 수도 있습니다.

Key Vault에서 키를 수동으로 회전시키고 새 키 버전을 생성할 때(수동 또는 자동 키 회전 정책을 통해) 서버에서 해당 키 버전을 TDE 프로텍터로 수동으로 설정해야 합니다.

Note

키 금고와 키 이름의 총 길이는 94자를 초과할 수 없습니다.

Azure portal

  1. SQL 서버에서 투명한 데이터 암호화를 엽니다.
  2. 고객 관리 키를 선택하세요.
  3. 고객 관리 키 옵션을 선택하고 새로운 TDE 프로텍터로 사용할 키 금고와 키를 선택하세요.
  4. 저장을 선택합니다.

PowerShell

Add-AzKeyVaultKey 명령을 사용하여 키 자격 증명 모음에 새 키를 추가합니다.

# add a new key to Azure Key Vault
Add-AzKeyVaultKey -VaultName <keyVaultName> -Name <keyVaultKeyName> -Destination <hardwareOrSoftware>

다음 명령을 사용합니다.


# add the new key from Azure Key Vault to the server
Add-AzSqlServerKeyVaultKey -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
  
# set the key as the TDE protector for all resources under the server
Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
   -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>

Azure CLI

az keyvault key create 명령을 사용하여 키 자격 증명 모음에 새 키를 추가합니다.

# add a new key to Azure Key Vault
az keyvault key create --name <keyVaultKeyName> --vault-name <keyVaultName> --protection <hsmOrSoftware>

다음 명령을 사용합니다.

# add the new key from Azure Key Vault to the server
az sql server key create --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>

# set the key as the TDE protector for all resources under the server
az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>

TDE 보호 모드 전환

Azure portal

Azure 포털을 사용해 TDE 프로텍터를 Microsoft 관리 모드에서 BYOK 모드로 전환하세요:

  1. 기존 서버 또는 관리되는 인스턴스에 대한 투명한 데이터 암호화 메뉴로 이동합니다.
  2. 고객 관리형 키 옵션을 선택합니다.
  3. TDE 프로텍터로 사용할 키 금고와 키를 선택하세요.
  4. 저장을 선택합니다.

PowerShell

  • TDE 보호기를 Microsoft 관리에서 BYOK 모드로 전환하려면 Set-AzSqlServerTransparentDataEncryptionProtector 명령을 사용합니다.

    Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault `
         -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    
  • TDE 보호기를 BYOK 모드에서 Microsoft 관리로 전환하려면 Set-AzSqlServerTransparentDataEncryptionProtector 명령을 사용합니다.

    Set-AzSqlServerTransparentDataEncryptionProtector -Type ServiceManaged `
         -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    

Azure CLI

다음 예에서는 az sql server tde-key set를 사용합니다.

  • TDE 보호기를 Microsoft 관리에서 BYOK 모드로 전환하려면:

    az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>
    
  • TDE 보호기를 BYOK 모드에서 Microsoft 관리로 전환하려면:

    az sql server tde-key set --server-key-type ServiceManaged --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>