Udostępnij za pośrednictwem


Udzielanie dostępu do zasobów usługi Azure Kubernetes Fleet Manager za pomocą kontroli dostępu opartej na rolach na platformie Azure

Kontrola dostępu oparta na rolach (RBAC) platformy Azure to system autoryzacji oparty na usłudze Azure Resource Manager, który zapewnia szczegółowe zarządzanie dostępem do zasobów platformy Azure.

Ten artykuł zawiera omówienie różnych wbudowanych ról RBAC platformy Azure, których można użyć do uzyskiwania dostępu do zasobów usługi Azure Kubernetes Fleet Manager (Kubernetes Fleet).

Płaszczyzna sterowania

Ta rola udziela dostępu do zasobów floty usługi Azure Resource Manager (ARM) i zasobów podrzędnych oraz ma zastosowanie zarówno do zasobu Platformy Kubernetes Fleet, jak i bez klastra koncentratora.

Nazwa roli opis Użycie
Współautor usługi Azure Kubernetes Fleet Manager Ta rola udziela dostępu do odczytu i zapisu zasobom platformy Azure udostępnianym przez usługę Azure Kubernetes Fleet Manager, w tym flotom, członkom floty, strategiom aktualizacji floty, przebiegom aktualizacji floty i nie tylko. Możesz użyć tej roli, aby udzielić uprawnień współautora, które mają zastosowanie wyłącznie do zasobów i podźródł usługi Kubernetes Fleet. Na przykład tę rolę można nadać administratorowi platformy Azure, który ma za zadanie definiowanie i utrzymywanie zasobów floty.

Płaszczyzna danych

Te role zapewniają dostęp do obiektów Kubernetes centrum Floty i dlatego mają zastosowanie tylko do zasobów platformy Kubernetes Fleet z klastrem koncentratora.

Role płaszczyzny danych można przypisać w zakresie klastra centrum floty lub w zakresie pojedynczej przestrzeni nazw Kubernetes, dołączając /namespace/<namespace> do zakresu przypisania roli.

Nazwa roli opis Użycie
Czytelnik kontroli dostępu opartej na rolach w usłudze Azure Kubernetes Fleet Manager Przyznaje dostęp tylko do odczytu większości zasobów Kubernetes w przestrzeni nazw w klastrze centrum zarządzanym przez flotę. Nie zezwala na wyświetlanie ról ani powiązań ról. Ta rola nie zezwala na wyświetlanie wpisów tajnych, ponieważ odczytywanie zawartości wpisów tajnych umożliwia dostęp do ServiceAccount poświadczeń w przestrzeni nazw, co umożliwi dostęp do interfejsu API jako dowolny ServiceAccount w przestrzeni nazw (forma eskalacji uprawnień). Zastosowanie tej roli w zakresie klastra zapewnia dostęp we wszystkich przestrzeniach nazw. Za pomocą tej roli można udzielić możliwości odczytywania wybranych obiektów platformy Kubernetes bez uwzględniania w przestrzeni nazw lub zakresie klastra. Na przykład tę rolę można przyznać do celów przeglądu.
Moduł zapisywania kontroli dostępu opartej na rolach w usłudze Azure Kubernetes Fleet Manager Przyznaje dostęp do odczytu i zapisu większości zasobów Kubernetes w przestrzeni nazw w klastrze centrum zarządzanym przez flotę. Ta rola nie zezwala na wyświetlanie ani modyfikowanie ról ani powiązań ról. Jednak ta rola umożliwia dostęp do wpisów tajnych jako dowolnych ServiceAccount w przestrzeni nazw, dzięki czemu może służyć do uzyskiwania poziomów dostępu interfejsu API dowolnego ServiceAccount w przestrzeni nazw. Zastosowanie tej roli w zakresie klastra zapewnia dostęp we wszystkich przestrzeniach nazw. Za pomocą tej roli można udzielić możliwości zapisu wybranych obiektów Kubernetes w zakresie przestrzeni nazw lub klastra. Na przykład do użycia przez zespół projektu odpowiedzialny za obiekty w danej przestrzeni nazw.
Administrator kontroli dostępu opartej na rolach w usłudze Azure Kubernetes Fleet Manager Przyznaje dostęp do odczytu i zapisu do zasobów kubernetes w przestrzeni nazw w klastrze centrum zarządzanym przez flotę. Zapewnia uprawnienia do zapisu dla większości obiektów w przestrzeni nazw, z wyjątkiem ResourceQuota obiektu i samego obiektu przestrzeni nazw. Zastosowanie tej roli w zakresie klastra zapewnia dostęp we wszystkich przestrzeniach nazw. Za pomocą tej roli można udzielić możliwości administrowania wybranymi obiektami Kubernetes (w tym rolami i powiązaniami ról) w zakresie przestrzeni nazw lub klastra. Na przykład do użycia przez zespół projektu odpowiedzialny za obiekty w danej przestrzeni nazw.
Administrator klastra RBAC usługi Azure Kubernetes Fleet Manager Przyznaje dostęp do odczytu/zapisu do wszystkich zasobów kubernetes w klastrze centrum zarządzanym przez flotę. Za pomocą tej roli można udzielić dostępu do wszystkich obiektów Kubernetes (w tym CRD) w zakresie przestrzeni nazw lub klastra.

Przykładowe przypisania ról

Role RBAC platformy Azure można udzielić przy użyciu interfejsu wiersza polecenia platformy Azure. Aby na przykład utworzyć przypisanie roli w zakresie klastra usługi Kubernetes Fleet Hub:

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"

Można również ograniczyć zakres przypisań ról do pojedynczej przestrzeni nazw kubernetes. Aby na przykład utworzyć przypisanie roli dla domyślnej przestrzeni nazw kubernetes fleet hub:

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"