액세스 정책에서 Azure RBAC로 마이그레이션

Azure Key Vault RBAC(Azure 역할 기반 액세스 제어) 및 액세스 정책 모델 Azure 두 가지 액세스 제어 모델을 제공합니다. Azure RBAC는 Azure Key Vault 대한 기본 및 권장 액세스 제어 모델입니다. API 버전 2026-02-01부터 Azure RBAC이 새로운 자격 증명 모음의 기본 액세스 제어 모델입니다. 두 가지 권한 부여 방법에 대한 비교는 Azure RBAC(Azure 역할 기반 액세스 제어) 및 액세스 정책을 참조하세요.

이 변경에 대한 기존 배포를 준비하는 방법에 대한 자세한 내용은 Key Vault API 버전 2026-02-01 이상에 대한 준비 참조하세요.

이 문서에서는 "액세스 정책 모델"에서 "Azure RBAC 모델"로 키 자격 증명 모음(Key Vault)을 마이그레이션하는 데 필요한 정보를 제공합니다.

Azure 역할 매핑에 대한 액세스 정책

Azure RBAC에는 사용자, 그룹, 서비스 주체 및 관리 ID에 할당할 수 있는 몇 가지 Azure 기본 제공 역할이 있습니다. 기본 제공 역할이 조직의 특정 요구 사항을 충족하지 않는 경우 고유한 Azure 사용자 지정 역할 만들 수 있습니다.

키, 인증서 및 비밀 액세스 관리에 대한 Key Vault 기본 제공 역할:

  • Key Vault 관리자
  • Key Vault 읽기 권한자
  • 키 볼트 삭제 연산자
  • Key Vault 인증서 책임자
  • Key Vault 인증서 사용자
  • 키 볼트 암호 관리자
  • 키 볼트 암호화 사용자
  • 키 볼트 암호화 서비스 사용자
  • Key Vault Crypto 서비스 출시 사용자
  • Key Vault 시크릿 관리자
  • Key Vault 비밀 사용자

기존 기본 제공 역할에 대한 자세한 내용은 Azure 기본 제공 역할

볼트 액세스 정책은 개별적으로 선택된 권한 또는 미리 정의된 권한 설정 템플릿을 사용하여 할당할 수 있습니다.

액세스 정책 미리 정의된 권한 템플릿:

  • 키, 비밀, 인증서 관리
  • 키 및 비밀 관리
  • 비밀 및 인증서 관리
  • 키 관리
  • 비밀 관리
  • 인증서 관리
  • SQL Server 커넥터
  • Azure Data Lake Storage 또는 Azure Storage
  • Azure Backup
  • Exchange Online 고객 키
  • SharePoint Online 고객 키
  • Azure Information BYOK

Azure 역할 매핑에 대한 정책 템플릿에 액세스

액세스 정책 템플릿 운영 Azure 역할
키, 비밀, 인증서 관리 키: 모든 작업
인증서: 모든 작업
비밀: 모든 작업
Key Vault 관리자
키 및 비밀 관리 키: 모든 작업
비밀: 모든 작업
Key Vault 암호화 책임자
Key Vault 시크릿 관리자
비밀 및 인증서 관리 인증서: 모든 작업
비밀: 모든 작업
Key Vault 인증서 책임자
Key Vault 시크릿 관리자
키 관리 키: 모든 작업 키 볼트 암호 관리자
비밀 관리 비밀: 모든 작업 Key Vault 시크릿 관리자
인증서 관리 인증서: 모든 작업 Key Vault 인증서 책임자
SQL Server 커넥터 키: 가져오기, 나열하기, 키 감싸기, 키 풀기 키 볼트 암호화 서비스 사용자
Azure Data Lake Storage 또는 Azure Storage 키: 가져오기, 나열, 키 래핑 해제 해당 없음
사용자 지정 역할 필요
Azure Backup 키: 가져오기, 나열, 백업
비밀: 가져오기, 나열, 백업
해당 없음
사용자 지정 역할 필요
Exchange Online 고객 키 키: 가져오기, 나열하기, 키 감싸기, 키 풀기 키 볼트 암호화 서비스 사용자
Exchange Online 고객 키 키: 가져오기, 나열하기, 키 감싸기, 키 풀기 키 볼트 암호화 서비스 사용자
Azure Information BYOK 키: 가져오기, 암호 해독, 서명 해당 없음
사용자 지정 역할 필요

할당 범위 매핑

