Azure NetApp Files 볼륨 암호화를 위해 고객 관리형 키 구성

Azure NetApp Files 볼륨 암호화를 위한 고객 관리형 키를 사용하면 새 볼륨을 만들 때 플랫폼 관리형 키가 아닌 사용자 고유의 키를 사용할 수 있습니다. 고객 관리형 키를 사용하면 키의 수명 주기, 키 사용 권한 및 키에 대한 감사 작업 간의 관계를 완전히 관리할 수 있습니다.

다음 다이어그램은 고객 관리형 키가 Azure NetApp Files에서 작동하는 방법을 보여 줍니다.

Conceptual diagram of customer-managed keys.

  1. Azure NetApp Files는 관리 ID에 암호화 키에 대한 권한을 부여합니다. 관리 ID는 사용자가 만들고 관리하는 사용자 할당 관리 ID이거나 NetApp 계정과 연결된 시스템 할당 관리 ID입니다.

  2. NetApp 계정에 대한 고객 관리형 키를 사용하여 암호화를 구성합니다.

  3. 1단계에서 Azure Key Vault 관리자가 권한을 부여한 관리 ID를 사용하여 Microsoft Entra ID를 통해 Azure Key Vault에 대한 액세스를 인증합니다.

  4. Azure NetApp Files는 계정 암호화 키를 Azure Key Vault의 고객 관리형 키로 래핑합니다.

    고객 관리형 키는 Azure NetApp Files에 성능에 영향을 주지 않습니다. 플랫폼 관리형 키와 유일한 차이점은 키가 관리되는 방식입니다.

  5. 읽기/쓰기 작업의 경우 Azure NetApp Files는 Azure Key Vault에 요청을 보내 계정 암호화 키를 래프 해제하여 암호화 및 암호 해독 작업을 수행합니다.

고려 사항

  • 고객 관리형 키는 새 볼륨에서만 구성할 수 있습니다. 기존 볼륨을 고객 관리형 키 암호화로 마이그레이션할 수 없습니다.
  • 고객 관리형 키를 사용하여 볼륨을 만들려면 표준 네트워크 기능을 선택해야 합니다. 기본 네트워크 기능을 사용하여 구성된 볼륨에는 고객 관리형 키 볼륨을 사용할 수 없습니다. 지침에 따라 볼륨 만들기 페이지에서 네트워크 기능 옵션을 설정합니다.
  • 보안 강화를 위해 키 자격 증명 모음의 네트워크 설정 내에서 공용 액세스 사용 안 함 옵션을 선택할 수 있습니다. 이 옵션을 선택할 때 Azure NetApp Files 서비스가 암호화 키에 액세스하도록 허용하려면 신뢰할 수 있는 Microsoft 서비스 허용을 선택하여 이 방화벽을 바이패스해야 합니다.
  • 고객 관리형 키는 MSI(자동 관리 시스템 ID) 인증서 갱신을 지원합니다. 인증서가 유효한 경우 인증서를 수동으로 업데이트할 필요가 없습니다.
  • 프라이빗 링크 서브넷의 Azure 네트워크 보안 그룹을 Azure Key Vault에 적용하는 것은 Azure NetApp Files 고객 관리형 키에 지원되지 않습니다. 네트워크 보안 그룹은 서브넷에서 사용하도록 설정되지 않는 한 Private endpoint network policy Private Link에 대한 연결에 영향을 주지 않습니다. 이 옵션을 사용하지 않도록 설정해야 합니다.
  • Azure NetApp Files에서 고객 관리형 키 볼륨을 만들지 못하면 오류 메시지가 표시됩니다. 자세한 내용은 오류 메시지 및 문제 해결 섹션을 참조하세요.
  • Azure Key Vault에 액세스할 수 없으면 Azure NetApp Files는 암호화 키에 대한 액세스 권한과 함께, 고객 관리형 키로 사용 설정된 볼륨에 대한 데이터 읽기 또는 쓰기 기능을 잃게 됩니다. 이 경우 영향을 받는 볼륨에 대해 액세스 권한을 수동으로 복원하도록 지원 티켓을 생성합니다.
  • Azure NetApp Files는 지역 간 복제본(replica)tion 또는 영역 간 복제본(replica) 관계인 원본 및 데이터 복제본(replica)tion 볼륨에서 고객 관리형 키를 지원합니다.

