Condividi tramite


Risolvere l'errore "Accesso negato" quando si tenta di accedere alle risorse del cluster del servizio Azure Kubernetes

Questo articolo illustra come risolvere gli errori "Errore dal server (Accesso negato)" correlati a Controllo di accesso basati su ruoli (RBAC) quando si tenta di visualizzare le risorse kubernetes in un cluster servizio Azure Kubernetes del servizio Azure Kubernetes.

Prerequisiti

Strumento da riga di comando del cluster Kubernetes (kubectl)

Note

Se si usa Azure Cloud Shell per eseguire i comandi della shell, kubectl è già installato. Se si usa una shell locale e l'interfaccia della riga di comando di Azure è già installata, in alternativa è possibile installare kubectl eseguendo il comando az aks install-cli .

Sintomi

Quando si eseguono kubectl comandi per visualizzare i dettagli di un tipo di risorsa Kubernetes, ad esempio una distribuzione, un pod o un nodo di lavoro, viene visualizzato il messaggio di errore seguente:

$ kubectl get nodes
Error from server (Forbidden): nodes is forbidden: User "aaaa11111-11aa-aa11-a1a1-111111aaaaa" cannot list resource "nodes" in API group "" at the cluster scope

Causa

Questo errore indica che si sta provando ad accedere alle risorse Kubernetes usando un account MICROSOFT Entra ID che non dispone delle autorizzazioni necessarie per il controllo degli accessi in base al ruolo.

Soluzione

A seconda del tipo di controllo degli accessi in base al ruolo configurato per il cluster (Controllo degli accessi in base al ruolo di Kubernetes o Controllo degli accessi in base al ruolo di Azure), potrebbero essere applicate diverse soluzioni. Eseguire il comando seguente per determinare il tipo di controllo degli accessi in base al ruolo usato dal cluster:

	az aks show -g <CLUSTER_RESOURCE_GROUP> -n <CLUSTER_NAME> --query aadProfile.enableAzureRbac

Risoluzione dei problemi di autorizzazioni nei cluster del servizio Azure Kubernetes basati sul controllo degli accessi in base al ruolo

Se il cluster usa il controllo degli accessi in base al ruolo di Kubernetes, le autorizzazioni per l'account utente vengono configurate tramite la creazione di risorse RoleBinding o ClusterRoleBinding kubernetes. Per altre informazioni, vedere la documentazione del controllo degli accessi in base al ruolo di Kubernetes.

Inoltre, nei cluster integrati di Microsoft Entra ID, viene creata automaticamente una risorsa ClusterRoleBinding per concedere all'amministratore l'accesso al cluster ai membri di un gruppo microsoft Entra ID pre-designato.

Per risolvere l'errore "Error from server (Forbidden)" per un utente specifico, utilizzare uno dei metodi seguenti.

Metodo 1: Creare una risorsa RoleBinding o ClusterRoleBinding personalizzata

È possibile creare una risorsa RoleBinding o ClusterRoleBinding personalizzata per concedere le autorizzazioni necessarie all'utente (o un gruppo di cui l'utente è membro). Per informazioni dettagliate, vedere Usare il controllo degli accessi in base al ruolo di Kubernetes con Microsoft Entra ID in servizio Azure Kubernetes.

Metodo 2: aggiungere l'utente al gruppo di amministrazione di Microsoft Entra ID pre-designato

  1. Recuperare l'ID del gruppo di amministrazione di Microsoft Entra ID pre-designato. A tale scopo, utilizzare il seguente comando:

    az aks show -g <CLUSTER_RESOURCE_GROUP> -n <CLUSTER_NAME> --query aadProfile.adminGroupObjectIDs
    
  2. Aggiungere l'utente al gruppo di amministrazione di Microsoft Entra ID pre-designato usando l'ID gruppo recuperato nel passaggio precedente. Per i passaggi più dettagliati, vedere Aggiungere membri o proprietari di un gruppo.

Risoluzione dei problemi di autorizzazioni nei cluster del servizio Azure Kubernetes basati sul controllo degli accessi in base al ruolo di Azure

Se il cluster usa il controllo degli accessi in base al ruolo di Azure, le autorizzazioni per gli utenti vengono configurate tramite la creazione di assegnazioni di ruolo di Azure.

Il servizio Azure Kubernetes fornisce un set di ruoli predefiniti che possono essere usati per creare assegnazioni di ruolo per gli utenti o i gruppi di Microsoft Entra ID per concedere loro l'accesso agli oggetti Kubernetes in uno spazio dei nomi specifico o nell'ambito del cluster. Per i passaggi dettagliati per assegnare ruoli predefiniti a utenti o gruppi nei cluster basati sul controllo degli accessi in base al ruolo di Azure, vedere Ruoli predefiniti del servizio Azure Kubernetes.

In alternativa, è possibile creare definizioni di ruolo di Azure personalizzate per offrire una gestione più granulare delle autorizzazioni su tipi specifici di oggetti e operazioni Kubernetes. Per indicazioni dettagliate su come creare e assegnare ruoli personalizzati a utenti e gruppi nei cluster basati sul controllo degli accessi in base al ruolo di Azure, vedere Creare definizioni di ruoli personalizzati.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.