Azure Key Vault의 고객 관리 키를 사용한 투명한 데이터 암호화에 대한 일반적인 오류

적용 대상: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

이 문서에서는 Azure Key Vault에서 고객 관리형 키와 함께 TDE(투명한 데이터 암호화)를 사용하도록 구성된 데이터베이스에 액세스할 수 없게 된 Azure Key Vault 키 액세스 문제를 식별하고 해결하는 방법을 설명합니다.

참고 항목

Microsoft Entra ID 는 이전에 Azure AD(Azure Active Directory)라고 했습니다.

소개

TDE가 Azure Key Vault에서 고객 관리형 키를 사용하도록 구성된 경우 데이터베이스가 온라인 상태를 유지하려면 이 TDE 보호기에서 지속적으로 액세스해야 합니다. 논리 SQL Server 또는 관리되는 인스턴스가 Azure Key Vault의 고객 관리형 TDE 보호기에 대한 액세스 권한을 잃게 되면 데이터베이스는 적절한 오류 메시지와 함께 모든 연결을 거부하고 Azure Portal에서 해당 상태를 "액세스할 수 없음"으로 변경합니다.

처음 30분 동안 기본 Azure Key Vault 키 액세스 문제가 해결되면 데이터베이스가 자동으로 복구되고 온라인 상태가 됩니다. 즉, 일시적인 모든 네트워크 중단 시나리오의 경우 사용자 작업이 필요하지 않으며 데이터베이스는 자동으로 온라인 상태가 됩니다. 대부분의 경우 기본 키 자격 증명 모음 키 액세스 문제를 해결하려면 사용자 작업이 필요합니다.

액세스할 수 없는 데이터베이스가 더 이상 필요하지 않은 경우 즉시 삭제하여 비용 발생을 중지할 수 있습니다. Azure Key Vault 키에 대한 액세스가 복원되고 데이터베이스가 다시 온라인 상태가 될 때까지 데이터베이스에 대한 기타 모든 작업은 허용되지 않습니다. 고객 관리형 키로 암호화된 데이터베이스에 액세스할 수 없는 동안에는 TDE 옵션을 고객 관리형에서 서버의 서비스 관리형 키로 변경할 수도 없습니다. 이 기능은 TDE 보호기에 대한 권한이 해지된 상태에서 무단 액세스로부터 데이터를 보호하는 데 필요합니다.

데이터베이스가 30분 넘게 액세스할 수 없게 된 후에는 더 이상 자동으로 복구되지 않습니다. 해당 기간 후에 필요한 Azure Key Vault 키 액세스가 복원된 경우 데이터베이스를 다시 온라인 상태로 전환하려면 수동으로 키 액세스의 유효성을 다시 검사해야 합니다. 이 경우 데이터베이스를 다시 온라인 상태로 만드는 데는 데이터베이스 크기에 따라 상당한 시간이 걸릴 수 있습니다. 데이터베이스가 다시 온라인 상태가 되면 장애 조치(failover) 그룹, PITR 기록 및 태그와 같은 이전에 구성된 설정이 손실됩니다. 따라서 가능한 한 빨리 기본 키 자격 증명 모음 키 액세스 문제를 인식하고 해결할 수 있는 작업 그룹을 사용하여 알림 시스템을 구현하는 것이 좋습니다.

데이터베이스에 액세스할 수 없게 되는 일반적인 오류

Key Vault에서 TDE를 사용할 때 발생하는 대부분의 문제는 다음 구성 오류 중 하나로 인해 발생합니다.

키 자격 증명 모음을 사용할 수 없거나 존재하지 않습니다.

  • Key Vault를 실수로 삭제되었습니다.
  • 방화벽은 Azure Key Vault에 대해 구성되었지만 Microsoft 서비스 대한 액세스를 허용하지 않습니다.
  • 일시적인 네트워크 오류로 인해 Key Vault를 사용할 수 없습니다.

키 자격 증명 모음에 액세스할 수 있는 권한이 없거나 키가 없습니다.

  • 키가 실수로 삭제되었거나, 사용하지 않도록 설정되었거나, 키가 만료되었습니다.
  • 서버의 관리 ID(시스템 할당 또는 사용자 할당)가 실수로 삭제되었습니다.
  • 서버가 다른 구독으로 이동되었습니다. 서버를 다른 구독으로 이동할 때 새 관리 ID(시스템 할당 또는 사용자 할당)가 서버에 할당되어야 합니다.
  • 키에 대한 서버의 관리 ID에 부여된 권한이 부족합니다(가져오기, 래핑 및 래핑 해제 권한을 포함하지 않음).
  • 서버의 관리 ID에 부여된 권한이 키 자격 증명 모음에서 취소되었습니다.

