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

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

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

고객 관리형 키의 개념 다이어그램.

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

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

  3. Azure Key Vault 관리자가 1단계에서 권한을 부여한 관리 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는 지역 간 복제 또는 영역 간 복제 관계를 사용하여 원본 및 데이터 복제 볼륨에서 고객 관리형 키를 지원합니다.

지원되는 지역

Azure NetApp Files 고객 괸리형 키는 다음 지역에 대해 지원됩니다.

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

요구 사항

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

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

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

고객 관리형 키를 사용하도록 NetApp 계정을 구성합니다.

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

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

    암호화 메뉴의 스크린샷.

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

    • 키 자격 증명 모음에서 선택 옵션을 사용하면 키 자격 증명 모음 및 키를 선택할 수 있습니다. 키 인터페이스 선택 스크린샷.

    • 키 URI 입력 옵션을 사용하면 키 URI를 수동으로 입력할 수 있습니다. 키 URI 필드를 보여 주는 암호화 메뉴의 스크린샷.

  3. 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에 작업에 대한 권한이 있는 키 자격 증명 모음에 대한 역할 할당이 있는지 확인해야 합니다.

  4. 저장을 선택한 다음 작업의 상태를 알리는 알림을 확인합니다. 작업이 성공하지 못하면 오류 메시지가 표시됩니다. 오류 해결에 도움이 필요하면 오류 메시지 및 문제 해결을 참조하세요.

역할 기반 액세스 제어 사용

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

  1. Azure 계정에서 키 자격 증명 모음으로 이동한 다음 정책에 액세스합니다.

  2. 액세스 정책을 만들려면 권한 모델에서 Azure 역할 기반 액세스 제어를 선택합니다. 액세스 구성 메뉴의 스크린샷.

  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에 적용합니다.

RBAC 검토 및 할당 메뉴의 스크린샷.

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

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

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

  3. 고객 관리형 키를 사용하도록 구성된 NetApp 계정의 경우 볼륨 만들기 페이지에 암호화 키 원본 옵션이 포함되어 있습니다.

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

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

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

    볼륨 만들기 메뉴의 스크린샷.

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

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

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

  1. NetApp 계정에서 암호화 메뉴로 이동합니다. 현재 키 입력 필드에서 키 다시 입력 링크를 선택합니다. 암호화 키의 스크린샷.

  2. 키 다시 입력 메뉴의 드롭다운 메뉴에서 사용 가능한 키 중 하나를 선택합니다. 선택한 키는 현재 키와 달라야 합니다. 키 다시 입력 메뉴의 스크린샷.

  3. 확인을 선택하여 저장합니다. 이 작업에는 몇 분 정도 걸릴 수 있습니다.

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

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

  1. 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>"
          }
        }
      }
    }
    
  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.principalIdidentity.userAssignedIdentities.principalId의 값과 일치
    • encryption.identity.userAssignedIdentityidentity.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 서브넷이 사용하도록 설정된 가상 네트워크에 Virtual Network NAT가 있나요?
Could not connect to the KeyVault 프라이빗 엔드포인트가 올바르게 설정되고 방화벽이 Virtual Network에서 KeyVault로의 연결을 차단하지 않는지 확인합니다.

다음 단계