다음을 통해 공유


Azure 역할 기반 액세스 제어를 사용하여 Azure Kubernetes Fleet Manager 리소스에 대한 액세스 권한 부여

Azure RBAC(Azure 역할 기반 액세스 제어)는 Azure 리소스의 세밀한 액세스를 관리하는 Azure Resource Manager 기반의 권한 부여 시스템입니다.

이 문서에서는 Kubernetes Fleet(Azure Kubernetes Fleet Manager) 리소스에 액세스하는 데 사용할 수 있는 다양한 기본 제공 Azure RBAC 역할에 대해 간략하게 설명합니다.

제어 평면

이 역할은 ARM(Azure Resource Manager) Fleet 리소스 및 하위 리소스에 대한 액세스 권한을 부여하며, 허브 클러스터 유무에 관계없이 Kubernetes Fleet 리소스에 모두 적용 가능합니다.

역할 이름 설명 사용
Azure Kubernetes Fleet Manager 기여자 이 역할은 집합, 집합 멤버, 집합 업데이트 전략, 집합 업데이트 실행 등을 포함하여 Azure Kubernetes Fleet Manager에서 제공하는 Azure 리소스에 대한 읽기 및 쓰기 권한을 부여합니다. 이 역할을 사용하여 Kubernetes Fleet 리소스 및 하위 리소스에만 적용되는 기여자 권한을 부여할 수 있습니다. 예를 들어, Fleet 리소스를 정의하고 유지 관리하는 작업을 맡은 Azure 관리자에게 이 역할을 부여할 수 있습니다.

데이터 평면

이러한 역할은 Fleet 허브 Kubernetes 개체에 대한 액세스 권한을 부여하므로 허브 클러스터가 있는 Kubernetes Fleet 리소스에만 적용 가능합니다.

Fleet 허브 클러스터 범위 또는 역할 할당 범위에 /namespace/<namespace>를 추가하여 개별 Kubernetes 네임스페이스 범위에서 데이터 평면 역할을 할당할 수 있습니다.

역할 이름 설명 사용
Azure Kubernetes Fleet Manager RBAC 읽기 권한자 집합 관리 허브 클러스터의 네임스페이스 내 대부분의 Kubernetes 리소스에 대한 읽기 전용 액세스 권한을 부여합니다. 역할 또는 역할 바인딩 조회는 할 수 없습니다. 이 역할은 비밀을 볼 수 없고, 비밀의 콘텐츠를 읽을 수 있으면 네임스페이스의 ServiceAccount ServiceAccount 자격 증명에 액세스할 수 있으므로 네임스페이스에서 ServiceAccount로 ServiceAccount와 같은 API 액세스가 허용될 수 있기 때문입니다(일종의 권한 상승). 클러스터 범위에서 이 역할을 적용하면 모든 네임스페이스에 대한 액세스가 제공됩니다. 이 역할을 사용하여 네임스페이스 또는 클러스터 범위에서 선택된 중요하지 않은 Kubernetes 개체를 읽을 수 있는 기능을 부여할 수 있습니다. 예를 들어, 검토 목적으로 이 역할을 부여할 수 있습니다.
Azure Kubernetes Fleet Manager RBAC 작성자 집합 관리 허브 클러스터의 네임스페이스 내 대부분의 Kubernetes 리소스에 대한 읽기 및 쓰기 권한을 부여합니다. 이 역할은 역할 또는 역할 바인딩을 보거나 수정할 수 없습니다. 그러나 이 역할을 사용하면 네임스페이스에서 ServiceAccount로 비밀에 액세스할 수 있으므로 네임스페이스에서 ServiceAccount의 API 액세스 수준을 얻는 데 사용할 수 있습니다. 클러스터 범위에서 이 역할을 적용하면 모든 네임스페이스에 대한 액세스가 제공됩니다. 이 역할을 사용하여 네임스페이스 또는 클러스터 범위에서 선택한 Kubernetes 개체를 쓸 수 있는 기능을 부여할 수 있습니다. 예를 들어, 특정 네임스페이스의 개체를 담당하는 프로젝트 팀에서 사용하는 경우입니다.
Azure Kubernetes Fleet Manager RBAC 관리자 집합 관리 허브 클러스터의 네임스페이스 내의 Kubernetes 리소스에 대한 읽기 및 쓰기 권한을 부여합니다. ResourceQuota 개체 및 네임스페이스 개체 자체를 제외하고 네임스페이스 내의 대부분의 개체에 대한 쓰기 권한을 제공합니다. 클러스터 범위에서 이 역할을 적용하면 모든 네임스페이스에 대한 액세스가 제공됩니다. 이 역할을 사용하여 네임스페이스 또는 클러스터 범위에서 선택한 Kubernetes 개체(역할 및 역할 바인딩 포함)를 관리하는 기능을 부여할 수 있습니다. 예를 들어, 특정 네임스페이스의 개체를 담당하는 프로젝트 팀에서 사용하는 경우입니다.
Azure Kubernetes Fleet Manager RBAC 클러스터 관리자 집합 관리 허브 클러스터의 모든 Kubernetes 리소스에 대한 읽기/쓰기 권한을 부여합니다. 이 역할을 사용하여 네임스페이스 또는 클러스터 범위에서 모든 Kubernetes 개체(CRD 포함)에 대한 액세스 권한을 부여할 수 있습니다.

역할 할당 예

Azure CLI를 사용하여 Azure RBAC 역할을 부여할 수 있습니다. 예를 들어, Kubernetes Fleet 허브 클러스터 범위에서 역할 할당을 만들려면 다음을 수행합니다.

IDENTITY=$(az ad signed-in-user show --output tsv --query id)
FLEET_ID=$(az fleet show --resource-group $GROUP --name $FLEET --output tsv --query id)

az role assignment create --role 'Azure Kubernetes Fleet Manager RBAC Reader' --assignee "$IDENTITY" --scope "$FLEET_ID"

개별 Kubernetes 네임스페이스에 역할 할당 범위를 할당할 수도 있습니다. 예를 들어, Kubernetes Fleet 허브의 기본 Kubernetes 네임스페이스에 대한 역할 할당을 만들려면 다음을 수행합니다.

IDENTITY=$(az ad signed-in-user show --output tsv --query id)
FLEET_ID=$(az fleet show --resource-group $GROUP --name $FLEET --output tsv --query id)

az role assignment create --role 'Azure Kubernetes Fleet Manager RBAC Reader' --assignee "$IDENTITY" --scope "$FLEET_ID/namespaces/default"