적용 대상:✅Microsoft Fabric의 SQL 데이터베이스
중요합니다
이 기능은 프리뷰 상태입니다.
Microsoft Fabric은 Microsoft 관리형 키를 사용하여 휴면 데이터를 모두 암호화합니다. 모든 SQL 데이터베이스 데이터는 원격 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(데이터베이스 암호화 키)라는 대칭 키를 사용하여 전체 데이터베이스를 보호합니다.
- 데이터베이스가 시작되면 암호화된 DEK가 암호 해독되고 SQL Server 데이터베이스 엔진에서 암호화 및 암호 해독 작업을 관리하는 데 사용됩니다.
- 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 데이터베이스를 마우스 오른쪽 버튼으로 클릭하거나
...상황에 맞는 메뉴를 엽니다. 설정을 선택합니다. - 암호화(미리 보기)를 선택합니다.
- 고객 관리형 키의 유효성을 다시 검사하려면 고객 관리형 키 유효성 재검사 단추를 선택합니다. 유효성 재검사에 성공하면 SQL 데이터베이스에 대한 액세스를 복원하는 데 다소 시간이 걸릴 수 있습니다.
비고
하나의 SQL 데이터베이스에 대한 키의 유효성을 다시 검사하면 작업 영역 내의 모든 SQL 데이터베이스에 대해 키가 자동으로 유효성이 다시 검사됩니다.
제한점
Microsoft Fabric에서 SQL 데이터베이스에 고객 관리형 키를 사용하는 경우의 현재 제한 사항:
- Microsoft Fabric의 SQL Database에는 4,096비트 키가 지원되지 않습니다. 지원되는 키 길이는 2,048비트 및 3,072비트입니다.
- 고객 관리형 키는 RSA 또는 RSA-HSM 비대칭 키여야 합니다.
- 현재 고객 관리형 키 암호화는 다음 지역에서 사용할 수 있습니다.
- 미국: 미국 동부 2, 미국 중북부, 미국 중남부
- 아시아: 오스트레일리아 동부, 동남아시아, 아랍에미리트 북부
- 유럽: 북유럽, 서유럽