다음을 통해 공유


Azure Cosmos DB for PostgreSQL에서 고객 관리형 키를 사용하여 데이터 암호화 사용

적용 대상: Azure Cosmos DB for PostgreSQL(PostgreSQL에 대한 Citus 데이터베이스 확장 기반)

필수 조건

고객 관리형 키로 데이터 암호화 사용

Important

Azure Cosmos DB for PostgreSQL 클러스터를 배포할 동일한 지역에 다음 리소스를 모두 만듭니다.

  1. 사용자가 할당한 관리 ID 만들기 현재 Azure Cosmos DB for PostgreSQL은 사용자 할당 관리 ID만 지원합니다.

  2. Azure Key Vault를 만들고, 만든 사용자 할당 관리 ID에 Get, Unwrap Key 및 Wrap Key 키 권한을 사용하여 액세스 정책을 추가합니다.

  3. 키 자격 증명 모음의 키를 생성합니다(지원되는 키 유형: RSA 2048, 3071, 4096).

  4. Azure Cosmos DB for PostgreSQL 클러스터를 만드는 동안 고객 관리형 키 암호화 옵션을 선택하고 1, 2, 3단계에서 만든 적절한 사용자가 할당한 관리 ID, Key Vault 및 키를 선택합니다.

자세한 단계

사용자 할당 관리 ID

  1. 전역 검색 창에서 관리 ID를 검색합니다.

    Azure Portal의 관리 ID 스크린샷.

  2. Azure Cosmos DB for PostgreSQL 클러스터와 동일한 지역에 새 사용자가 할당한 관리 ID를 만듭니다.

    Azure Portal의 사용자가 할당한 관리 ID 페이지 스크린샷.

사용자가 할당한 관리 ID에 대해 자세히 알아보세요.

Key Vault

Azure Cosmos DB for PostgreSQL에서 고객 관리형 키를 사용하려면 암호화 키를 호스팅하는 데 사용할 Azure Key Vault 인스턴스에서 일시 삭제 및 보호 제거라는 두 가지 속성을 설정해야 합니다.

  1. 새 Azure Key Vault 인스턴스를 만드는 경우 생성 중에 이러한 속성을 사용하도록 설정합니다.

    Key Vault의 속성 스크린샷.

  2. 기존 Azure Key Vault 인스턴스를 사용하는 경우 Azure Portal에서 속성 섹션을 보면 이러한 속성을 사용하도록 설정되어 있는지 확인할 수 있습니다. 이러한 속성 중 하나라도 사용하도록 설정되어 있지 않으면 다음 문서 중 하나에서 "일시 삭제 사용" 및 "제거 보호 사용" 섹션을 참조하세요.

  3. 키 자격 증명 모음에서 삭제된 자격 증명 모음 보존 기간(일)은 90일로 설정해야 합니다. 기존 키 자격 증명 모음이 더 낮은 숫자로 구성된 경우 이 설정은 만들기 후에 수정할 수 없으므로 새 키 자격 증명 모음을 만들어야 합니다.

    Important

    Azure Key Vault 인스턴스는 모든 네트워크의 공용 액세스를 허용해야 합니다.

Key Vault에 액세스 정책 추가

  1. Azure Portal에서 암호화 키를 호스트하는 데 사용할 Azure Key Vault 인스턴스로 이동합니다. 왼쪽 메뉴에서 액세스 구성을 선택합니다. 권한 모델에서 Vault 액세스 정책이 선택되어 있는지 확인한 다음 액세스 정책으로 이동을 선택합니다.

    Key Vault의 액세스 구성 스크린샷.

  2. + 만들기를 선택합니다.

  3. 키 권한 드롭다운 메뉴 아래의 권한 탭에서 가져오기, 키 래핑 해제 및 키 래핑 권한을 선택합니다.

    Key Vault의 권한 설정 스크린샷.

  4. 주체 탭에서 필수 구성 요소 단계에서 만든 사용자가 할당한 관리 ID를 선택합니다.

  5. 검토 + 만들기로 이동하여 만들기를 선택합니다.

