다음을 통해 공유


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 관리자에게 이 역할을 부여할 수 있습니다.
Azure Kubernetes Fleet Manager 허브 클러스터 사용자 역할 이 역할은 Fleet Manager 허브 클러스터 및 Kubernetes 구성 파일에 대한 읽기 전용 액세스 권한을 부여하여 플릿 관리형 허브 클러스터에 연결합니다. Fleet Manager 리소스를 보고 허브 클러스터의 kubeconfig를 다운로드하여 변경하지 않고 구성 및 워크로드를 검사할 수 있습니다.

데이터 평면

이러한 역할은 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 Kubernetes Fleet Manager RBAC 판독기 멤버 클러스터의 네임스페이스에 있는 대부분의 개체에 대한 읽기 전용 액세스입니다. 역할 또는 역할 바인딩을 볼 수 없습니다. 비밀을 볼 수 없습니다(ServiceAccount 자격 증명을 통한 권한 상승 방지). 이 역할을 사용하여 플릿 멤버의 네임스페이스 범위에서 선택한 무의미한 Kubernetes 개체를 읽을 수 있는 기능을 부여할 수 있습니다.
멤버 클러스터용 Azure Kubernetes Fleet Manager RBAC 작성자 네임스페이스의 대부분의 Kubernetes 리소스에 대한 읽기 및 쓰기 권한입니다. 역할 또는 역할 바인딩을 보거나 수정할 수 없습니다. 비밀을 읽을 수 있습니다(따라서 네임스페이스의 모든 ServiceAccount를 가정할 수 있습니다). 이 역할을 사용하여 플릿 멤버의 네임스페이스에 선택한 Kubernetes 개체를 쓰는 기능을 부여할 수 있습니다. 예를 들어, 특정 네임스페이스의 개체를 담당하는 프로젝트 팀에서 사용하는 경우입니다.
멤버 클러스터를 위한 Azure Kubernetes Fleet Manager RBAC 관리자 멤버 클러스터의 네임스페이스에 있는 Kubernetes 리소스에 대한 읽기 및 쓰기 권한입니다. 이 역할을 사용하여 플릿 멤버의 네임스페이스 범위에서 선택한 Kubernetes 개체(역할 및 역할 바인딩 포함)를 관리하는 기능을 부여할 수 있습니다. 예를 들어, 특정 네임스페이스의 개체를 담당하는 프로젝트 팀에서 사용하는 경우입니다.
멤버 클러스터에 대한 Azure Kubernetes Fleet Manager RBAC 클러스터 관리자 플릿의 멤버 클러스터에 있는 모든 Kubernetes 리소스에 대한 전체 읽기/쓰기 권한입니다. 이 역할을 사용하여 멤버 클러스터의 모든 리소스에 대한 모든 액세스 권한을 부여합니다. 예를 들어 멤버 클러스터의 여러 네임스페이스에 액세스해야 하는 플랫폼 관리자입니다.

역할 할당 예

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"