고객 관리형 키 회전 및 철회

이 문서는 4부로 구성된 자습서 시리즈의 3부입니다. 1부에서는 레지스트리에서 키를 사용하도록 설정하기 전에 고객 관리형 키, 기능 및 고려 사항에 대한 개요를 제공합니다. 2부에서는 Azure CLI, Azure Portal 또는 Azure Resource Manager 템플릿을 사용하여 고객 관리형 키를 사용하도록 설정하는 방법을 알아봅니다. 이 문서에서는 고객 관리형 키를 순환, 업데이트 및 해지하는 작업을 안내합니다.

고객 관리형 키 회전

키를 회전하려면 Azure Key Vault에서 키 버전을 업데이트하거나 새 키를 만들 수 있습니다. 키를 순환하는 동안 레지스트리를 만드는 데 사용한 것과 동일한 ID를 지정할 수 있습니다.

필요에 따라 다음을 수행할 수 있습니다.

  • 키에 액세스하도록 새 사용자 할당 ID를 구성합니다.
  • 레지스트리의 시스템이 할당한 ID를 사용하도록 설정하고 지정합니다.

참고 항목

포털에서 레지스트리의 시스템이 할당한 ID를 사용하도록 설정하려면 설정>ID를 선택하고 시스템이 할당한 ID의 상태를 켜기로 설정합니다.

필요한 Key Vault 액세스가 키 액세스를 위해 구성하는 ID에 설정되어 있는지 확인하세요.

Azure CLI를 사용하여 키 버전 만들기 또는 업데이트

새 키 버전을 생성하려면 az keyvault key create 명령을 실행합니다.

# Create new version of existing key
az keyvault key create \
  --name <key-name> \
  --vault-name <key-vault-name>

키 버전 업데이트를 검색하도록 레지스트리를 구성하면 고객 관리형 키가 1시간 이내에 자동으로 업데이트됩니다.

새 키 버전을 수동으로 업데이트하도록 레지스트리를 구성하는 경우 az-acr-encryption-rotate-key 명령을 실행합니다. 새 키 ID 및 구성하려는 ID를 전달합니다.

az-acr-encryption-rotate-key를 실행할 때 버전이 지정된 키 ID 또는 버전이 지정되지 않은 키 ID를 전달할 수 있습니다. 버전이 지정되지 않은 키 ID를 사용하는 경우 레지스트리는 나중에 키 버전 업데이트를 자동으로 검색하도록 구성됩니다.

고객 관리형 키 버전을 수동으로 업데이트하려면 다음 두 가지 옵션이 있습니다.

  • 키를 순환하고 사용자 할당 ID를 사용합니다.

    다른 Key Vault의 키를 사용하는 경우 principal-id-user-assigned-identity에 해당 Key Vault에 대한 get, wrapunwrap 권한이 있는지 확인합니다.

    az acr encryption rotate-key \
      --name <registry-name> \
      --key-encryption-key <new-key-id> \
      --identity <principal-id-user-assigned-identity>
    
  • 키를 순환하고 시스템 할당 ID를 사용합니다.

    시스템이 할당한 ID를 사용하기 전에 해당 ID에 할당된 get, wrapunwrap 권한을 확인합니다.

    az acr encryption rotate-key \
      --name <registry-name> \
      --key-encryption-key <new-key-id> \
      --identity [system]
    

Azure Portal을 사용하여 키 버전을 만들거나 업데이트합니다.

레지스트리의 암호화 설정을 사용하여 고객 관리형 키에 대한 Key Vault, 키 또는 ID 설정을 업데이트합니다.

예를 들어 새 키를 구성하려면 다음을 수행합니다.

  1. 포털에서 레지스트리로 이동합니다.

  2. 설정 아래에서 암호화>키 변경을 차례로 선택합니다.

    Screenshot of encryption key options in the Azure portal.

  3. 암호화에서 다음 옵션 중 하나를 선택합니다.

    • Key Vault에서 선택을 선택하고 기존 Key Vault 및 키 또는 새로 만들기를 선택합니다. 선택한 키는 버전이 지정되지 않으며 자동 키 순환을 사용하도록 설정합니다.
    • 키 URI 입력을 선택하고 키 식별자를 직접 제공합니다. 버전이 지정된 키 URI(수동으로 순환해야 하는 키의 경우) 또는 버전이 지정되지 않은 키 URI(자동 키 순환을 사용하는 경우)를 제공할 수 있습니다.
  4. 키 선택을 완료하고, 저장을 선택합니다.

고객 관리형 키 철회

고객 관리형 암호화 키는 액세스 정책을 변경하거나 Key Vault에 대한 권한을 변경하거나 키를 삭제하여 해지할 수 있습니다.

레지스트리에서 사용하는 관리 ID의 액세스 정책을 변경하려면 az-keyvault-delete-policy 명령을 실행합니다.

az keyvault delete-policy \
  --resource-group <resource-group-name> \
  --name <key-vault-name> \
  --object-id <key-vault-key-id>

키의 개별 버전을 삭제하려면 az-keyvault-key-delete 명령을 실행합니다. 이 작업에는 ‘키/삭제’ 권한이 필요합니다.

az keyvault key delete  \
  --name <key-vault-name> \
  -- 
  --object-id $identityPrincipalID \                     

참고 항목

고객 관리형 키를 철회하면 모든 레지스트리 데이터에 대한 액세스가 차단됩니다. 키에 대한 액세스를 사용하도록 설정하거나 삭제된 키를 복원하면 레지스트리에서 키를 선택하고 사용자는 암호화된 레지스트리 데이터에 대한 액세스를 다시 제어할 수 있습니다.

다음 단계

관리 ID를 제거할 때 발생하는 오류, 403 오류, 실수로 인한 키 삭제와 같은 가장 일반적인 문제를 해결하려면 다음 자습서로 계속 진행하세요.