키 만들기/가져오기

  1. Azure Portal에서 암호화 키를 호스트하는 데 사용할 Azure Key Vault 인스턴스로 이동합니다.

  2. 왼쪽 메뉴에서 키를 선택한 다음 +생성/가져오기를 선택합니다.

    키 생성 페이지의 스크린샷.

  3. DEK를 암호화하는 데 사용되는 고객 관리형 키는 비대칭 RSA 키 유형만 가능합니다. 모든 RSA 키 크기 2048, 3072 및 4096이 지원됩니다.

  4. 키 활성화 날짜(설정된 경우)는 과거의 날짜와 시간이어야 합니다. 만료 날짜(설정된 경우)는 미래의 날짜와 시간이어야 합니다.

  5. 키가 사용 상태여야 합니다.

  6. 기존 키를 키 자격 증명 모음으로 가져올 때, 지원되는 파일 형식(.pfx, .byok, .backup)으로 제공해야 합니다.

  7. 키를 수동으로 회전하는 경우 이전 키 버전을 24시간 이상 삭제하면 안 됩니다.

새 클러스터를 프로비전하는 동안 CMK 암호화를 사용하도록 설정합니다.

  1. 새로운 Azure Cosmos DB for PostgreSQL 클러스터를 프로비전하는 동안 기본 및 네트워킹 탭에서 필요한 정보를 제공한 후 암호화 탭으로 이동합니다. 암호화 구성 페이지의 스크린샷.

  2. 데이터 암호화 키 옵션에서 고객 관리형 키를 선택합니다.

  3. 이전 섹션에서 만든 사용자가 할당한 관리 ID를 선택합니다.

  4. 이전 단계에서 선택한 사용자 관리 ID에 대한 액세스 정책이 있는 이전 단계에서 만든 Key Vault를 선택합니다.

  5. 이전 단계에서 만든 키를 선택한 다음 검토+만들기를 선택합니다.

  6. 클러스터가 만들어지면 Azure Portal에서 Azure Cosmos DB for PostgreSQL 클러스터의 데이터 암호화 블레이드로 이동하여 CMK 암호화가 사용하도록 설정되었는지 확인합니다. 데이터 암호화 페이지의 스크린샷.

참고 항목

데이터 암호화는 새 클러스터를 만드는 동안에만 구성할 수 있으며 기존 클러스터에서 업데이트할 수 없습니다. 기존 클러스터의 암호화 구성을 업데이트하는 해결 방법은 새로 복원된 클러스터를 만드는 동안 클러스터 복원을 수행하고 데이터 암호화를 구성하는 것입니다.

고가용성

기본 클러스터에서 CMK 암호화가 사용하도록 설정되면 모든 HA 대기 노드가 기본 클러스터의 키로 자동 암호화됩니다.

PITR을 수행하여 암호화 구성 변경

클러스터 복원 작업(PITR - 특정 시점 복원)을 수행하는 동안 암호화 구성을 서비스 관리 암호화에서 고객 관리 암호화로 또는 그 반대로 변경할 수 있습니다.

  1. 데이터 암호화 블레이드로 이동하고 복원 작업 시작을 선택합니다. 또는 개요 블레이드에서 복원 옵션을 선택하여 PITR을 수행할 수 있습니다. PITR의 스크린샷.

  2. 클러스터 복원 페이지의 암호화 탭에서 데이터 암호화를 변경/구성할 수 있습니다.

Key Vault에서 고객 관리형 키 모니터링

데이터베이스 상태를 모니터링하고 투명한 데이터 암호화 보호기 액세스 권한 손실을 경고하도록 설정하려면 다음 Azure 기능을 구성합니다.

  • Azure Resource Health: 고객 키에 대한 액세스 권한이 손실된 액세스 불가능 데이터베이스는 데이터베이스에 대한 첫 번째 연결이 거부된 후 "액세스할 수 없음"으로 표시됩니다.

  • 활동 로그: 고객 관리 Key Vault의 고객 키에 대한 액세스가 실패하면 항목이 활동 로그에 추가됩니다. 이러한 이벤트에 대한 경고를 생성하면 최대한 신속하게 액세스를 복구할 수 있습니다.

  • 작업 그룹: 기본 설정에 따라 알림과 경고를 보낼 작업 그룹을 정의합니다.

다음 단계