공용 네트워크를 통해 Azure Key Vault 로 고객 키 관리
이 페이지의 내용
참고
AKV( Azure Key Vault )의 고객 관리형 키( CMK )를 사용하여 Atlas 에 있는 미사용 미사용 데이터 를 추가로 암호화할 수 있습니다. 이 페이지에서는 Atlas 프로젝트 와 해당 프로젝트 의 클러스터에서 AKV 를 사용하여 고객 키 관리 를 구성하는 방법을 설명합니다.
전제 조건
MongoDB 프로젝트 에 대해 AKV 로 고객 관리 키를 활성화 하려면 다음을 수행해야 합니다.
M10 이상의 클러스터를 사용해야 합니다.
Azure 계정과 Key Vault 자격 증명, 그리고 AKV 에 있는 암호화 키 의 키 식별자가 있어야 합니다.
계정의 경우 클라이언트 ID, 테넌트 ID 및 시크릿이 있어야 합니다.
키 볼트의 경우 구독 ID, 리소스 그룹 이름 및 키 볼트 이름이 있어야 합니다.
이러한 Azure 구성 요소를 구성하는 방법을 학습 보려면 Azure 설명서를 참조하세요.
Atlas는 Atlas 프로젝트의 cluster에 대해 미사용 데이터 암호화를 활성화할 때 이 같은 리소스를 사용합니다.
사용자가 를 쉽클러스터게 만들거나 변경할 수 있도록 키에 대한 공개 액세스를 허용할 수 있습니다. 키 범위를 좁히고 위험을 줄이려면 TLS 및 인증과 같은 제어 기능을 사용하세요.
정의된 IP 범위에 대한 액세스 를 제한하려면 Atlas IP 주소 및 클러스터 노드의 공용 IP 주소에서의 액세스 를 허용합니다.
Atlas 가 AKV와 통신할 수 있는지 확인합니다. 연결이 중단되지 않도록 하려면 노드 IP 주소가 변경될 때마다 구성을 업데이트 하세요. 예를 예시 인바운드 액세스 규칙을업데이트 해야 할 수 있습니다.
AKV 에 대한 액세스 를 제한하면 IP 주소가 변경될 때 복잡성이 더 커집니다. 예를 예시 클러스터 를 만들거나 업데이트 할 때 AKV에서 새 IP 주소에 액세스 을 부여해야 합니다.
Atlas 컨트롤 플레인의 발신 IP 주소를 추가합니다. Atlas 관리 API 사용하여 발신 IP 주소를 조회 방법을 학습 Atlas 컨트롤 플레인 IP 주소 가져오기를 참조하세요.
프로젝트에서 고객 관리형 키 비활성화하기
해당 프로젝트 의 클러스터 에서 CMK를 활성화 하려면 먼저 프로젝트 에 대해 CMK 를 활성화 해야 합니다. Atlas UI 및 Atlas Administration API 에서 프로젝트 에 CMK 를 활성화 할 수 있습니다.
AtlasGo Atlas 에서 프로젝트 의 Advanced 페이지로 고 (Go) 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.
고급 페이지가 표시됩니다.
Account Credentials를 입력합니다.
클라이언트 ID | Azure 애플리케이션 의 Client ID (또는 Application ID)를 입력합니다. Active Directory Application 에는 Azure key Vault Reader 의 역할 이 할당되어 있어야 합니다. |
테넌트 ID | Active Directory 테넌트의 Tenant ID (또는 Directory ID)을 입력합니다. |
비밀 | Active Directory 테넌트와 연결된 애플리케이션의 만료되지 않은 클라이언트 시크릿 중 하나를 입력합니다. |
Azure 환경 | Active 디렉토리 테넌트가 있는 Azure 클라우드를 선택합니다. |
Key Vault Credentials를 입력합니다.
구독 ID | Key Vault의 Subscription ID 을 입력합니다. |
리소스 그룹 이름 | 키 볼트가 포함된 Azure Resource Group 의 Resource Group 이름을 입력합니다. |
Key Vault 이름 | 키 볼트의 이름을 입력합니다. 키 볼트 리소스 그룹 은 Resource Group 와 일치해야 하며 키 볼트에는 다음과 같은 액세스 정책이 있어야 합니다.
|
참고
AKV에 대한 비공개 엔드포인트 연결을 활성화 하고 설정하다 한 후에는 AKV 자격 증명 을 수정할 수 없습니다.
Encryption Key를 입력합니다.
키 식별자 | Key Vault에서 생성한 키의 전체 URL을 입력합니다. 중요: 키 식별자는 전체 Azure 일반 형식으로 제공되어야 합니다.
|
(선택 사항)AKV에 대한 비공개 엔드포인트 연결을 구성합니다.
학습 보려면 프로젝트에 대한 비공개 엔드포인트 연결 활성화 및 설정을참조하세요.
네트워크 설정을 확인합니다.
Atlas Administration API 를 사용하여 Atlas 가 Azure Private Link 를 사용하여 AKV 와 통신하도록 구성하여 Atlas 와 Key Vault 간의 모든 트래픽이 Azure 의 비공개 네트워크 인터페이스를 통해 발생하도록 한 경우, Atlas 는 Require Private Networking 상태를 Active 로 설정합니다. 상태가 인 Inactive 경우, 선택적으로 Atlas 가 AKV 에 비공개 엔드포인트 연결을 사용하도록 하려면 프로젝트에 대한 비공개 엔드포인트 연결 활성화 및 설정 단계를 완료할 수 있습니다.
엔드포인트에 PATCH
요청 encryptionAtRest
을 보냅니다.
예시
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/vnd.atlas.2024-05-30+json" \ --header "Content-Type: application/vnd.atlas.2024-05-30+json" \ --request PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/66c9e8f1dd6c9960802420e9/encryptionAtRest" \ --data ' { "azureKeyVault": { "azureEnvironment": "AZURE", "clientID": "b054a9ff-b60a-4cb6-8df6-20726eaefce6", "enabled": true, "keyIdentifier": "https://test-tf-export.vault.azure.net/keys/test/78b9134f9bc94fda8027a32b4715bf3f", "keyVaultName": "test-tf-export", "resourceGroupName": "test-tf-export", "secret": "", "subscriptionID": "009774e0-124f-4a69-83e0-ca8cd8acb4e2", "tenantID": "1f6ef922-9303-402a-bae2-cc68810b023c" } }'
참고
AKV에 대한 비공개 엔드포인트 연결을 활성화 하고 설정하다 한 후에는 다음 설정을 수정할 수 없습니다.
keyVaultName
resourceGroupName
subscriptionID
프로젝트 에 CMK 를 사용하여 미사용 데이터 암호화에 대한 구성을 확인합니다.
AKV 를 사용하여 관리 하는 키를 사용하여 미사용 데이터 미사용 데이터 암호화 를 활성화 하고 구성 요청 을 확인하려면 encryptionAtRest
엔드포인트에 GET
요청 을 보냅니다.
예시
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/vnd.atlas.2024-05-30+json" \ --header "Content-Type: application/vnd.atlas.2024-05-30+json" \ --include \ --request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest"
{ "azureKeyVault": { "azureEnvironment": "AZURE", "clientID": "632ff709-32a8-48a3-8224-30d2386fadaf", "enabled": true, "keyIdentifier": "https://EXAMPLEKeyVault.vault.azure.net/keys/EXAMPLEKey/d891821e3d364e9eb88fbd3d11807b86", "keyVaultName": "string", "requirePrivateNetworking": false, "resourceGroupName": "string", "subscriptionID": "a39012fb-d604-4cd1-8841-77f705f3e6d5", "tenantID": "ee46317d-36a3-4472-a3dd-6549e901da0b", "valid": true } }
프로젝트 에서 CMK 를 사용한 미사용 데이터 암호화가 성공적으로 활성화된 경우 응답에서 enabled
은 true
입니다. Atlas 와 Key Vault 간의 모든 트래픽이 Azure 의 비공개 네트워크 인터페이스를 통해 발생하도록 비공개 네트워킹을 설정하다 수 있습니다. 학습 내용 은 프로젝트에 대한 비공개 엔드포인트 연결 활성화 및 설정을 참조하세요.
Atlas 클러스터에 대한 고객 키 관리 활성화
프로젝트에 대해 고객 관리형 키를 활성화한 후에는 암호화하려는 데이터가 포함된 각 Atlas 클러스터에 대해 고객 키 관리를 활성화해야 합니다.
참고
해당 프로젝트의 클러스터에 대한 고객 키 관리를 사용하려면 Project Owner
역할이 있어야 합니다.
새 클러스터의 경우, 클러스터를 만들 때 자체 암호화 키 관리 설정을 Yes로 전환합니다.
기존 클러스터의 경우:
AtlasGo Atlas 에서 프로젝트 의 Clusters 페이지로 고 (Go) 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
아직 표시되지 않은 경우 사이드바에서 Clusters를 클릭합니다.
Clusters(클러스터) 페이지가 표시됩니다.
프로젝트에서 고객 관리형 키 비활성화하기
프로젝트의 각 cluster에서 고객 키 관리를 비활성화해야 프로젝트에 대한 기능을 비활성화할 수 있습니다.
경고
Atlas 프로젝트 내에서 고객 키 관리를 비활성화하기 전에는 Atlas 프로젝트의 cluster가 사용하는 AKV 키를 비활성화하거나 삭제하지 마세요. Atlas가 AKV 키에 액세스할 수 없는 경우 해당 키로 암호화된 모든 데이터에 액세스할 수 없게 됩니다.
암호화 키에 대한 액세스 권한 철회하기
AKV 내에서는 Atlas의 암호화 키에 대한 액세스 권한을 취소할 수 있습니다. 사용자가 암호화 키에 대한 액세스를 취소하면, AKV IP 액세스 목록에서 Atlas 컨트롤 플레인을 제한하지 않는 한, Atlas는 cluster를 자동으로 일시 중지합니다.
cluster의 자동 일시 중지를 허용하려면 다음 작업 중 하나를 수행해야 합니다.
AKV에 대한 IP 액세스 목록을 비활성화합니다.
Atlas 컨트롤 플레인에서 AKV에 대한 액세스를 허용합니다.
참고
MongoDB는 시간이 지남에 따라 새로운 Atlas 컨트롤 플레인 IP 주소를 추가합니다.clus AKV에 대한 IP 액세스 목록을 사용하는 동안 자동 cluster 일시 중지를 허용하려면 IP 액세스 목록을 업데이트된 상태로 유지해야 합니다.
암호화 키에 대한 액세스를 해지할 때 AKV의 IP 액세스 목록이 Atlas 컨트롤 플레인으로부터의 액세스를 제한하는 경우, Atlas의 액세스를 해지하려면 클러스터를 수동으로 일시 중지해야 합니다.
Azure 키 식별자 회전하기
참고
시작하기 전에 Azure 키 식별자 순환 정보를 학습 보세요.
Atlas 프로젝트 와 연결된 AKV에서 새 키를 만들어야 합니다. 다음 절차에서는 Atlas 에서 새 키 식별자를 지정하여 Atlas 프로젝트 키 식별자를 회전하는 방법을 설명합니다.
AtlasGo Atlas 에서 프로젝트 의 Advanced 페이지로 고 (Go) 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.
고급 페이지가 표시됩니다.
Azure 자격 증명을 업데이트합니다.
Azure Key Vault 선택자가 아직 활성화되지 않은 경우 Azure Key Vault 클릭합니다.
Encryption Key 선택자가 아직 활성화되지 않은 경우 Encryption Key 클릭합니다.
Key Identifier 필드에 Azure 키 식별자를 입력합니다.
새 암호화 키 식별자에 대한 전체 URL을 포함합니다. 예시:
https://mykeyvault.vault.azure.net/keys/AtlasKMSKey/a241124e3d364e9eb99fbd3e11124b23 중요
암호화 키는 반드시 프로젝트에 구성된 Key Vault에 있어야 합니다. Key Vault 섹션을 클릭하면 현재 프로젝트에 구성된 Key Vault를 볼 수 있습니다.
Update Credentials를 클릭합니다.
키 식별자 회전 프로세스 중에는 Atlas UI에 배너가 표시됩니다. 변경 사항이 배포될 때까지 원래 키 식별자를 삭제하거나 비활성하지 마세요.
클러스터에서 클러스터 백업을 사용하는 경우 암호화에 해당 키를 사용하는 스냅샷이 없는지 확인할 때까지 원래 키 식별자를 삭제하거나 비활성화하지 마세요.
관련 주제
Atlas 클러스터를 배포할 때 키 관리를 사용하여 저장된 암호화를 활성화하려면 자체 암호화 키 관리를 참조하세요.
기존 Atlas 클러스터에 대해 키 관리를 사용하여 저장된 암호화를 활성화하려면 저장된 암호화 활성화를 참조하세요.
Atlas의 키 관리를 사용한 저장 데이터 암호화에 대해 자세히 알아보려면 고객 키 관리를 사용한 저장 데이터 암호화를 참조하세요.
MongoDB 미사용 데이터 암호화에 대한 자세한 내용은 MongoDB 서버 문서의 미사용 데이터 암호화를 참조하세요.
클라우드 백업을 사용한 미사용 데이터 암호화에 대해 자세히 알아보려면 스토리지 엔진 및 클라우드 백업 암호화를 참조하세요.