Azure NetApp Files 볼륨 암호화에 고객 관리형 키를 사용하면 새 볼륨을 만들 때 플랫폼 관리형 키 대신 고유한 키를 사용할 수 있습니다. 고객 관리형 키를 사용하면 키의 수명 주기, 키 사용 권한 및 키에 대한 감사 작업 간의 관계를 완전히 관리할 수 있습니다.
다음 다이어그램에서는 고객 관리형 키가 Azure NetApp Files와 함게 작동하는 방법을 보여 줍니다.
Azure NetApp Files는 관리형 ID에 암호화 키에 대한 권한을 부여합니다. 관리 ID는 사용자가 만들고 관리하는 사용자 할당 관리 ID 또는 NetApp 계정과 연결된 시스템 할당 관리 ID일 수 있습니다.
NetApp 계정에 대한 고객 관리형 키를 사용하여 암호화를 구성합니다.
Azure Key Vault 관리자가 1단계에서 권한을 부여한 관리 ID를 사용하여 Microsoft Entra ID를 통해 Azure Key Vault에 대한 액세스를 인증합니다.
Azure NetApp Files는 Azure Key Vault의 고객 관리형 키로 계정 암호화 키를 래핑합니다.
고객 관리형 키는 Azure NetApp Files의 성능에 영향을 주지 않습니다. 플랫폼 관리형 키와 유일한 차이점은 키를 관리하는 방법입니다.
읽기/쓰기 작업의 경우 Azure NetApp Files는 계정 암호화 키를 래핑 해제하라는 요청을 Azure Key Vault에 보내서 암호화 및 암호 해독 작업을 수행합니다.
테넌트 간 고객 관리형 키는 지원되는 모든 Azure NetApp Files 지역에서 사용할 수 있습니다.
고려 사항
- 고객 관리형 키를 사용하여 볼륨을 만들려면 표준 네트워크 기능을 선택해야 합니다. 기본 네트워크 기능을 사용하여 구성된 볼륨에서는 고객 관리형 키 볼륨을 사용할 수 없습니다. 지침에 따라 볼륨 만들기 페이지에서 네트워크 기능 옵션을 설정합니다 .
- 보안 강화를 위해 키 자격 증명 모음의 네트워크 설정 내에서 공용 액세스 사용 안 함 옵션을 선택할 수 있습니다. 이 옵션을 선택할 때 Azure NetApp Files 서비스가 암호화 키 에 액세스하도록 허용하려면 신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용 을 선택해야 합니다.
- 고객 관리형 키는 자동 MSI(관리 시스템 ID) 인증서 갱신을 지원합니다. 인증서가 유효한 경우 인증서를 수동으로 업데이트할 필요가 없습니다.
- Azure NetApp Files 고객 관리형 키 볼륨을 만들지 못하면 오류 메시지가 표시됩니다. 자세한 내용은 오류 메시지 및 문제 해결을 참조하세요.
- 고객 관리형 키 볼륨을 만든 후에는 기본 Azure Key Vault 또는 Azure 프라이빗 엔드포인트를 변경하지 마세요. 변경하면 볼륨에 액세스할 수 없게 될 수 있습니다. 변경해야 하는 경우 고객 관리형 키에 대한 프라이빗 엔드포인트 IP 업데이트를 참조하세요.
- Azure NetApp Files는 데이터 마이그레이션 없이 기존 볼륨을 PMK(플랫폼 관리형 키)에서 CMK(고객 관리형 키)로 전환하는 기능을 지원합니다. 이렇게 하면 암호화 키 수명 주기(갱신, 회전) 및 규제된 업계 요구 사항에 대한 추가 보안을 유연하게 사용할 수 있습니다.
- Azure Key Vault에 액세스할 수 없으면 Azure NetApp Files는 암호화 키에 대한 액세스 권한과 함께, 고객 관리형 키로 사용 설정된 볼륨에 대한 데이터 읽기 또는 쓰기 기능을 잃게 됩니다. 이 경우 영향을 받는 볼륨에 대해 액세스 권한을 수동으로 복원하도록 지원 티켓을 생성합니다.
- Azure NetApp Files는 지역 간 복제 또는 영역 간 복제 관계를 사용하여 원본 및 데이터 복제 볼륨에서 고객 관리형 키를 지원합니다.
- 프라이빗 링크 서브넷의 Azure NSG(네트워크 보안 그룹)를 Azure Key Vault에 적용하는 것은 Azure NetApp Files 고객 관리형 키에 대해 지원됩니다. 서브넷에서 프라이빗 엔드포인트 네트워크 정책을 사용하도록 설정하지 않는 한 NSG는 프라이빗 링크에 대한 연결에 영향을 주지 않습니다.
- 래핑/래핑 해제는 지원되지 않습니다. 고객 관리형 키는 암호화/암호 해독을 사용합니다. 자세한 내용은 RSA 알고리즘을 참조하세요.
요구 사항
첫 번째 고객 관리형 키 볼륨을 만들기 전에 다음을 설정해야 합니다.
- 하나 이상의 키를 포함하는 Azure Key Vault입니다.
- 키 자격 증명 모음에는 일시 삭제 및 보호 제거가 설정되어 있어야 합니다.
- 키는 RSA 형식이어야 합니다.
- 키 자격 증명 모음에는 Azure 프라이빗 엔드포인트가 있어야 합니다.
- 프라이빗 엔드포인트는 Azure NetApp Files에 위임된 것과 다른 서브넷에 있어야 합니다. 서브넷은 Azure NetApp에 위임된 것과 동일한 가상 네트워크에 있어야 합니다.
Azure Key Vault 및 Azure 프라이빗 엔드포인트에 대한 자세한 내용은 다음을 참조하세요.
- 빠른 시작: 키 볼트 만들기
- 볼트에 키를 생성하거나 가져오기
- 프라이빗 엔드포인트 만들기
- 키 및 지원되는 키 유형에 대한 자세한 정보
- 네트워크 보안 그룹
- 프라이빗 엔드포인트에 대한 네트워크 정책 관리
고객 관리형 키를 사용하도록 NetApp 계정을 구성합니다.
Azure Portal 및 Azure NetApp Files에서 암호화를 선택합니다.
암호화 페이지를 사용하면 NetApp 계정에 대한 암호화 설정을 관리할 수 있습니다. Azure Key Vault에 저장된 사용자 고유의 암호화 키를 사용하도록 NetApp 계정을 설정할 수 있는 옵션이 포함되어 있습니다. 이 설정은 NetApp 계정에 시스템 할당 ID를 제공하고 필요한 키 권한이 있는 ID에 대한 액세스 정책을 추가합니다.
고객 관리형 키를 사용하도록 NetApp 계정을 설정하는 경우 키 URI를 지정하는 두 가지 방법이 있습니다.
Azure Key Vault 인증에 사용할 ID 유형을 선택합니다. 자격 증명 모음 액세스 정책을 사용 권한 모델로 사용하도록 Azure Key Vault를 구성한 경우 두 옵션을 모두 사용할 수 있습니다. 그렇지 않으면 사용자 할당 옵션만 사용할 수 있습니다.
- 시스템 할당을 선택하는 경우 저장 단추를 선택합니다. Azure Portal은 NetApp 계정에 시스템 할당 ID를 추가하여 NetApp 계정을 자동으로 구성합니다. 액세스 정책은 키 권한 가져오기, 암호화, 암호 해독을 사용하여 Azure Key Vault에도 만들어집니다.
- 사용자 할당을 선택하는 경우 ID를 선택해야 합니다. ID 선택을 선택하여 사용자 할당 관리 ID를 선택하는 컨텍스트 창을 엽니다.
자격 증명 모음 액세스 정책을 사용하도록 Key Vault Azure를 구성한 경우 Azure Portal NetApp 계정을 자동으로 구성합니다. 선택한 사용자 할당 ID가 NetApp 계정에 추가됩니다. 액세스 정책은 Azure Key Vault 키 권한 가져오기, 암호화, 암호 해독을 사용하여 만들어졌습니다.
Azure 역할 기반 액세스 제어를 사용하도록 Azure Key Vault를 구성한 경우 선택한 사용자 할당 ID에 작업에 대한 권한이 있는 키 자격 증명 모음에 대한 역할 할당이 있는지 확인해야 합니다.
Microsoft.KeyVault/vaults/keys/read
Microsoft.KeyVault/vaults/keys/encrypt/action
-
Microsoft.KeyVault/vaults/keys/decrypt/action
선택한 사용자 할당 ID가 NetApp 계정에 추가됩니다. 역할 기반 액세스 제어의 사용자 지정 가능한 특성으로 인해 Azure Portal은 키 자격 증명 모음에 대한 액세스를 구성하지 않습니다. Azure Key Vault 구성에 대한 자세한 내용은 Azure 역할 기반 액세스 제어를 사용하여 Key Vault 키, 인증서 및 비밀에 대한 액세스 제공을 참조하세요.
저장을 선택한 다음 작업의 상태를 알리는 알림을 확인합니다. 작업이 성공하지 못하면 오류 메시지가 표시됩니다. 오류 해결에 대한 지원은 오류 메시지 및 문제 해결을 참조하세요.
역할 기반 액세스 제어 사용
Azure 역할 기반 액세스 제어를 사용하도록 구성된 Azure Key Vault를 사용할 수 있습니다. Azure Portal을 통해 고객 관리형 키를 구성하려면 사용자 할당 ID를 제공해야 합니다.
Azure 계정에서 Key Vault로 이동한 후 액세스 정책으로 이동합니다.
사용자 할당 역할을 만들 때 고객 관리형 키에는 다음 세 가지 권한이 필요합니다.
Microsoft.KeyVault/vaults/keys/read
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
이러한 사용 권한을 포함하는 미리 정의된 역할이 있지만 그러한 역할은 필요보다 많은 권한을 부여합니다. 필요한 최소 권한만 사용하여 사용자 지정 역할을 만드는 것이 좋습니다. 자세한 내용은 Azure 사용자 지정 역할을 참조하세요.
{ "id": "/subscriptions/<subscription>/Microsoft.Authorization/roleDefinitions/<roleDefinitionsID>", "properties": { "roleName": "NetApp account", "description": "Has the necessary permissions for customer-managed key encryption: get key, encrypt and decrypt", "assignableScopes": [ "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>" ], "permissions": [ { "actions": [], "notActions": [], "dataActions": [ "Microsoft.KeyVault/vaults/keys/read", "Microsoft.KeyVault/vaults/keys/encrypt/action", "Microsoft.KeyVault/vaults/keys/decrypt/action" ], "notDataActions": [] } ] } }
사용자 지정 역할이 만들어지고 키 자격 증명 모음과 함께 사용할 수 있게 되면 사용자 할당 ID에 적용합니다.
고객 관리형 키를 사용하여 Azure NetApp Files 볼륨 만들기
Azure NetApp Files에서 볼륨을 선택한 다음 + 볼륨 추가를 선택합니다.
Azure NetApp Files 볼륨에 대한 네트워크 기능 구성의 지침을 따릅니다.
- 볼륨 만들기 페이지에서 네트워크 기능 옵션을 설정합니다.
- 볼륨의 위임된 서브넷에 대한 네트워크 보안 그룹은 NetApp의 스토리지 VM에서 들어오는 트래픽을 허용해야 합니다.
고객 관리형 키를 사용하도록 구성된 NetApp 계정의 경우 볼륨 만들기 페이지에 암호화 키 원본 옵션이 포함되어 있습니다.
키를 사용하여 볼륨을 암호화하려면 암호화 키 원본 드롭다운 메뉴에서 Customer-Managed 키를 선택합니다.
고객 관리형 키를 사용하여 볼륨을 만들 때 네트워크 기능 옵션에 대한 표준도 선택해야 합니다. 기본 네트워크 기능은 지원되지 않습니다.
키 자격 증명 모음 프라이빗 엔드포인트도 선택해야 합니다. 드롭다운 메뉴는 선택한 가상 네트워크에 프라이빗 엔드포인트를 표시합니다. 선택한 가상 네트워크에 키 자격 증명 모음에 대한 프라이빗 엔드포인트가 없으면 드롭다운이 비어 있으며 계속 진행할 수 없습니다. 이 시나리오가 발생하는 경우 Azure 프라이빗 엔드포인트를 참조하세요.
볼륨 만들기 프로세스를 계속 완료합니다. 참조 항목:
Azure NetApp Files 볼륨을 고객 관리형 키로 전환
Azure NetApp Files는 플랫폼 관리형 키를 사용하여 기존 볼륨을 고객 관리형 키로 이동하는 기능을 지원합니다. 마이그레이션을 완료한 후에는 플랫폼 관리형 키로 되돌릴 수 없습니다.
전환 볼륨
참고
고객 관리형 키를 사용하도록 볼륨을 전환하는 경우 Azure NetApp Files 계정에 볼륨이 있는 모든 가상 네트워크에 대해 전환을 수행해야 합니다.
- 고객 관리형 키를 사용하도록 Azure NetApp Files 계정을 구성해야 합니다.
- Azure Portal에서 암호화로 이동합니다.
- CMK 마이그레이션 탭을 선택합니다.
- 드롭다운 메뉴에서 사용하려는 가상 네트워크와 키 자격 증명 모음 프라이빗 엔드포인트를 선택합니다.
- Azure는 고객 관리형 키로 암호화할 볼륨 목록을 생성합니다.
- 확인을 선택하여 마이그레이션을 시작합니다.
NetApp 계정에서 모든 볼륨의 암호 키 다시 설정
고객 관리형 키에 대해 NetApp 계정을 이미 구성했으며 고객 관리형 키로 암호화된 볼륨이 하나 이상 있는 경우 NetApp 계정의 모든 볼륨을 암호화하는 데 사용되는 키를 변경할 수 있습니다. 동일한 키 자격 증명 모음에 있는 모든 키를 선택할 수 있습니다. 키 자격 증명 모음은 변경할 수 없습니다.
다시 키 메뉴의 드롭다운 메뉴에서 사용 가능한 키 중 하나를 선택합니다. 선택한 키는 현재 키와 달라야 합니다.
확인을 선택하여 저장합니다. 키 다시 입력 작업은 몇 분 정도 걸릴 수 있습니다.
시스템 할당에서 사용자 할당 ID로 전환
시스템 할당에서 사용자 할당 ID로 전환하려면 읽기/가져오기, 암호화 및 암호 해독 권한과 함께 사용되는 키 자격 증명 모음에 대상 ID 액세스 권한을 부여해야 합니다.
az rest
명령을 사용하여 PATCH 요청을 전송하여 NetApp 계정을 업데이트합니다.az rest -m PATCH -u <netapp-account-resource-id>?api-versions=2022-09-01 -b @path/to/payload.json
페이로드는 다음 구조를 사용해야 합니다.
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "<identity-resource-id>": {} } }, "properties": { "encryption": { "identity": { "userAssignedIdentity": "<identity-resource-id>" } } } }
az netappfiles account show
명령을 사용하여 작업이 성공적으로 완료되었는지 확인합니다. 출력에 다음 필드가 포함됩니다."id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.NetApp/netAppAccounts/account", "identity": { "principalId": null, "tenantId": null, "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity>": { "clientId": "<client-id>", "principalId": "<principalId>", "tenantId": <tenantId>" } } },
다음 사항을 확인합니다.
-
encryption.identity.principalId
가identity.userAssignedIdentities.principalId
의 값과 일치 -
encryption.identity.userAssignedIdentity
가identity.userAssignedIdentities[]
의 값과 일치
"encryption": { "identity": { "principalId": "<principal-id>", "userAssignedIdentity": "/subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity>" }, "KeySource": "Microsoft.KeyVault", },
-
프라이빗 엔드포인트 업데이트
고객 관리형 키 볼륨을 만든 후 Azure 프라이빗 엔드포인트를 변경하면 볼륨에 액세스할 수 없게 될 수 있습니다. 변경해야 하는 경우 새 엔드포인트를 만들고 새 엔드포인트를 가리키도록 볼륨을 업데이트해야 합니다.
- 가상 네트워크와 Azure Key Vault 간에 새 엔드포인트를 만듭니다.
- 새 엔드포인트를 사용하도록 이전 엔드포인트를 사용하여 모든 볼륨을 업데이트합니다.
az netappfiles volume update --g $resource-group-name --account-name $netapp-account-name --pool-name $pool-name --name $volume-name --key-vault-private-endpoint-resource-id $newendpoint
- 이전 프라이빗 엔드포인트를 삭제합니다.