데이터 암호화
적용 대상: Azure Database for PostgreSQL - 유연한 서버
Azure Database for PostgreSQL 유연한 인스턴스에서 관리하는 모든 데이터는 항상 미사용 시 암호화됩니다. 해당 데이터에는 모든 시스템 및 사용자 데이터베이스, 임시 파일, 서버 로그, 미리 쓰기 로그 세그먼트 및 백업이 포함됩니다.
데이터 암호화를 달성하기 위해 Azure Database for PostgreSQL - 유연한 서버는 미사용 데이터에 Azure Storage 암호화를 사용하여 Blob Storage 및 Azure Files 서비스에서 데이터를 암호화하고 암호 해독하기 위한 키를 제공합니다. 이러한 키는 Azure Key Vault 또는 Azure Key Vault 관리형 HSM(하드웨어 보안 모듈)에 저장해야 합니다. 자세한 내용은 Azure Storage 암호화에 대한 고객 관리형 키를 참조하세요.
Azure Database for PostgreSQL - 유연한 서버는 서비스 관리형 키와 고객 관리형 키의 두 가지 모드에서 데이터 암호화 구성을 지원합니다. 구성 모드는 서버를 만들 때만 선택할 수 있습니다. 서버 수명 동안 한 모드에서 다른 모드로 변경할 수 없습니다.
서비스 관리형 암호화 키 Azure Database for PostgreSQL - 유연한 서버는 키가 유지되는 Azure Key Vault 프로비저닝을 처리하며, 데이터가 암호화 및 암호 해독되는 키를 제공하는 모든 책임을 집니다. 또한 서비스는 액세스 저장, 보호, 감사, 네트워킹 구성 및 키 자동 회전을 처리합니다.
고객 관리형 암호화 키를 사용하면 모든 책임을 맡게 됩니다. 따라서 고유한 Azure Key Vault 또는 Azure Key Vault HSM을 배포해야 합니다. 사용자 고유의 키를 생성하거나 가져와야 합니다. Azure Database for PostgreSQL 유연한 서버가 키에 필요한 작업을 수행할 수 있도록 Key Vault에 필요한 권한을 부여해야 합니다. Azure Database for PostgreSQL 유연한 서버가 키에 액세스할 수 있도록 키가 유지되는 Azure Key Vault의 모든 네트워킹 측면을 구성해야 합니다. 키에 대한 액세스 감사도 사용자의 책임입니다. 마지막으로 키를 회전하고 필요한 경우 회전된 버전의 키를 참조할 수 있도록 Azure Database for PostgreSQL 유연한 서버의 구성을 업데이트해야 합니다.
스토리지 계정에 대해 고객 관리형 키를 구성하면 Azure Storage는 연결된 키 자격 증명 모음 또는 관리형 HSM에서 고객 관리형 키를 사용하여 계정에 대한 DEK(루트 데이터 암호화 키)를 래핑합니다. 루트 암호화 키의 보호는 변경되지만 Azure Storage 계정의 데이터는 항상 암호화된 상태로 유지됩니다. 데이터가 암호화된 상태로 유지되도록 하기 위해 추가 작업이 필요하지 않습니다. 고객 관리형 키에 의한 보호는 즉시 적용됩니다.
Azure Key Vault는 클라우드 기반 외부 키 관리 시스템입니다. 가용성이 우수하며 RSA 암호화 키에 대한 안전하고 확장성 있는 스토리지를 제공합니다. FIPS 140 유효성 검사를 통과한 HSM(하드웨어 보안 모듈)을 선택 사항으로 지원합니다. 저장된 키에 대한 직접 액세스를 허용하지 않지만 권한 있는 엔터티에 암호화 및 암호 해독 서비스를 제공합니다. Key Vault는 키를 생성하거나, 가져오거나, 온-프레미스 HSM 디바이스에서 전송된 키를 받을 수 있습니다.
각 모드에서 제공하는 이점
Azure Database for PostgreSQL 유연한 서버에 대한 서비스 관리 키를 사용한 데이터 암호화는 다음과 같은 이점을 제공합니다.
- 서비스는 데이터 액세스를 자동으로 완전히 제어합니다.
- 이 서비스는 키 회전을 포함하여 키의 수명 주기를 자동으로 완전히 제어합니다.
- 데이터 암호화 키 관리에 대해 걱정할 필요가 없습니다.
- 서비스 관리 키를 기반으로 하는 데이터 암호화는 워크로드의 성능에 부정적인 영향을 주지 않습니다.
- 의 관리를 간소화합니다.
Azure Database for PostgreSQL 유연한 서버에 대한 고객 관리형 키를 사용한 데이터 암호화는 다음과 같은 이점을 제공합니다.
- 데이터 액세스를 완전히 제어할 수 있습니다. 키를 제거하여 데이터베이스에 액세스할 수 없게 만들 수 있습니다.
- 키 회전을 포함하여 키의 수명 주기를 완전히 제어하여 회사 정책에 맞춥니다.
- Azure Key Vault의 자체 인스턴스에서 모든 암호화 키를 중앙에서 관리하고 구성할 수 있습니다.
- 고객 관리형 키를 기반으로 하는 데이터 암호화는 워크로드의 성능에 부정적인 영향을 주지 않습니다.
- 보안 책임자, 데이터베이스 관리자 및 시스템 관리자 간에 업무 분리를 구현할 수 있습니다.
요구 사항
다음은 Azure Database for PostgreSQL 유연한 서버에 대한 데이터 암호화를 구성하기 위한 요구 사항 목록입니다.
- Key Vault 및 Azure Database for PostgreSQL 유연한 서버는 동일한 Microsoft Entra 테넌트에 속해 있어야 합니다. 테넌트 간 Key Vault 및 서버 상호 작용은 지원되지 않습니다. 나중에 Key Vault 리소스를 이동하려면 데이터 암호화를 다시 구성해야 합니다.
- Key Vault에 대해 삭제된 자격 증명 모음 구성을 유지하는 일을 90일로 설정하는 것이 좋습니다. 더 낮은 숫자로 기존 Key Vault 인스턴스를 구성한 경우에도 유효해야 합니다. 그러나 이 설정을 수정하고 값을 높이려면 새 Key Vault 인스턴스를 만들어야 합니다. 인스턴스가 만들어지면 이 설정을 수정할 수 없습니다.
- 키 또는 Key Vault 인스턴스가 실수로 삭제되는 경우 데이터 손실로부터 보호하는 데 도움이 되도록 Key Vault에서 일시 삭제 기능을 사용하도록 설정합니다. Key Vault는 사용자가 그 동안 리소스를 복구하거나 제거하지 않는 한 일시 삭제된 리소스를 90일 동안 보존합니다. 복구 및 제거 작업에는 RBAC 역할 또는 액세스 정책 권한과 관련된 고유한 권한이 있습니다. 일시 삭제 기능은 기본적으로 설정됩니다. 오래 전에 배포된 일부 Key Vault가 있는 경우 일시 삭제를 사용하지 않도록 설정했을 수 있습니다. 이 경우 Azure CLI를 사용하여 설정할 수 있습니다.
- 보호 제거를 사용 설정하여 삭제된 자격 증명 모음 및 자격 증명 모음 개체에 필수 보존 기간을 적용합니다.
- 다음을 통해 Azure Database for PostgreSQL 유연한 서버의 사용자 할당 관리 ID 액세스 권한을 키에 부여합니다.
- 데이터 암호화 키를 암호화하는 데 사용되는 키는 비대칭, RSA 또는 RSA-HSM일 수 있습니다. 키 크기로는 2,048, 3,072 및 4,096을 지원합니다. 보안을 강화하려면 4,096비트 키를 사용하는 것이 좋습니다.
- 키 활성화 날짜 및 시간(설정된 경우)은 과거여야 합니다. 만료 날짜 및 시간(설정된 경우)은 미래여야 합니다.
- 키는 사용 상태여야 합니다.
- 기존 키를 Key Vault로 가져오는 경우 지원되는 파일 형식(
.pfx
,.byok
또는.backup
)으로 제공합니다.
권장 사항
데이터 암호화에 고객 관리형 키를 사용하는 경우 다음 권장 사항에 따라 Key Vault를 구성합니다.
- 이 중요한 리소스를 실수로 또는 무단으로 삭제하지 않도록 Key Vault에 리소스 잠금을 설정합니다.
- 모든 암호화 키에서 감사 및 보고를 사용합니다. Key Vault는 다른 SIEM(보안 정보 및 이벤트 관리) 도구에 쉽게 삽입되는 로그를 제공합니다. Azure Monitor 로그는 이미 통합된 서비스의 한 예입니다.
- 공용 액세스 사용 안 함 및 신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 무시하도록 허용을 선택하여 Key Vault를 잠급니다.
참고 항목
공용 액세스 사용 중지 및 신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 무시하도록 허용을 선택한 후, 포털을 통해 Key Vault를 관리하기 위해 공용 액세스를 사용하려고 하면 다음과 유사한 오류가 발생할 수 있습니다. "네트워크 액세스 제어를 사용하도록 설정했습니다. 허용된 네트워크만 이 키 자격 증명 모음에 액세스할 수 있습니다." 이 오류는 고객 관리형 키를 설정하는 동안 키를 제공하거나 서버 작업 중에 Key Vault에서 키를 가져오는 기능을 배제하지 않습니다.
- 고객 고정 키의 복사본을 안전한 장소에 보관하거나 에스크로 서비스에 에스크로합니다.
- Key Vault가 키를 만드는 경우 키를 처음 사용하기 전에 키 백업을 만듭니다. 백업을 Key Vault로 복원하는 것만 가능합니다.
특별 고려 사항
Key Vault에서 실수로 인한 키 액세스 해지
Key Vault에 대한 액세스 권한이 충분한 사용자는 다음을 수행하여 실수로 키에 대한 서버 액세스를 사용하지 않도록 설정할 수 있습니다.
- RBAC 역할 Key Vault Crypto Service 암호화 사용자 할당을 취소하거나 Key Vault에서 키를 검색하는 데 사용되는 ID에서 권한을 취소합니다.
- 키를 삭제합니다.
- Key Vault 인스턴스를 삭제합니다.
- Key Vault 방화벽 규칙을 변경합니다.
- Microsoft Entra ID에서 서버의 관리 ID를 삭제합니다.
Azure Key Vault에 보관된 키 모니터링
데이터베이스 상태를 모니터링하고 데이터 암호화 보호기에 대한 액세스 손실에 대한 경고를 켜려면 다음 Azure 기능을 구성합니다.
- 리소스 상태: CMK에 대한 액세스가 손실된 데이터베이스는 데이터베이스에 대한 첫 번째 연결이 거부된 후 액세스할 수 없음으로 표시됩니다.
- 활동 로그: 고객 관리 Key Vault 인스턴스에서 CMK에 대한 액세스가 실패하면 활동 로그에 항목이 추가됩니다. 이러한 이벤트에 대한 경고를 생성하면 최대한 신속하게 액세스를 복구할 수 있습니다.
- 작업 그룹: 기본 설정에 따라 알림 및 경고를 받도록 이 그룹을 정의합니다.
고객 관리형 키로 구성된 서버의 백업 복원
Azure Database for PostgreSQL 유연한 서버가 Key Vault에 저장된 고객 관리형 키로 암호화되면 새로 만든 서버 복사본도 암호화됩니다. PITR(특정 시점 복원) 작업이나 읽기 복제본을 통해 이 새 복사본을 만들 수 있습니다.
고객 관리형 키를 사용하여 데이터 암호화를 설정하는 경우 백업 복원 또는 읽기 복제본 만들기와 같은 작업 중에 주 서버와 복원된 복제본 서버에서 다음 단계를 수행하여 문제를 방지할 수 있습니다.
- 기본 Azure Database for PostgreSQL 유연한 서버 인스턴스에서 복원 프로세스 또는 읽기 복제본을 만드는 프로세스를 시작합니다.
- 복원된 서버 또는 복제본 서버에서 Key Vault에 액세스하는 데 사용되는 고객 관리형 키와 사용자가 할당한 관리 ID를 변경할 수 있습니다. 새로 만든 서버에 할당된 ID에 Key Vault에 필요한 권한이 있는지 확인합니다.
- 복원 후 원래 키를 철회하지 마세요. 현재 고객 관리형 키가 있는 서버를 다른 서버로 복원한 후에는 키 해지를 지원하지 않습니다.
관리형 HSM
HSM(하드웨어 보안 모듈)은 데이터 암호화, 데이터 암호 해독, 디지털 서명 만들기 및 디지털 인증서 만들기에 사용되는 키를 만들기, 보안 및 관리하여 암호화 프로세스를 보호하는 변조 방지 하드웨어 디바이스입니다. HSM은 FIPS 140 및 공통 조건을 비롯한 최고 보안 표준으로 테스트하고 유효성 검사하여 인증됩니다.
Azure Key Vault 관리되는 HSM은 완전 관리형, 고가용성, 단일 테넌트, 표준 규격 클라우드 서비스입니다. 이를 사용하면 FIPS 140-3 인증 HSM을 통해 클라우드 애플리케이션의 암호화 키를 보호할 수 있습니다.
고객 관리형 키를 사용하여 Azure Portal에서 새 Azure Database for PostgreSQL 유연한 서버 인스턴스를 만드는 경우 Azure Key Vault 대신 Azure Key Vault 관리형 HSM을 키 저장소로 선택할 수 있습니다. 사용자 정의 ID 및 권한 측면에서 전제 사용 약관은 Azure Key Vault와 동일합니다(이 문서 앞부분에 나열됨). 관리되는 HSM 인스턴스를 만드는 방법, 공유 Key Vault 기반 인증서 저장소와의 장점과 차이점, 관리되는 HSM으로 키를 가져오는 방법에 대한 자세한 내용은 Azure Key Vault 관리되는 HSM이란?을 참조하세요.
액세스할 수 없는 고객 관리형 키 조건
Key Vault에 저장된 고객 관리형 키를 사용하여 데이터 암호화를 구성하는 경우 서버가 온라인 상태를 유지하려면 이 키에 대한 지속적인 액세스가 필요합니다. 서버가 Key Vault에 보관된 키에 대한 액세스 권한을 잃으면 서버는 10분 이내에 모든 연결을 거부하기 시작합니다. 서버에서 해당 오류 메시지를 발행하고, 서버 상태를 액세스할 수 없음으로 변경합니다.
서버 상태에 액세스할 수 없게 될 수 있는 몇 가지 가능한 이유는 다음과 같습니다.
- 키를 회전하고 Azure Database for PostgreSQL 유연한 서버의 인스턴스를 업데이트하는 것을 잊어버린 경우 새 버전의 키를 가리킵니다. 인스턴스가 가리키는 이전 키는 결국 만료되어 서버 상태를 액세스할 수 없게 됩니다. 이 문제를 방지하려면 키를 회전할 때마다 새 버전을 가리키도록 서버 인스턴스도 업데이트해야 합니다. 이렇게 하려면 "데이터 암호화에
az postgres flexible-server update
대한 키/ID 변경"을 설명하는 예제를 다음으로 사용할 수 있습니다. 데이터 암호화는 서버 생성 후 사용하도록 설정할 수 없으며 키/ID만 업데이트합니다." 또는 서버 - 서비스의 REST API 업데이트를 호출할 수 있습니다. - Key Vault 인스턴스를 삭제하면 Azure Database for PostgreSQL 유연한 서버 인스턴스가 키에 액세스할 수 없으며 액세스할 수 없음 상태로 전환됩니다. 서버를 사용 가능하게 만들려면 Key Vault 인스턴스를 복구하고 데이터 암호화를 다시 유효성 검사합니다.
- Key Vault에서 키를 삭제하면 Azure Database for PostgreSQL 유연한 서버 인스턴스가 키에 액세스할 수 없으며 액세스할 수 없음 상태로 전환됩니다. 서버를 사용 가능 상태로 만들려면 키를 복구하고 데이터 암호화의 유효성을 다시 검사하세요.
- Key Vault에서 키를 검색하는 데 사용되는 관리 ID를 Microsoft Entra ID에서 삭제하거나 Key Vault 암호화 서비스 암호화 사용자 역할로 Azure RBAC 역할 할당을 삭제하는 경우 . Azure Database for PostgreSQL 유연한 서버 인스턴스는 키에 액세스할 수 없으며 액세스할 수 없음 상태로 전환됩니다. 서버를 사용 가능하게 만들려면 ID를 복구하고 데이터 암호화의 유효성을 다시 검사합니다.
- 관리 ID에서 Key Vault list, get, wrapKey 및 unwrapKey 액세스 정책을 철회하는 경우 Key Vault에서 키를 검색하는 데 사용되는 Azure Database for PostgreSQL 유연한 서버 인스턴스는 키에 액세스할 수 없으며 액세스할 수 없음 상태로 전환됩니다. Key Vault의 ID에 필수 액세스 정책을 추가합니다.
- 지나치게 제한적인 Key Vault 방화벽 규칙을 설정하면 Azure Database for PostgreSQL 유연한 서버가 Key Vault와 통신하여 키를 검색할 수 없습니다. Key Vault 방화벽을 구성할 때 신뢰할 수 있는 Microsoft 서비스가 방화벽을 무시하도록 허용하는 옵션을 선택해야 합니다.
참고 항목
키가 사용하지 않도록 설정되거나, 삭제되거나, 만료되거나, 연결할 수 없는 경우, 앞서 설명한 대로 해당 키를 통해 데이터가 암호화된 서버는 액세스할 수 없게 됩니다. 키를 다시 사용하도록 설정하거나 새 키를 할당할 때까지 서버를 사용할 수 없게 됩니다.
일반적으로 키가 사용 중지, 삭제, 만료되거나 연결할 수 없게 된 후 60분 이내에 서버에 액세스할 수 없게 됩니다. 키를 사용할 수 있게 되면 서버가 다시 액세스할 수 있게 되는 데 최대 60분이 걸릴 수 있습니다.
관리 ID 삭제에서 복구
Key Vault에 저장된 암호화 키에 액세스하는 데 사용되는 사용자 할당 관리 ID가 Microsoft Entra ID에서 삭제된 경우 다음 단계에 따라 복구해야 합니다.
- ID를 복구하거나 새 관리형 Entra ID ID를 만듭니다.
- 새 ID를 만든 경우 새 ID가 삭제되기 전과 정확히 동일한 이름을 가진 경우에도 이 새 ID를 사용하여 암호화 키에 액세스해야 한다는 것을 알 수 있도록 유연한 서버 속성을 위해 Azure Database를 업데이트합니다.
- 이 ID에 AKV(Azure Key Vault)의 키 작업에 대한 적절한 권한이 있는지 확인합니다.
- 서버가 키의 유효성을 다시 검사할 때까지 약 1시간 동안 기다립니다.
Important
삭제된 ID와 동일한 이름으로 새 Entra ID ID를 만드는 것만으로는 관리 ID 삭제가 복구되지 않습니다.
고객 관리형 키 및 지역 중복 비즈니스 연속성 기능으로 데이터 암호화 사용
Azure Database for PostgreSQL 유연한 서버는 복제본 및 지역 중복 백업과 같은 고급 데이터 복구 기능을 지원합니다. 다음은 CMK를 사용한 데이터 암호화에 대한 기본 요구 사항 외에 CMK를 사용한 데이터 암호화 설정에 대한 요구 사항과 기능입니다.
- 지역 중복 백업 암호화 키는 지역 중복 백업이 저장되는 지역에 있어야 하는 Key Vault 인스턴스에 만들어야 합니다.
- 지역 중복 백업 지원 CMK 서버를 지원하기 위한 Azure Resource Manager REST API 버전은 '2022-11-01-preview'입니다. Azure Resource Manager 템플릿을 사용하여 CMK 암호화와 지역 중복 백업 기능을 모두 사용하는 서버 만들기를 자동화하려면 이 API 버전을 사용합니다.
- 동일한 사용자 관리 ID를 사용하여 주 데이터베이스의 Key Vault 인스턴스와 지역 중복 백업을 위한 암호화 키를 보유하는 Key Vault 인스턴스를 인증할 수 없습니다. 지역 복원력을 유지하려면 지역 중복 백업과 동일한 지역에 사용자 관리 ID를 만드는 것이 좋습니다.
- 만드는 동안 CMK로 암호화되도록 읽기 복제본 데이터베이스를 설정하는 경우 해당 암호화 키는 읽기 복제본 데이터베이스가 있는 지역의 Key Vault 인스턴스에 있어야 합니다. 이 Key Vault 인스턴스에 대해 인증하기 위한 사용자 할당 ID는 동일한 지역에서 만들어져야 합니다.
고객 관리형 키 회전 및 버전 없는 키(미리 보기)
예방 조치로 키를 주기적으로 또는 키가 손상될 때마다 회전하는 것이 좋습니다.
참고 항목
대부분의 기업에는 90일마다 키를 주기적으로 회전해야 하는 외부 또는 내부 요구 사항이 있습니다. Key Vault에서 생성된 키의 경우 Azure Key Vault에서 암호화 키 자동 로트를 구성할 수 있습니다. 자동 회전을 사용하도록 설정하는 경우 이 기능을 활용하려면 Azure Database for PostgreSQL 유연한 서버에서 데이터 암호화에 버전이 없는 CMK(미리 보기)를 사용해야 합니다.
키를 수동으로 회전하면 키가 손상된 경우 데이터를 보호할 수 있습니다. 키를 회전하려면 손상된 키에 대한 새 키 생성을 만들거나 가져옵니다.
- 버전이 없는 고객 관리형 키(미리 보기)를 사용하는 경우 서버는 새 키를 자동으로 선택합니다.
- 버전 관리 키를 사용하는 경우 새 버전의 키를 사용하도록 Azure Database for PostgreSQL 유연한 서버 인스턴스를 업데이트해야 합니다. 그런 다음에만 서버는 데이터를 암호화하고 암호 해독하기 위해 새 키를 사용하기 시작합니다.
버전이 없는 고객 관리형 키(미리 보기)
Azure Database for PostgreSQL 유연한 서버의 데이터 암호화에는 버전 없는 키가 권장됩니다. 앞에서 설명한 주요 회전 시나리오를 올바르게 다룹니다. 새 키 버전을 사용할 수 있게 되면 서버는 자동으로 새 버전의 키 버전을 사용하여 데이터를 암호화하고 암호를 해독합니다.
API는 버전 없는 키에 대해 변경되지 않습니다. 전체 키 식별자 URI를 제공하는 대신 키 식별자의 버전 부분을 생략합니다. 이는 API, Azure CLI, ARM 템플릿 및 Bicep 템플릿에 적용됩니다. Azure Portal에는 버전 없는 키 식별자만 선택하는 데 사용할 수 있는 버전 없는 키를 사용하도록 설정하는 확인란이 있습니다.
제한 사항
Azure Database for PostgreSQL 유연한 서버에서 고객 관리형 키를 구성하기 위한 현재 제한 사항은 다음과 같습니다.
- 기존 Azure Database for PostgreSQL 유연한 서버 인스턴스에 대한 업데이트가 아니라 새 서버를 만드는 동안에만 고객 관리형 키 암호화를 구성할 수 있습니다. 대신 CMK 암호화를 사용하여 새 서버에 PITR 백업을 복원할 수 있습니다.
- 고객 관리형 키 암호화를 구성한 후에는 시스템 관리형 키로 되돌릴 수 없습니다. 되돌리려면 시스템 관리형 키로 구성된 데이터 암호화를 사용하여 서버를 새 서버로 복원해야 합니다.
- Azure Key Vault 관리형 HSM의 인스턴스 또는 암호화 키를 저장하려는 Azure Key Vault 인스턴스는 유연한 서버를 위한 Azure Database 인스턴스가 만들어지는 동일한 지역에 있어야 합니다.
관련 콘텐츠
- 데이터 암호화를 구성합니다.