본문 바로가기
CLOUD/AZURE

Azure Managed Identity(MID)

by Rainbound-IT 2025. 2. 18.
반응형

 

Azure에서 Managed Identity (MID)는 애플리케이션, 가상 머신, 컨테이너 등이 보안적으로 안전하게 Azure 리소스에 접근할 수 있도록 하는 Azure Active Directory (Azure AD) 기반의 ID 관리 서비스입니다. MID는 사용자의 개입 없이 인증 정보를 관리하며, 서비스 프린시펄(Service Principal)과 유사하지만 자격 증명(Secrets, Keys)을 직접 관리할 필요가 없다는 것이 가장 큰 장점입니다.


1. Managed Identity의 역할

Azure에서 Managed Identity는 애플리케이션 또는 서비스가 다른 Azure 리소스와 안전하게 통신할 수 있도록 자동으로 관리되는 ID를 제공합니다. 주요 역할은 다음과 같습니다.

① Azure 리소스에 대한 인증 및 권한 부여

  • Azure AD에 의해 자동으로 관리되는 ID를 사용하여 Azure Key Vault, Azure Storage, Azure SQL Database, Azure Resource Manager 등의 리소스에 보안 인증을 수행할 수 있습니다.
  • RBAC(Role-Based Access Control)을 활용하여 특정 Azure 리소스에 대한 접근 권한을 부여할 수 있습니다.

② 자격 증명 관리 불필요

  • 애플리케이션이 Azure 리소스에 접근할 때, 기존에는 Client ID와 Client Secret을 관리해야 했지만, Managed Identity를 사용하면 Azure에서 자동으로 토큰을 관리 및 갱신해줍니다.
  • 따라서, 보안 사고 가능성이 줄어들고, 인증 정보 유출 위험을 최소화할 수 있습니다.

③ 다양한 Azure 서비스에서 사용 가능

  • Azure VM, Azure Container Instances, Azure Kubernetes Service (AKS), Azure Functions, Azure App Service 등에서 MID를 활성화하여 보안 접근을 간소화할 수 있습니다.

2. Managed Identity의 유형

Azure에서는 두 가지 유형의 Managed Identity를 제공합니다.

① System-assigned Managed Identity

  • 특정 Azure 리소스(VM, App Service 등)에 자동으로 생성되고 해당 리소스의 수명 주기에 따라 자동 삭제되는 ID입니다.
  • 하나의 Azure 리소스당 하나의 System-assigned Managed Identity만 존재할 수 있습니다.
  • 해당 리소스가 삭제되면, 함께 삭제됩니다.

② User-assigned Managed Identity

  • 독립적으로 생성되어 여러 Azure 리소스에서 공유하여 사용할 수 있는 ID입니다.
  • 여러 개의 리소스에서 같은 Managed Identity를 공유할 수 있음.
  • 리소스가 삭제되더라도 Managed Identity는 계속 유지됨.

3. Managed Identity 사용 사례

① Azure Key Vault의 비밀 값(Secrets) 접근

  • 애플리케이션이 Key Vault의 인증 정보를 안전하게 가져오기 위해 MID를 사용할 수 있습니다.
  • Key Vault에서 MID에 대해 적절한 권한을 부여하면, 애플리케이션이 자격 증명 없이 Key Vault에서 비밀 값을 가져올 수 있습니다.
 
az role assignment create --assignee <managed-identity-client-id> --role "Key Vault Reader" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<key-vault-name>

② Azure Storage Blob에 대한 안전한 접근

  • 애플리케이션이 스토리지 계정에 접근할 때, Access Key를 사용하지 않고 MID를 활용하여 인증 가능.
 
az role assignment create --assignee <managed-identity-client-id> --role "Storage Blob Data Reader" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>

③ Azure VM에서 Azure Resource Manager (ARM) API 호출

  • 가상 머신에서 Azure의 다른 리소스를 관리할 때, Service Principal 없이 Managed Identity를 활용하면 더 안전하게 API 호출이 가능.
 
curl -H "Metadata: true" "http://169.254.169.254/metadata/identity/oauth2/token?resource=https://management.azure.com&api-version=2019-08-01"

4. Managed Identity의 장점

 

기능 Managed Identity (MID) 기존 Service Principal
자격 증명 관리 Azure가 자동 관리, Key/Secret 없음 수동으로 Secret 관리 필요
보안성 인증 정보 유출 위험 없음 Secret 노출 가능성 있음
라이프사이클 관리 System-assigned: 리소스와 함께 생성 및 삭제됨 별도로 생성/삭제해야 함
사용 편의성 추가 설정 없이 Azure AD 인증 지원 추가 코드 및 설정 필요
RBAC 연동 가능 가능 가능

 


5. 결론

Azure의 Managed Identity(MID)는 자격 증명을 관리할 필요 없이 보안성이 뛰어난 방식으로 Azure 리소스에 접근할 수 있도록 도와주는 기능입니다. 특히, 시스템 운영 자동화, 보안 강화, 클라우드 네이티브 환경에서의 인증 간소화를 위해 적극 활용됩니다.

요약

  • 서비스나 애플리케이션이 Azure 리소스에 접근할 때, 안전한 인증 방법 제공.
  • 자격 증명(Secrets, Keys) 없이 자동으로 인증 관리.
  • System-assigned와 User-assigned 두 가지 유형이 있음.
  • Key Vault, Storage, ARM API 호출 등 다양한 Azure 서비스와 연동 가능.
반응형

댓글