다음을 통해 공유


AKS 클러스터 리소스에 액세스하려고 할 때 "사용할 수 없음" 오류 문제 해결

이 문서에서는 AKS(Azure Kubernetes Service) 클러스터에서 Kubernetes 리소스를 보려고 할 때 RBAC(역할 기반 액세스 제어)와 관련된 "서버 오류(사용할 수 없음)" 오류를 해결하고 해결하는 방법을 설명합니다.

필수 조건

Kubernetes 클러스터 명령줄 도구(kubectl)

참고 항목

Azure Cloud Shell을 사용하여 셸 명령을 실행하는 경우 kubectl이 이미 설치되어 있습니다. 로컬 셸을 사용하고 Azure CLI이미 설치된 경우 az aks install-cli 명령을 실행하여 kubectl을 설치할 수도 있습니다.

증상

명령을 실행 kubectl 하여 배포, Pod 또는 작업자 노드와 같은 Kubernetes 리소스 유형의 세부 정보를 볼 때 다음 오류 메시지가 표시됩니다.

$ kubectl get nodes
Error from server (Forbidden): nodes is forbidden: User "aaaa11111-11aa-aa11-a1a1-111111aaaaa" cannot list resource "nodes" in API group "" at the cluster scope

원인

이 오류는 필요한 RBAC(역할 기반 액세스 제어) 권한이 없는 Microsoft Entra ID 계정을 사용하여 Kubernetes 리소스에 액세스하려고 했음을 나타냅니다.

솔루션

클러스터(Kubernetes RBAC 또는 Azure RBAC)에 대해 구성된 RBAC 유형에 따라 다른 솔루션이 적용될 수 있습니다. 다음 명령을 실행하여 클러스터에서 사용 중인 RBAC 유형을 확인합니다.

	az aks show -g <CLUSTER_RESOURCE_GROUP> -n <CLUSTER_NAME> --query aadProfile.enableAzureRbac
  • 결과가 false면 클러스터는 Kubernetes RBAC를 사용합니다. Kubernetes RBAC 기반 AKS 클러스터의 권한 문제 해결을 참조 하세요.
  • 결과가 true면 클러스터는 Azure RBAC를 사용합니다. Azure RBAC 기반 AKS 클러스터의 권한 문제 해결을 참조 하세요.

Kubernetes RBAC 기반 AKS 클러스터의 권한 문제 해결

클러스터에서 Kubernetes RBAC를 사용하는 경우 사용자 계정에 대한 권한은 RoleBinding 또는 ClusterRoleBinding Kubernetes 리소스를 만들어 구성됩니다. 자세한 내용은 Kubernetes RBAC 설명서를 참조 하세요.

또한 Microsoft Entra ID 통합 클러스터에서는 미리 지정된 Microsoft Entra ID 그룹의 구성원에게 클러스터에 대한 관리자 액세스 권한을 부여하기 위해 ClusterRoleBinding 리소스가 자동으로 만들어집니다.

특정 사용자에 대한 "서버 오류(사용할 수 없음)" 오류를 해결하려면 다음 방법 중 하나를 사용합니다.

방법 1: 사용자 지정 RoleBinding 또는 ClusterRoleBinding 리소스 만들기

사용자 지정 RoleBinding 또는 ClusterRoleBinding 리소스를 만들어 사용자(또는 사용자가 구성원인 그룹)에게 필요한 권한을 부여할 수 있습니다. 자세한 단계는 Azure Kubernetes Service에서 Microsoft Entra ID로 Kubernetes 역할 기반 액세스 제어 사용을 참조 하세요.

방법 2: 미리 지정된 Microsoft Entra ID 관리 그룹에 사용자 추가

  1. 미리 지정된 Microsoft Entra ID 관리 그룹의 ID를 검색합니다. 이렇게 하려면 다음 명령을 실행합니다.

    az aks show -g <CLUSTER_RESOURCE_GROUP> -n <CLUSTER_NAME> --query aadProfile.adminGroupObjectIDs
    
  2. 이전 단계에서 검색한 그룹 ID를 사용하여 미리 지정된 Microsoft Entra ID 관리 그룹에 사용자를 추가합니다. 자세한 단계는 그룹의 구성원 또는 소유자 추가를 참조하세요.

Azure RBAC 기반 AKS 클러스터의 권한 문제 해결

클러스터에서 Azure RBAC를 사용하는 경우 사용자에 대한 권한은 Azure 역할 할당 생성 을 통해 구성됩니다.

AKS는 특정 네임스페이스 또는 클러스터 범위에서 Kubernetes 개체에 대한 액세스 권한을 부여하기 위해 Microsoft Entra ID 사용자 또는 그룹에 대한 역할 할당을 만드는 데 사용할 수 있는 기본 제공 역할 집합을 제공합니다. Azure RBAC 기반 클러스터의 사용자 또는 그룹에 기본 제공 역할을 할당하는 자세한 단계는 AKS 기본 제공 역할을 참조하세요.

또는 고유한 사용자 지정 Azure 역할 정의를 만들어 특정 유형의 Kubernetes 개체 및 작업에 대한 사용 권한을 보다 세부적으로 관리할 수 있습니다. Azure RBAC 기반 클러스터의 사용자 및 그룹에 사용자 지정 역할을 만들고 할당하는 자세한 지침은 사용자 지정 역할 정의 만들기를 참조 하세요.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.