Azure RBAC는 Key Vault에 대해 다음 범위에서 역할 할당을 허용합니다.

  • 관리 그룹
  • 구독
  • 리소스 그룹
  • Key Vault 리소스
  • 개별 키, 비밀 및 인증서

액세스 정책은 Key Vault 리소스 수준에서만 정책을 할당하도록 제한됩니다.

일반적으로 애플리케이션당 하나의 키 자격 증명 모음을 사용하고 키 자격 증명 모음 수준에서 액세스를 관리하는 것이 좋습니다. 다른 범위에서 액세스를 관리하면 액세스 관리를 간소화할 수 있는 시나리오가 있습니다.

  • 인프라, 보안 관리자 및 운영자: 자격 증명 모음 액세스 정책을 사용하여 관리 그룹, 구독 또는 리소스 그룹 수준에서 키 자격 증명 모음 그룹을 관리하려면 각 키 자격 증명 모음에 대한 정책을 유지 관리해야 합니다. Azure RBAC를 사용하면 관리 그룹, 구독 또는 리소스 그룹에서 하나의 역할 할당을 만들 수 있습니다. 이 할당은 동일한 범위에서 만든 모든 새 키 자격 증명 모음에 적용됩니다. 이 시나리오에서는 영구 액세스 제공 대신 Just-In-Time 액세스와 함께 Privileged Identity Management를 사용하는 것이 좋습니다.

  • 애플리케이션: 애플리케이션이 다른 애플리케이션과 비밀을 공유해야 하는 시나리오가 있습니다. 자격 증명 모음 액세스 정책을 사용하면 모든 비밀에 대한 액세스 권한을 부여하지 않도록 별도의 키 자격 증명 모음을 만들어야 했습니다. Azure RBAC를 사용하면 단일 키 자격 증명 모음을 사용하는 대신 개별 비밀의 범위를 사용하여 역할을 할당할 수 있습니다.

마이그레이션 방법

액세스 정책에서 Azure RBAC로 키 자격 증명 모음을 마이그레이션하려면 다음 단계를 수행합니다.

  • 준비: 적절한 권한과 애플리케이션의 인벤토리가 있는지 확인합니다.
  • 인벤토리: 모든 기존 액세스 정책 및 권한을 문서화합니다.
  • AZURE RBAC 역할 만들기: 각 보안 주체에 적절한 Azure RBAC 역할을 할당합니다.
  • Azure RBAC 활성화: Azure RBAC 액세스 제어 모델을 사용하도록 키 자격 증명 모음을 전환합니다.
  • 유효성 검사: 모든 애플리케이션과 사용자가 적절한 액세스를 유지하도록 액세스를 테스트합니다.
  • 모니터: 액세스 문제에 대한 모니터링 및 경고를 설정합니다.

필수 조건

마이그레이션을 시작하기 전에 다음이 있는지 확인합니다.

  1. 필요한 권한: 키 볼트에 대해 다음 권한이 있어야 합니다.

    • 소유자 및 사용자 액세스 관리자 역할에 포함된 Microsoft.Authorization/roleAssignments/write 권한
    • Key Vault 기여자 역할에 포함된 Microsoft.KeyVault/vaults/write 권한

    참고

    클래식 구독 관리자 역할(서비스 관리자 및 Co-Administrator)은 지원되지 않습니다.

  2. 애플리케이션 및 ID 인벤토리: 키 자격 증명 모음에 액세스하는 모든 애플리케이션, 서비스 및 사용자를 나열하고 모든 현재 액세스 정책 및 부여 권한을 문서화합니다.

현재 액세스 정책 목록

보안 주체(사용자, 그룹, 서비스 주체) 및 해당 사용 권한을 기록하여 모든 기존 액세스 정책을 문서화합니다.

Azure CLI az keyvault show 명령을 사용하여 액세스 정책을 검색합니다.

# List all current access policies
az keyvault show --name <vault-name> --resource-group <resource-group> --query properties.accessPolicies

동등한 Azure RBAC 역할 할당 만들기

액세스 정책이 있는 각 보안 주체에 대해 위의 매핑 테이블에 따라 하나 이상의 Azure RBAC 역할 할당을 만듭니다.

az role assignment create 명령을 사용하여 적절한 역할을 부여합니다.

# Example for Key Vault Administrator role:
az role assignment create --role "Key Vault Administrator" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Secrets Officer:
az role assignment create --role "Key Vault Secrets Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Crypto Officer:
az role assignment create --role "Key Vault Crypto Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Example for Key Vault Certificates Officer:
az role assignment create --role "Key Vault Certificates Officer" --assignee "<object-id-or-email>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

