카테고리 없음

Azure Managed Identity를 활용한 AKS Admin VM의 RBAC 적용 구조

idea9329 2025. 3. 4. 16:46
반응형

Azure AKS(Managed Kubernetes)를 관리할 때 AKS Admin VM을 사용하고, Managed Identity를 통해 RBAC(Role-Based Access Control)을 적용하는 방식에 대해 설명하겠습니다.


1. 개요: Azure Managed Identity를 활용한 AKS 관리

Azure에서는 Managed Identity(관리형 ID)를 활용하여 AKS 클러스터와 상호 작용하는 AKS Admin VM을 보다 안전하고 효율적으로 운영할 수 있습니다.

  • AKS Admin VM에서 Azure AD(Active Directory) 기반의 인증을 사용하여 AKS에 접근
  • Azure RBAC를 통해 권한을 부여하여 보안 강화를 위한 최소 권한 원칙 적용
  • Managed Identity를 활용하여 AKS 인증 자동화 (비밀번호 없이 보안 강화를 유지)

✅ 주요 구성 요소

  • AKS (Azure Kubernetes Service)
  • AKS Admin VM (관리자를 위한 전용 VM)
  • Managed Identity (System-assigned 또는 User-assigned)
  • Azure Role-Based Access Control (RBAC)

2. Azure Managed Identity란?

Azure Managed Identity 애플리케이션, VM, 컨테이너 등에서 Azure 리소스에 안전하게 접근할 수 있도록 제공되는 ID 관리 서비스입니다.
비밀번호나 키를 직접 관리할 필요 없이 Azure AD 인증을 통해 자동으로 권한을 부여하고 관리할 수 있습니다.

✅ Managed Identity 유형

1️⃣ System-assigned Managed Identity

  • 리소스(AKS Admin VM)에 직접 연결되며, 리소스가 삭제되면 Managed Identity도 함께 삭제됨.
    2️⃣ User-assigned Managed Identity
  • 독립적인 리소스로 생성되며, 여러 리소스(VM, Function 등)에서 공유 가능.

3. AKS Admin VM에서 Managed Identity를 활용한 RBAC 적용 구조

📌 아키텍처 개요

+-----------------------------------------------------+
|                 Azure Active Directory (Azure AD)  |
+-----------------------------------------------------+
                        ▲
                        │
                        ▼
+-----------------------------------------------+
|      Azure Role-Based Access Control (RBAC)  |
|  - Managed Identity에 적절한 권한 부여       |
|  - AKS 클러스터 관리 권한 지정               |
+-----------------------------------------------+
                        ▲
                        │
                        ▼
+------------------------------------------------------+
|    AKS Admin VM (with Managed Identity)             |
|  - System-assigned 또는 User-assigned Managed Identity |
|  - az aks get-credentials 실행 가능                 |
|  - kubectl 및 az cli 사용 가능                      |
+------------------------------------------------------+
                        ▲
                        │
                        ▼
+-----------------------------------------------+
|     Azure Kubernetes Service (AKS)           |
|  - Kubernetes API Server                     |
|  - Cluster Role 및 RoleBinding 관리         |
+-----------------------------------------------+

4. AKS Admin VM에서 Managed Identity 활용하여 RBAC 적용하는 방법

Step 1: AKS Admin VM에 Managed Identity 활성화

먼저, AKS Admin VM에 System-assigned Managed Identity를 활성화합니다.

az vm identity assign --resource-group <RESOURCE_GROUP> --name <AKS_ADMIN_VM>

✅ 활성화 확인

az vm show --resource-group <RESOURCE_GROUP> --name <AKS_ADMIN_VM> --query "identity" --output table

Step 2: Managed Identity에 AKS 관련 RBAC 권한 부여

AKS Admin VM의 Managed Identity가 AKS에 접근할 수 있도록 권한을 부여해야 합니다.
RBAC(Role-Based Access Control)를 통해 적절한 역할을 부여합니다.

az role assignment create \
  --assignee <MANAGED_IDENTITY_CLIENT_ID> \
  --role "Azure Kubernetes Service Cluster Admin Role" \
  --scope /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ContainerService/managedClusters/<AKS_NAME>

✅ 현재 할당된 역할 확인

az role assignment list --assignee <MANAGED_IDENTITY_CLIENT_ID> --output table

Step 3: AKS 클러스터 자격 증명 가져오기

이제 AKS Admin VM에서 Managed Identity를 사용하여 AKS에 접근할 수 있습니다.

az aks get-credentials --resource-group <RESOURCE_GROUP> --name <AKS_NAME> --identity

 kubectl을 통해 정상적으로 연결되는지 확인

kubectl get nodes

5. 추가 보안 설정

✅ AKS RBAC 세분화

보안 강화를 위해 최소 권한 원칙(Least Privilege)을 적용하여 특정 네임스페이스나 역할별 접근 권한을 부여할 수 있습니다.

  • 특정 네임스페이스 관리 권한만 부여:
kubectl create rolebinding vm-admin-binding \
  --clusterrole=edit \
  --user=<MANAGED_IDENTITY_CLIENT_ID> \
  --namespace=my-namespace
  • 특정 역할(읽기 전용) 부여:
kubectl create rolebinding vm-readonly-binding \
  --clusterrole=view \
  --user=<MANAGED_IDENTITY_CLIENT_ID>

6. 결론 및 요약

 Managed Identity를 활용하면 AKS Admin VM에서 안전한 인증이 가능
 RBAC 적용을 통해 불필요한 권한 부여 없이 최소 권한으로 관리 가능
 System-assigned 또는 User-assigned Managed Identity 활용 가능
 보안 강화를 위해 AKS RBAC를 세분화하여 접근 권한을 조정하는 것이 권장됨

이 구조를 적용하면 AKS 관리가 더욱 안전하고 편리해집니다. 🚀

반응형