Concedere l'accesso alle risorse di Gestione flotta Kubernetes di Azure con il Controllo degli accessi in base al ruolo di Azure
Il Controllo degli accessi in base al ruolo di Azure (Azure RBAC) è un sistema di autorizzazione basato su Azure Resource Manager che garantisce una gestione con granularità fine degli accessi alle risorse di Azure.
Questo articolo offre una panoramica dei vari ruoli predefiniti di Controllo degli accessi in base al ruolo di Azure che è possibile usare per accedere alle risorse di Gestione flotta Kubernetes di Azure (Flotta Kubernetes).
Piano di controllo
Questo ruolo concede l'accesso alle risorse e alle risorse secondarie della flotta di Azure Resource Manager (ARM) ed è applicabile alla risorsa Flotta Kubernetes con e senza cluster hub.
Nome ruolo | Descrizione | Uso |
---|---|---|
Collaboratore di Gestione flotta Kubernetes di Azure | Questo ruolo concede l'accesso in lettura e scrittura alle risorse di Azure fornite da Gestione flotta Kubernetes di Azure, tra cui flotte, membri della flotta, strategie di aggiornamento della flotta, esecuzioni di aggiornamenti della flotta e altro. | È possibile usare questo ruolo per concedere autorizzazioni di collaboratore che si applicano esclusivamente alle risorse e alle risorse secondarie della flotta Kubernetes. Ad esempio, questo ruolo può essere assegnato a un amministratore di Azure con l'incarico di definire e gestire le risorse della flotta. |
Piano dati
Questi ruoli concedono l'accesso agli oggetti Kubernetes dell'hub della flotta e sono pertanto applicabili solo alle risorse della flotta Kubernetes con un cluster hub.
È possibile assegnare ruoli del piano dati nell'ambito del cluster dell'hub della flotta a un singolo ambito dello spazio dei nomi di Kubernetes aggiungendo /namespace/<namespace>
all'ambito dell'assegnazione di ruolo.
Nome ruolo | Descrizione | Uso |
---|---|---|
Reader di Controllo degli accessi in base al ruolo di Gestione flotta Kubernetes di Azure | Concede l'accesso in sola lettura alla maggior parte delle risorse di Kubernetes all'interno di uno spazio dei nomi nel cluster hub gestito dalla flotta. Non consente la visualizzazione di ruoli o associazioni di ruolo. Questo ruolo non consente la visualizzazione di segreti poiché la lettura del contenuto dei segreti consente l'accesso alle credenziali ServiceAccount nello spazio dei nomi, che consentirebbe l'accesso all’API come qualsiasi ServiceAccount nello spazio dei nomi (una forma di escalation dei privilegi). L'applicazione di questo ruolo nell'ambito del cluster consente l'accesso a tutti gli spazi dei nomi. |
È possibile usare questo ruolo per concedere la capacità di leggere gli oggetti di Kubernetes non sensibili selezionati nell’ambito dello spazio dei nomi o del cluster. Ad esempio, è possibile concedere questo ruolo a scopi di revisione. |
Writer di Controllo degli accessi in base al ruolo di Gestione flotta Kubernetes di Azure | Concede l'accesso in lettura e scrittura alla maggior parte delle risorse di Kubernetes all'interno di uno spazio dei nomi nel cluster hub gestito dalla flotta. Questo ruolo non consente la visualizzazione o la modifica di ruoli o associazioni di ruoli. Tuttavia, questo ruolo consente di accedere ai segreti come qualunque ServiceAccount nello spazio dei nomi, per cui può essere usato per ottenere i livelli di accesso alle API di qualsiasi ServiceAccount nello spazio dei nomi. L'applicazione di questo ruolo nell'ambito del cluster consente l'accesso a tutti gli spazi dei nomi. |
È possibile usare questo ruolo per concedere la capacità di scrivere gli oggetti di Kubernetes selezionati nell’ambito dello spazio dei nomi o del cluster. Ad esempio, per l'uso da parte di un team di progetto responsabile degli oggetti in uno spazio dei nomi specificato. |
Admin di Controllo degli accessi in base al ruolo di Gestione flotta Kubernetes di Azure | Concede l'accesso in lettura e scrittura alle risorse di Kubernetes all'interno di uno spazio dei nomi nel cluster hub gestito dalla flotta. Fornisce autorizzazioni di scrittura per la maggior parte degli oggetti all'interno di uno spazio dei nomi, ad eccezione dell'oggetto ResourceQuota e dello spazio dei nomi stesso. L'applicazione di questo ruolo nell'ambito del cluster consente l'accesso a tutti gli spazi dei nomi. |
È possibile usare questo ruolo per concedere la capacità di amministrare gli oggetti Kubernetes selezionati (inclusi ruoli e associazioni di ruoli) nell’ambito dello spazio dei nomi o del cluster. Ad esempio, per l'uso da parte di un team di progetto responsabile degli oggetti in uno spazio dei nomi specificato. |
Admin del cluster di Controllo degli accessi in base al ruolo di Gestione flotta Kubernetes di Azure | Concede l'accesso in lettura e scrittura alle risorse di Kubernetes all'interno di uno spazio del cluster hub gestito dalla flotta. | È possibile usare questo ruolo per concedere l’accesso a tutti gli oggetti di Kubernetes (inclusi CRD) nell’ambito dello spazio dei nomi o del cluster. |
Assegnazioni di ruolo di esempio
È possibile concedere ruoli Controllo degli accessi in base al ruolo di Azure usando l’interfaccia della riga di comando di Azure. Ad esempio, per creare un'assegnazione di ruolo nell'ambito del cluster hub della flotta 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"
È anche possibile definire l'ambito delle assegnazioni di ruolo per un singolo spazio dei nomi di Kubernetes. Ad esempio, per creare un'assegnazione di ruolo per uno spazio dei nomi di Kubernetes predefinito dell'hub della flotta 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"
Azure Kubernetes Service