Azure RBAC 사용

필요한 모든 역할 할당을 만든 후 자격 증명 모음을 전환하여 Azure RBAC 권한 모델을 사용합니다.

az keyvault update 명령을 사용하여 AZURE RBAC를 사용하도록 설정합니다.

# Switch the vault to Azure RBAC
az keyvault update --name <vault-name> --resource-group <resource-group> --enable-rbac-authorization true

액세스 유효성 검사

보관소에 대한 액세스를 테스트하여 모든 애플리케이션과 사용자가 여전히 필요한 작업을 수행할 수 있는지 확인합니다.

다음 명령을 사용하여 액세스를 테스트합니다.

# Try to list secrets to verify access
az keyvault secret list --vault-name <vault-name>

# Try to get a secret to verify access
az keyvault secret show --vault-name <vault-name> --name <secret-name>

모니터링 및 경고 설정

마이그레이션 후 액세스 문제를 감지하도록 적절한 모니터링을 설정합니다.

az monitor diagnostic-settings create 명령을 사용합니다.

# Enable diagnostics logging for Key Vault
az monitor diagnostic-settings create --resource <vault-id> --name KeyVaultLogs --logs "[{\"category\":\"AuditEvent\",\"enabled\":true}]" --workspace <log-analytics-workspace-id>

Azure Policy 사용하여 마이그레이션 거버넌스

Azure Policy 서비스를 사용하여 자격 증명 모음에서 Azure RBAC 마이그레이션을 제어할 수 있습니다. 사용자 지정 정책 정의를 만들어 기존 키 자격 증명 모음을 감사하고 모든 새 키 자격 증명 모음을 적용하여 Azure RBAC를 사용할 수 있습니다.

Key Vault Azure RBAC에 대한 정책 정의 만들기 및 할당

  1. 정책 리소스로 이동
  2. Azure Policy 페이지의 왼쪽에서 작성 아래의 할당을 선택합니다.
  3. 정책 할당하기를 페이지 맨 위에서 선택하세요.
  4. 다음 정보를 입력합니다.
    • 구독 및 리소스 그룹을 선택하여 정책 범위를 정의합니다.
    • 정책 정의를 선택합니다. "[미리 보기]: Azure Key Vault Azure RBAC를 사용해야 합니다."
    • 정책의 원하는 효과(감사, 거부 또는 사용 안 함) 정의
  5. 과제를 검토하고 작성하여 완료하세요.

정책이 할당되면 검사를 완료하는 데 최대 24시간이 걸릴 수 있습니다. 검사가 완료되면 Azure Policy 대시보드에서 규정 준수 결과를 볼 수 있습니다.

AZURE RBAC 비교 도구에 대한 액세스 정책

중요

이 도구는 공식적인 고객 지원 서비스 지원 없이 Microsoft 커뮤니티 구성원이 빌드하고 유지 관리합니다. 도구는 어떤 종류의 보증도 없이 있는 그대로 제공됩니다.

PowerShell 도구는 Key Vault 액세스 정책을 할당된 Azure RBAC 역할과 비교하여 Access Policy에서 Azure RBAC로의 마이그레이션을 돕습니다. 이 도구의 목적은 기존 Key Vault를 Azure RBAC로의 마이그레이션 시 sanity check를 수행하여, 기본 데이터 작업을 포함한 할당된 역할이 기존 액세스 정책을 제대로 커버하는지 확인하는 것입니다.

일반적인 문제 해결

  • 역할 할당 지연: 역할 할당이 전파되는 데 몇 분 정도 걸릴 수 있습니다. 애플리케이션에서 재시도 논리를 구현합니다.
  • 복구 후 역할 할당 손실: 일시 삭제 후 자격 증명 모음이 복구되면 역할 할당이 보존되지 않습니다. 복구 후 모든 역할 할당을 다시 만들어야 합니다.
  • 액세스 거부 오류: 다음을 확인합니다.
    • 올바른 역할이 올바른 범위에 할당됩니다.
    • 서비스 주체 또는 관리 ID에 필요한 정확한 권한이 있습니다.
    • 네트워크 액세스 규칙이 연결을 차단하지 않음
  • 마이그레이션 후 스크립트 실패: 대신 역할 할당을 사용하도록 액세스 정책을 사용하는 모든 스크립트를 업데이트합니다.

자세한 정보