Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'integrazione di Microsoft Entra semplifica il processo di integrazione di Microsoft Entra. In precedenza, dovevi creare un'app client e server, e il tenant di Microsoft Entra doveva concedere le autorizzazioni di ruolo Directory Readers. Il provider di risorse di Azure Kubernetes Service (AKS) gestisce per te le app client e server.
Gli amministratori del cluster possono configurare il controllo degli accessi in basati sul ruolo di Kubernetes (Kubernetes RBAC), in base all'identità o all'appartenenza al gruppo di directory di un utente.
Scopri di più sul flusso di integrazione di Microsoft Entra nella documentazione di Microsoft Entra.
Limitazioni
L'integrazione di Microsoft Entra non può essere disabilitata dopo l'abilitazione in un cluster.
Prima di iniziare
Per installare il componente aggiuntivo di AKS, verificare di avere i seguenti elementi:
- Devi aver installato e configurato l’interfaccia della riga di comando di Azure versione 2.29.0 o successiva. Per trovare la versione, eseguire il comando
az --version. Se è necessario installare o aggiornare, vedere Installare Azure CLI. - Hai bisogno di
kubectlcon una versione minima di 1.18.1 okubelogin. Con l'interfaccia della riga di comando di Azure e il modulo Azure PowerShell, questi due comandi vengono inclusi e gestiti automaticamente. Ciò significa che vengono aggiornati per impostazione predefinita e l'esecuzione diaz aks install-clinon è necessaria o consigliata. Se usi una pipeline automatizzata, devi gestire gli aggiornamenti per la versione corretta o più recente. La differenza tra le versioni secondarie di Kubernetes ekubectlnon deve essere più di una versione. In caso contrario, si verificano problemi di autenticazione nella versione errata. - Per questa configurazione devi disporre di un gruppo Microsoft Entra per il cluster. Questo gruppo viene registrato come gruppo di amministrazione nel cluster per concedere autorizzazioni di amministratore. Se non disponi di un gruppo Microsoft Entra esistente, puoi crearne uno usando il comando
az ad group create.
Abilita l'integrazione nel tuo cluster del servizio Azure Kubernetes
Prima di tutto, impostare le variabili di ambiente per il gruppo di risorse, il nome del cluster, gli ID oggetto del gruppo amministrativo di "Microsoft Entra" e l'ID tenant. Riutilizzare queste variabili nei comandi seguenti.
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myManagedCluster"
export AAD_ADMIN_GROUP_OBJECT_IDS="<group-object-id>" # comma-separated for multiple groups
export AAD_TENANT_ID="<tenant-id>"
export LOCATION="centralus"
Creare un nuovo cluster
Creare un gruppo di risorse Azure usando il comando
az group create.az group create --name $RESOURCE_GROUP --location $LOCATIONCreare un cluster del servizio Azure Kubernetes e abilitare l'accesso amministrativo per il gruppo Microsoft Entra usando il comando
az aks create.az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-aad \ --aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \ --aad-tenant-id $AAD_TENANT_ID \ --generate-ssh-keysUna creazione corretta di un cluster Microsoft Entra ID include la sezione seguente nel corpo della risposta.
"AADProfile": { "adminGroupObjectIds": [ "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee" }
Usare un cluster esistente
Abilitare l'integrazione di Microsoft Entra nel cluster esistente abilitato al controllo degli accessi con RBAC di Kubernetes usando il comando az aks update. Assicurati di impostare il gruppo di amministrazione per mantenere l'accesso al tuo cluster.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-aad \
--aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \
--aad-tenant-id $AAD_TENANT_ID
Un'attivazione corretta di un cluster Microsoft Entra ID include la sezione seguente nel corpo della risposta:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Eseguire la migrazione del cluster legacy all'integrazione
Se il cluster usa l'integrazione legacy di Microsoft Entra, è possibile eseguire l'aggiornamento all'integrazione di Microsoft Entra tramite il az aks update comando .
Avvertimento
I cluster di livello gratuito potrebbero riscontrare tempi di inattività del server API durante l'aggiornamento. È consigliabile eseguire l'aggiornamento durante le ore non lavorative.
Dopo l'aggiornamento, il kubeconfig contenuto cambia. È necessario eseguire az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name> per unire le nuove credenziali nel kubeconfig file.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-aad \
--aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \
--aad-tenant-id $AAD_TENANT_ID
Una migrazione corretta di un cluster Microsoft Entra ID include la sezione seguente nel corpo della risposta:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Accedi al cluster abilitato
Ottieni le credenziali utente per accedere al cluster usando il comando
az aks get-credentials.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAMESeguire le istruzioni di accesso.
Visualizza i nodi nel cluster usando il comando
kubectl get nodes.kubectl get nodes
I cluster che eseguono Kubernetes 1.24 o versioni successive usano automaticamente il kubelogin formato exec-plugin, quindi non è necessaria alcuna conversione manuale kubeconfig per l'accesso interattivo all'interfaccia della riga di comando di Azure. Per scenari non interattivi, ad esempio pipeline di integrazione continua, o per usare un metodo di autenticazione diverso (principal del servizio, identità gestita, identità workload o codice dispositivo), vedere Usare kubelogin per autenticare gli utenti in AKS.
Accesso di emergenza "break-glass"
Nel raro caso in cui l'accesso dell'ID Microsoft Entra al server API Kubernetes del cluster non funzioni, ad esempio durante un evento imprevisto del servizio Microsoft Entra più ampio, è possibile eseguire il fallback all'account amministratore locale del cluster per mantenere operativo il cluster fino al ripristino dell'accesso basato su Entra.
Note
Questo fallback è necessario solo quando l'accesso basato su Entra non è disponibile. Se il problema è un gruppo di amministrazione configurato in modo errato (ad esempio, se il gruppo è stato eliminato o se è stato impostato l'ID oggetto sbagliato), non è necessario: aggiorna direttamente il gruppo di amministrazione utilizzando un account che disponga dell'autorizzazione Microsoft.ContainerService/managedClusters/write con az aks update --aad-admin-group-object-ids.
Importante
Questo flusso di lavoro ignora l'autenticazione di Microsoft Entra. Usarlo solo come fallback temporaneo e disabilitare nuovamente gli account locali dopo il ripristino dell'accesso a Microsoft Entra.
Per usare il percorso break-glass, è necessario il ruolo Collaboratore al servizio Azure Kubernetes nella risorsa cluster. Questo ruolo concede l'autorizzazione Microsoft.ContainerService/managedClusters/write necessaria per riabilitare gli account locali, oltre all'accesso alle credenziali di amministratore del cluster locale. Viene valutato da Azure Resource Manager, quindi funziona indipendentemente dal percorso di accesso di Microsoft Entra al server API Kubernetes.
Se gli account locali sono disabilitati nel cluster, attivarli di nuovo temporaneamente.
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-local-accountsRecuperare le credenziali locali di cluster-admin usando il comando
az aks get-credentialscon il flag--admin. Questa credenziale è un kubeconfig basato su certificato che ignora Microsoft Entra.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --adminUsare
kubectlper gestire il cluster mentre Microsoft Entra non è disponibile. Quando l'accesso a Microsoft Entra funziona di nuovo, disabilitare gli account locali per restituire il cluster alla baseline sicura.az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --disable-local-accounts
Passaggi successivi
- Rafforza l'accesso al cluster con controlli condizionali su cluster e nodi.
- Usare l'accesso just-in-time con privilegi elevati con Privileged Identity Management per l'accesso a cluster e nodi.
- Informazioni sull’integrazione di Microsoft Entra con il controllo degli accessi in base al ruolo di Kubernetes.
- Scopri di più sui concetti relativi alle identità Kubernetes e al servizio Azure Kubernetes.
- Scopri come usare kubelogin per tutti i metodi di autenticazione Microsoft Entra supportati in AKS.
- Usare i modelli di Azure Resource Manager per creare cluster abilitati per Microsoft Entra ID.