일반적인 오류 식별 및 해결

이 섹션에서는 가장 일반적인 오류에 대한 문제 해결 단계를 나열합니다.

누락된 서버 ID

오류 메시지

401 AzureKeyVaultNoServerIdentity - 서버 ID가 서버에서 올바르게 구성되지 않았습니다. 지원 담당자에게 문의하세요.

감지

다음 cmdlet 또는 명령을 사용하여 ID가 서버에 할당되었는지 확인합니다.

완화 방법

다음 cmdlet 또는 명령을 사용하여 서버에 대한 사용자 할당 또는 시스템 할당 관리 ID를 구성합니다.

Azure Portal에서 Key Vault로 이동한 다음 액세스 정책으로 이동합니다. 다음 단계를 완료합니다.

  1. 추가 단추를 사용하여 이전 단계에서 만든 서버에 대한 AppId를 추가합니다.
  2. 가져오기, 래핑 및 래핑 해제의 주요 권한 할당

자세한 내용은 서버에 관리 ID 할당을 참조하세요.

Important

Key Vault를 사용하여 TDE를 처음 구성한 후 Azure SQL Database 또는 Azure SQL Managed Instance에 대한 논리 서버를 새 Microsoft Entra 테넌트로 이동하는 경우 이 관리 ID 구성은 새 테넌트에서 다시 실행되어야 합니다.

누락된 키 자격 증명 모음

오류 메시지

503 AzureKeyVault커넥트ionFailed - Azure Key Vault에 대한 연결 시도가 실패했기 때문에 서버에서 작업을 완료할 수 없습니다.

감지

키 URI 및 키 자격 증명 모음을 식별하려면 다음을 수행합니다.

  1. 다음 cmdlet 또는 명령을 사용하여 특정 서버 인스턴스의 키 URI를 가져옵니다.

  2. 키 URI를 사용하여 키 자격 증명 모음을 식별합니다.

    • Azure PowerShell: $MyServerKeyVaultKey 변수의 속성을 검사하여 키 자격 증명 모음에 대한 세부 정보를 가져올 수 있습니다.

    • Azure CLI: 반환된 서버 암호화 보호기에서 키 자격 증명 모음에 대한 세부 정보를 검사합니다.

완화 방법

키 자격 증명 모음을 사용할 수 있는지 확인합니다.

  • 키 자격 증명 모음을 사용할 수 있고 서버에 액세스 권한이 있는지 확인합니다.
  • 키 자격 증명 모음이 방화벽 뒤에 있는 경우 Microsoft 서비스 키 자격 증명 모음에 액세스할 수 있도록 허용하는 검사 상자가 선택되어 있는지 확인합니다.
  • Key Vault를 실수로 삭제한 경우 구성을 처음부터 완료해야 합니다.

누락된 키

오류 메시지

404 ServerKeyNotFound - 요청된 서버 키를 현재 구독에서 찾을 수 없습니다.

409 ServerKeyDoesNotExists - 서버 키가 없습니다.

감지

키 URI 및 키 자격 증명 모음을 식별하려면 다음을 수행합니다.

  • 누락된 키 자격 증명 모음의 cmdlet 또는 명령을 사용하여 논리 SQL Server 인스턴스에 추가된 키 URI를 식별합니다. 명령을 실행하면 키 목록이 반환됩니다.

완화 방법

TDE 보호기가 Key Vault에 있는지 확인합니다.

  1. Key Vault를 식별하고 Azure Portal의 Key Vault로 이동합니다.
  2. 키 URI로 식별된 키가 있는지 확인합니다.

누락된 권한

오류 메시지

401 AzureKeyVaultMissingPermissions - 서버에 Azure Key Vault에 대한 필수 권한이 없습니다.

감지

키 URI 및 키 자격 증명 모음을 식별하려면 다음을 수행합니다.

  • 누락된 키 자격 증명 모음의 cmdlet 또는 명령을 사용하여 논리 SQL Server 인스턴스에서 사용하는 키 자격 증명 모음을 식별합니다.

완화 방법

서버에 키 자격 증명 모음에 대한 사용 권한 및 키에 액세스할 수 있는 권한이 있는지 확인:

  • Azure Portal에서 키 자격 >증명 모음 액세스 정책으로 이동합니다. 서버의 관리 ID(시스템 할당 또는 사용자 할당)를 찾습니다.
  • 서버 ID가 있는 경우 다음 키 권한이 있는지 확인합니다. Get, WrapKey, UnwrapKey.
  • 서버 ID가 없는 경우 새로 추가 단추를 사용하여 추가합니다.

