AKS RBAC 비활성화

AKS에서 Kubernetes RBAC를 사용해 사용자와 서비스 계정의 작업 범위를 제한하고 최소 권한을 적용하세요.

설명

Kubernetes RBAC는 사용자와 서비스 계정이 어떤 리소스를 조회하고 수정할 수 있는지 역할과 바인딩으로 제한합니다. Crossplane의 AKSCluster에서 disableRBAC: true로 이 통제를 끄면 최소 권한에 맞게 작업 범위를 나누기 어려워집니다.

RBAC는 인증과 별개인 인가 수단입니다. 이를 활성화하는 것만으로 올바른 권한이 부여되는 것은 아니며, 실제 역할과 바인딩을 검토해야 합니다.

잠재적 영향

  • 클러스터에 접근하는 주체가 업무에 필요한 범위를 넘어 리소스를 조회하거나 변경할 위험이 커질 수 있습니다.
  • 계정이나 서비스 계정이 악용되면 중요한 리소스 변경·삭제로 영향이 확대될 수 있습니다.

해결 방법

  • 새 클러스터에서는 disableRBAC를 false로 설정하세요. Microsoft는 기존 비 RBAC 클러스터에서 Kubernetes RBAC를 나중에 활성화하는 방식을 지원하지 않으므로, 해당 환경은 RBAC가 활성화된 새 클러스터로의 이전을 계획하세요.
  • 필요한 리소스와 작업만 허용하는 역할·바인딩을 구성하고 불필요한 클러스터 전체 권한을 제거하세요.
  • 이전 전후에 사용자와 서비스 계정의 허용·거부 동작을 시험하고 애플리케이션과 데이터의 이전 절차를 확인하세요.

예시

기존 Crossplane API에서 클러스터 생성 설정을 비교하는 부분 예시입니다. 노드와 네트워크 등 나머지 필수 설정은 생략했습니다.

변경 전

yaml
apiVersion: compute.azure.crossplane.io/v1alpha3
kind: AKSCluster
spec:
  location: eastus
  nodeCount: 2
  disableRBAC: true

Kubernetes RBAC를 비활성화하는 생성 설정입니다.

변경 후

yaml
apiVersion: compute.azure.crossplane.io/v1alpha3
kind: AKSCluster
spec:
  location: eastus
  nodeCount: 2
  disableRBAC: false

Kubernetes RBAC를 활성화하는 생성 설정입니다. 기존 비 RBAC 클러스터를 이 값만 바꿔 전환하는 예시가 아니며, 필요한 역할·바인딩도 별도로 구성해야 합니다.

참조