지원되는 지역

Azure NetApp Files 고객 관리형 키는 다음 지역에서 지원됩니다.

  • 오스트레일리아 중부
  • 오스트레일리아 중부 2
  • 오스트레일리아 동부
  • 오스트레일리아 남동부
  • 브라질 남부
  • 브라질 남동부
  • 캐나다 중부
  • 캐나다 동부
  • 인도 중부
  • 미국 중부
  • 동아시아
  • 미국 동부
  • 미국 동부 2
  • 프랑스 중부
  • 독일 북부
  • 독일 중서부
  • 일본 동부
  • 일본 서부
  • 한국 중부
  • 한국 남부
  • 미국 중북부
  • 북유럽
  • 노르웨이 동부
  • 노르웨이 서부
  • 카타르 중부
  • 남아프리카 북부
  • 미국 중남부
  • 인도 남부
  • 동남아시아
  • 스웨덴 중부
  • 스위스 북부
  • 스위스 서부
  • 아랍에미리트 중부
  • 아랍에미리트 북부
  • 영국 남부
  • 영국 서부
  • 서유럽
  • 미국 서부
  • 미국 서부 2
  • 미국 서부 3

요구 사항

첫 번째 고객 관리형 키 볼륨을 만들기 전에 다음을 설정해야 합니다.

  • 하나 이상의 키를 포함하는 Azure Key Vault입니다.
    • 키 자격 증명 모음에는 일시 삭제 및 제거 보호가 활성화되어 있어야 합니다.
    • 키는 RSA 형식이어야 합니다.
  • 키 자격 증명 모음에는 Azure 프라이빗 엔드포인트있어야 합니다.
    • 프라이빗 엔드포인트는 Azure NetApp Files에 위임된 서브넷과 다른 서브넷에 있어야 합니다. 서브넷은 Azure NetApp에 위임된 것과 동일한 VNet에 있어야 합니다.

Azure Key Vault 및 Azure 프라이빗 엔드포인트에 대한 자세한 내용은 다음을 참조하세요.

고객 관리형 키를 사용하도록 NetApp 계정 구성

  1. Azure Portal 및 Azure NetApp Files에서 암호화를 선택합니다.

    암호화 페이지를 사용하면 NetApp 계정에 대한 암호화 설정을 관리할 수 있습니다. Azure Key Vault에 저장된 사용자 고유의 암호화 키를 사용하도록 NetApp 계정을 설정할 수 있는 옵션이 포함되어 있습니다. 이 설정은 NetApp 계정에 시스템 할당 ID를 제공하고 필요한 키 권한이 있는 ID에 대한 액세스 정책을 추가합니다.

    Screenshot of the encryption menu.

  2. 고객 관리형 키를 사용하도록 NetApp 계정을 설정하는 경우 키 URI를 지정하는 두 가지 방법이 있습니다.

    • 키 자격 증명 모음에서 선택 옵션을 사용하면 키 자격 증명 모음 및 키를 선택할 수 있습니다. Screenshot of the select a key interface.

    • 키 URI 입력 옵션을 사용하면 키 URI를 수동으로 입력할 수 있습니다. Screenshot of the encryption menu showing key URI field.

  3. Azure Key Vault에 대한 인증에 사용할 ID 유형을 선택합니다. Azure Key Vault가 자격 증명 모음 액세스 정책을 사용 권한 모델로 사용하도록 구성된 경우 두 옵션을 모두 사용할 수 있습니다. 그렇지 않으면 사용자 할당 옵션만 사용할 수 있습니다.

    • 시스템 할당을 선택하는 경우 저장 단추를 선택합니다. Azure Portal은 다음 프로세스를 사용하여 NetApp 계정을 자동으로 구성합니다. 시스템 할당 ID가 NetApp 계정에 추가됩니다. 액세스 정책은 키 권한 가져오기, 암호화, 암호 해독을 사용하여 Azure Key Vault에 생성됩니다.

    Screenshot of the encryption menu with system-assigned options.

    • 사용자 할당을 선택하는 경우 ID를 선택해야 합니다. ID 선택을 선택하여 사용자 할당 관리 ID 를 선택하는 컨텍스트 창을 엽니다.

    Screenshot of user-assigned submenu.

    자격 증명 모음 액세스 정책을 사용하도록 Azure Key Vault를 구성한 경우 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 계정에 추가됩니다. RBAC(역할 기반 액세스 제어)의 사용자 지정 가능한 특성으로 인해 Azure Portal은 키 자격 증명 모음에 대한 액세스를 구성하지 않습니다. Azure Key Vault 구성에 대한 자세한 내용은 Azure 역할 기반 액세스 제어를 사용하여 Key Vault 키, 인증서 및 비밀에 대한 액세스 제공을 참조하세요.
  4. 저장을 선택한 다음 작업의 상태 전달하는 알림을 확인합니다. 작업이 실패하면 오류 메시지가 표시됩니다. 오류 메시지 및 문제 해결을 참조하여 오류 해결에 도움을 요청하세요.