활동 로그에서 TDE 상태 가져오기

Azure Key Vault 키 액세스 문제로 인한 데이터베이스 상태를 모니터링할 수 있도록 하기 위해 Azure Resource Manager URL을 기반으로 하는 리소스 ID에 대한 활동 로그에 다음 이벤트가 기록됩니다.

참고 항목

이벤트는 키 자격 증명 모음 액세스 문제가 발생한 시간부터 활동 로그에 표시되는 데 최소 15~30분이 걸릴 수 있습니다.

서비스에서 Azure Key Vault 키에 대한 액세스 권한을 상실하는 경우 이벤트

Azure SQL Database

EventName: MakeDatabaseInaccessible

상태: 시작됨

설명: {server_name} 서버의 {database_name} 데이터베이스에서 Azure Key Vault 키에 대한 액세스 권한이 손실되었으며 이제 액세스할 수 없는 상태로 전환되고 있습니다.

Azure SQL Managed Instance

EventName: MakeManagedDbInaccessible

상태: 시작됨

설명: {server_name} 관리되는 서버의 {database_name} 데이터베이스에서 Azure Key Vault 키에 대한 액세스 권한이 손실되었으며 이제 액세스할 수 없는 상태로 전환되고 있습니다.

30분 이내에 문제가 해결되지 않았고 Azure Key Vault 키 액세스의 유효성을 수동으로 검사해야 하는 이벤트

Azure SQL Database

EventName: MakeDatabaseInaccessible

상태: 성공

설명: 데이터베이스에 액세스할 수 없으면 사용자가 Azure Key Vault 오류를 해결하고 키 유효성 재검사를 사용하여 Azure Key Vault 키에 대한 액세스를 다시 설정해야 합니다.

Azure SQL Managed Instance

EventName: MakeManagedDbInaccessible

상태: 성공

설명: {server_name} 관리되는 서버의 {database_name} 데이터베이스가 Azure Key Vault 키에 액세스할 수 없으며 사용자가 키에 대한 액세스를 다시 설정해야 합니다.

Azure Key Vault 키 액세스의 유효성 재검사에 성공하고 db가 다시 온라인 상태가 되는 경우 이벤트

Azure SQL Database

EventName: MakeDatabaseAccessible

상태: 시작됨

설명: Azure Key Vault 키에 대한 액세스가 다시 설정되었으며 {server_name} 서버의 {database_name} 데이터베이스가 액세스할 수 있도록 하는 작업이 시작되었습니다.

Azure SQL Managed Instance

EventName: MakeManagedDatabaseAccessible

상태: 시작됨

설명: Azure Key Vault 키에 대한 액세스가 다시 설정되었으며 {server_name} 관리되는 서버의 {database_name} 데이터베이스가 액세스할 수 있도록 하는 작업이 시작되었습니다.

데이터베이스가 성공적으로 다시 온라인 상태가 되는 경우 발생하는 이벤트

Azure SQL Database

EventName: MakeDatabaseAccessible

상태: 성공

설명: Azure Key Vault 키에 대한 액세스가 다시 설정되었으며 {server_name} 서버의 {database_name} 데이터베이스가 이제 온라인 상태입니다.

Azure SQL Managed Instance

EventName: MakeManagedDatabaseAccessible

상태: 성공

설명: Azure Key Vault 키에 대한 액세스가 다시 설정되었으며 {server_name} 관리되는 서버의 {database_name} 데이터베이스가 이제 온라인 상태입니다.

Azure Key Vault 키 액세스의 유효성을 다시 검사하지 못한 경우 이벤트

Azure SQL Database

EventName: MakeDatabaseAccessible

상태: 실패

설명: Azure Key Vault 키 액세스에 대한 액세스가 다시 설정되었으며 {server_name} 서버의 {database_name} 데이터베이스가 액세스할 수 있도록 하는 작업이 실패했습니다.

Azure SQL Managed Instance

EventName: MakeManagedDatabaseAccessible

상태: 실패

설명: Azure Key Vault 키 액세스에 대한 액세스가 다시 설정되었으며 {server_name} 관리되는 서버의 {database_name} 데이터베이스가 액세스할 수 있도록 하는 작업이 실패했습니다.

다음 단계

  • Azure Resource Health에 대해 알아봅니다.
  • 기본 설정에 따라 알림 및 경고를 받도록 작업 그룹을 설정합니다(예: 이메일/SMS/푸시/음성, 논리 앱, 웹후크, ITSM 또는 Automation Runbook).