적용 대상:✅Microsoft Fabric의 SQL 데이터베이스
Microsoft Fabric은 Microsoft 관리형 키를 사용하여 데이터 전체를 미사용 상태로 암호화합니다. SQL Database는 모든 데이터를 원격 Azure Storage 계정에 저장합니다. Microsoft가 관리하는 키를 사용하여 미사용 데이터 암호화 요구 사항을 준수하기 위해, SQL 데이터베이스에서 사용하는 각 Azure Storage 계정에 서비스 측 암호화가 활성화되어 있습니다.
패브릭 작업 영역에 대한 고객 관리형 키를 사용하면 Azure Key Vault 키를 사용하여 Microsoft Fabric의 SQL 데이터베이스에 있는 모든 데이터를 포함하여 Microsoft Fabric 작업 영역의 데이터에 다른 보호 계층을 추가할 수 있습니다. 고객 관리형 키는 더 큰 유연성을 제공하므로 회전을 관리하고 액세스를 제어하며 사용량을 감사할 수 있습니다. 또한 고객 관리형 키는 조직이 데이터 거버넌스 요구 사항을 충족하고 데이터 보호 및 암호화 표준을 준수하는 데 도움이 됩니다.
- Microsoft Fabric의 작업 영역에 대해 고객 관리형 키를 구성하면 지정된 고객 관리형 키를 사용하여 해당 작업 영역 내의 모든 SQL 데이터베이스(및)에
tempdb가 자동으로 사용하도록 설정됩니다. 이 프로세스는 원활하며 수동 개입이 필요하지 않습니다.- 모든 기존 SQL 데이터베이스에 대해 암호화 프로세스가 자동으로 시작되지만 즉시 시작되지는 않습니다. 기간은 각 SQL 데이터베이스의 크기에 따라 달라지며, 더 큰 SQL 데이터베이스는 암호화를 완료하는 데 더 많은 시간이 필요합니다.
- 고객 관리형 키를 구성한 후에는 작업 영역에서 만드는 모든 SQL 데이터베이스도 고객 관리형 키를 사용하여 암호화됩니다.
- 고객 관리형 키를 제거하면 작업 영역의 모든 SQL 데이터베이스에 대한 암호 해독이 시작됩니다. 암호화와 마찬가지로 암호 해독은 SQL 데이터베이스의 크기에 따라 달라지며 완료하는 데 시간이 걸릴 수 있습니다. 암호가 해독되면 SQL 데이터베이스는 암호화에 Microsoft 관리형 키를 사용하도록 되돌려 줍니다.
Microsoft Fabric의 SQL 데이터베이스에서 투명한 데이터 암호화가 작동하는 방식
투명한 데이터 암호화는 데이터베이스, 연결된 백업 및 미사용 트랜잭션 로그 파일의 실시간 암호화 및 암호 해독을 수행합니다.
- 이 프로세스는 페이지 수준에서 발생합니다. 즉, 메모리로 읽을 때 각 페이지의 암호가 해독되고 디스크에 다시 기록되기 전에 다시 암호화됩니다.
- 투명한 데이터 암호화는 DEK(데이터베이스 암호화 키)라는 대칭 키를 사용하여 전체 데이터베이스를 보호합니다.
- 데이터베이스가 시작되면 SQL Server 데이터베이스 엔진은 DEK의 암호를 해독하고 이를 사용하여 암호화 및 암호 해독 작업을 관리합니다.
- 투명한 데이터 암호화 보호기, 특히 작업 영역 수준에서 구성된 고객 관리형 키는 DEK를 보호합니다.
백업 및 복원
SQL 데이터베이스가 고객 관리형 키로 암호화되면 새로 생성된 백업도 동일한 키로 암호화됩니다.
키를 변경하면 SQL 데이터베이스의 이전 백업이 최신 키를 사용하도록 업데이트되지 않습니다. 고객 관리형 키로 암호화된 백업을 복원하려면 Azure Key Vault에서 키 자료를 사용할 수 있는지 확인합니다. SQL 데이터베이스 백업을 복원할 수 있도록 모든 이전 버전의 고객 관리형 키를 Azure Key Vault에 유지합니다.
SQL 데이터베이스 복원 프로세스는 항상 고객 관리형 키 작업 영역 설정을 적용합니다. 다음 표에서는 고객 관리형 키 설정 및 백업 암호화 여부에 따라 다양한 복원 시나리오를 간략하게 설명합니다.
| 백업은... | 고객 관리형 키 작업 영역 설정 | 복원 후 암호화 상태 |
|---|---|---|
| 암호화되지 않음 | Disabled | SQL 데이터베이스가 암호화되지 않음 |
| 암호화되지 않음 | 활성화됨 | SQL 데이터베이스는 고객 관리형 키로 암호화됩니다. |
| 고객 관리형 키로 암호화됨 | Disabled | SQL 데이터베이스가 암호화되지 않음 |
| 고객 관리형 키로 암호화됨 | 활성화됨 | SQL 데이터베이스는 고객 관리형 키로 암호화됩니다. |
| 고객 관리형 키로 암호화됨 | 사용 가능하지만 고객 관리형 키는 다릅니다. | SQL 데이터베이스는 새 고객 관리형 키로 암호화됩니다. |
성공적인 고객 관리형 키 확인
작업 영역에서 고객 관리형 키 암호화를 사용하도록 설정하면 기존 데이터베이스가 암호화됩니다. 고객 관리형 키를 사용하도록 설정하면 작업 영역의 새 데이터베이스도 암호화됩니다. 데이터베이스가 성공적으로 암호화되었는지 확인하려면 다음 T-SQL 쿼리를 실행합니다.
SELECT DB_NAME(database_id) as DatabaseName, *
FROM sys.dm_database_encryption_keys
WHERE database_id <> 2;
- 필드가
encryption_state_desc로ENCRYPTED표시되는 경우 데이터베이스가ASYMMETRIC_KEY암호화됩니다encryptor_type. - 상태가
ENCRYPTION_IN_PROGRESS인 경우,percent_complete열은 암호화 상태 변경의 진행률을 나타냅니다. 상태 변경이 진행 중이 아닌 경우 이 값은0입니다. - 암호화되지 않은 경우 데이터베이스는 의 쿼리 결과에
sys.dm_database_encryption_keys표시되지 않습니다.
액세스할 수 없는 고객 관리형 키 문제 해결
Microsoft Fabric의 작업 영역에 대해 고객 관리형 키를 구성하는 경우 SQL 데이터베이스는 키를 지속적으로 액세스하여 온라인 상태를 유지해야 합니다. SQL 데이터베이스가 Azure Key Vault의 키에 대한 액세스 권한을 잃으면 최대 10분 안에 SQL 데이터베이스가 모든 연결을 거부하기 시작하고 해당 상태를 액세스할 수 없음으로 변경합니다. 사용자는 "Azure Key Vault 심각한 오류로 인해 데이터베이스 <database ID>.database.fabric.microsoft.com 에 액세스할 수 없습니다."와 같은 오류 메시지를 받습니다.
- 키 액세스가 30분 이내에 복원되면 SQL 데이터베이스는 다음 시간 내에 자동으로 복구됩니다.
- 30분 이상 후에 키 액세스가 복원되면 SQL 데이터베이스의 자동 복구가 불가능합니다. SQL 데이터베이스를 복원하려면 추가 단계가 필요하며 SQL 데이터베이스의 크기에 따라 상당한 시간이 걸릴 수 있습니다.
다음 단계를 사용하여 고객 관리형 키의 유효성을 다시 검사합니다.
- 작업 영역에서 SQL 데이터베이스를 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴를 선택합니다
.... 설정을 선택합니다. - 암호화를 선택합니다.
- 고객 관리형 키의 유효성을 다시 검사하려면 고객 관리형 키 유효성 재검사(Revalidate)를 선택합니다. 유효성 재검사에 성공하면 SQL 데이터베이스에 대한 액세스를 복원하는 데 다소 시간이 걸릴 수 있습니다.
비고
하나의 SQL 데이터베이스에 대한 키의 유효성을 다시 검사하면 작업 영역 내의 모든 SQL 데이터베이스에 대해 키가 자동으로 유효성이 다시 검사됩니다.
제한점
Microsoft Fabric에서 SQL 데이터베이스에 고객 관리형 키를 사용하는 경우의 현재 제한 사항:
- Microsoft Fabric의 SQL 데이터베이스에는 4,096비트 키가 지원되지 않습니다. 지원되는 키 길이는 2,048비트 및 3,072비트입니다.
- 고객 관리형 키는 RSA 또는 RSA-HSM 비대칭 키여야 합니다.