역할 기반 액세스 제어 사용

Azure 역할 기반 액세스 제어를 사용하도록 구성된 Azure Key Vault를 사용할 수 있습니다. Azure Portal을 통해 고객 관리형 키를 구성하려면 사용자 할당 ID를 제공해야 합니다.

  1. Azure 계정에서 Key Vault로 이동한 다음, 정책에 액세스합니다.

  2. 액세스 정책을 만들려면 권한 모델에서 Azure 역할 기반 액세스 제어를 선택합니다. Screenshot of access configuration menu.

  3. 사용자 할당 역할을 만들 때 고객 관리형 키에는 다음 세 가지 권한이 필요합니다.

    1. Microsoft.KeyVault/vaults/keys/read
    2. Microsoft.KeyVault/vaults/keys/encrypt/action
    3. 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": []
                }
            ]
          }
    }
    
  4. 사용자 지정 역할이 만들어지고 키 자격 증명 모음에서 사용할 수 있게 되면 사용자 할당 ID에 적용합니다.

Screenshot of RBAC review and assign menu.

고객 관리형 키를 사용하여 Azure NetApp Files 볼륨 만들기

  1. Azure NetApp Files에서 볼륨을 선택한 다음+ 볼륨 추가를 선택합니다.

  2. Azure NetApp Files 볼륨대한 네트워크 기능 구성의 지침을 따릅니다.

    • 볼륨 만들기 페이지에서 네트워크 기능 옵션을 설정합니다.
    • 볼륨의 위임된 서브넷에 대한 네트워크 보안 그룹은 NetApp의 스토리지 VM에서 들어오는 트래픽을 허용해야 합니다.
  3. 고객 관리형 키를 사용하도록 구성된 NetApp 계정의 경우 볼륨 만들기 페이지에 암호화 키 원본 옵션이 포함되어 있습니다.

    키를 사용하여 볼륨을 암호화하려면 암호화 키원본 드롭다운 메뉴에서 고객 관리형 키를 선택합니다.

    고객 관리형 키를 사용하여 볼륨을 만들 때 네트워크 기능 옵션에 대한 표준도 선택해야 합니다. 기본 네트워크 기능은 지원되지 않습니다.

    키 자격 증명 모음 프라이빗 엔드포인트도 선택해야 합니다. 드롭다운 메뉴는 선택한 가상 네트워크에 프라이빗 엔드포인트를 표시합니다. 선택한 가상 네트워크에 키 자격 증명 모음에 대한 프라이빗 엔드포인트가 없으면 드롭다운이 비어 있으며 계속 진행할 수 없습니다. 그렇다면 Azure 프라이빗 엔드포인트를 참조하세요.

    Screenshot of create volume menu.

  4. 볼륨 만들기 프로세스를 계속 완료합니다. 참조 항목:

NetApp 계정에서 모든 볼륨 키 다시 지정

고객 관리형 키에 대해 NetApp 계정을 이미 구성했으며 고객 관리형 키로 암호화된 볼륨이 하나 이상 있는 경우 NetApp 계정의 모든 볼륨을 암호화하는 데 사용되는 키를 변경할 수 있습니다. 동일한 키 자격 증명 모음에 있는 모든 키를 선택할 수 있습니다. 키 자격 증명 모음 변경은 지원되지 않습니다.

  1. NetApp 계정에서 암호화 메뉴로 이동합니다. 현재 키 입력 필드 아래에서 키 다시 키 링크를 선택합니다. Screenshot of the encryption key.

  2. 다시 키 메뉴의 드롭다운 메뉴에서 사용 가능한 키 중 하나를 선택합니다. 선택한 키는 현재 키와 달라야 합니다. Screenshot of the rekey menu.

  3. 확인을 선택하여 저장합니다. 키 다시 입력 작업은 몇 분 정도 걸릴 수 있습니다.

시스템 할당에서 사용자 할당 ID로 전환

시스템 할당에서 사용자 할당 ID로 전환하려면 읽기/가져오기, 암호화 및 암호 해독 권한과 함께 사용되는 키 자격 증명 모음에 대한 대상 ID 액세스 권한을 부여해야 합니다.

  1. 명령을 사용하여 PATCH 요청을 전송하여 NetApp 계정을 업데이트합니다.az rest

    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>"
          }
        }
      }
    }
    
  2. 명령을 사용하여 작업이 성공적으로 완료되었는지 확인합니다 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 NetApp Files가 고객 관리형 키 암호화를 구성하지 못하거나 고객 관리형 키를 사용하여 볼륨을 만들지 못하는 경우 오류 메시지와 가능한 해결 방법을 나열합니다.

NetApp 계정에서 고객 관리형 키 암호화 구성 오류

오류 조건 해결
The operation failed because the specified key vault key was not found 키 URI를 수동으로 입력할 때 URI가 올바른지 확인합니다.
Azure Key Vault key is not a valid RSA key 선택한 키가 RSA 형식인지 확인합니다.
Azure Key Vault key is not enabled 선택한 키가 사용하도록 설정되어 있는지 확인합니다.
Azure Key Vault key is expired 선택한 키가 만료되지 않았는지 확인합니다.
Azure Key Vault key has not been activated 선택한 키가 활성 상태인지 확인합니다.
Key Vault URI is invalid 키 URI를 수동으로 입력할 때 URI가 올바른지 확인합니다.
Azure Key Vault is not recoverable. Make sure that Soft-delete and Purge protection are both enabled on the Azure Key Vault 키 자격 증명 모음 복구 수준을 다음으로 업데이트합니다.
“Recoverable/Recoverable+ProtectedSubscription/CustomizedRecoverable/CustomizedRecoverable+ProtectedSubscription”
Account must be in the same region as the Vault 키 자격 증명 모음이 NetApp 계정과 동일한 지역에 있는지 확인합니다.

고객 관리형 키로 암호화된 볼륨 만들기 오류

오류 조건 해결
Volume cannot be encrypted with Microsoft.KeyVault, NetAppAccount has not been configured with KeyVault encryption NetApp 계정에 고객 관리형 키 암호화가 사용하도록 설정되어 있지 않습니다. 고객 관리형 키를 사용하도록 NetApp 계정을 구성합니다.
EncryptionKeySource cannot be changed 해결 방법이 없습니다. 볼륨의 EncryptionKeySource 속성은 변경할 수 없습니다.
Unable to use the configured encryption key, please check if key is active 다음을 확인합니다.
-키 자격 증명 모음에서 모든 액세스 정책이 올바른가요? 가져오기, 암호화, 암호 해독
-키 자격 증명 모음에 대한 프라이빗 엔드포인트가 있나요?
-위임된 Azure NetApp Files 서브넷을 사용하도록 설정된 VNet에 Virtual Network NAT가 있나요?

다음 단계