Condividi tramite


Aggiornare o ruotare le credenziali per il cluster del servizio Azure Kubernetes (AKS)

I cluster del servizio Azure Kubernetes creati con un'entità servizio hanno una durata di un anno. Se la data di scadenza è prossima, è possibile reimpostare le credenziali per estendere l'entità servizio per un ulteriore periodo di tempo. È anche possibile aggiornare, o ruotare, le credenziali come parte di criteri di sicurezza definiti. I cluster del servizio Azure Kubernetes integrati con Microsoft Entra ID come provider di autenticazione hanno altre due identità: l'app Microsoft Entra Server e l'app client Microsoft Entra. Questo articolo illustra in dettaglio come aggiornare l'entità servizio e le credenziali di Microsoft Entra per un cluster del servizio Azure Kubernetes.

Nota

In alternativa, è possibile usare un'identità gestita per le autorizzazioni anziché un'entità servizio. Le identità gestite non richiedono aggiornamenti o rotazioni. Per altre informazioni, vedere Usare le identità gestite.

Operazioni preliminari

È necessario che sia installata e configurata l'interfaccia della riga di comando di Azure 2.0.65 o versione successiva. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Aggiornare o creare una nuova entità servizio per il cluster del servizio Azure Kubernetes

Quando si desidera aggiornare le credenziali per un cluster del servizio Azure Kubernetes, è possibile scegliere di:

  • Aggiornare le credenziali per l'entità servizio esistente.
  • Creare una nuova entità servizio e aggiornare il cluster per usare le nuove credenziali.

Avviso

Se si sceglie di creare una nuova entità servizio, attendere circa 30 minuti prima che l'autorizzazione dell'entità servizio venga propagata in tutte le regioni. L'aggiornamento di un cluster del servizio Azure Kubernetes di grandi dimensioni per l'uso di queste credenziali può richiedere molto tempo.

Controllare la data di scadenza dell'entità servizio

Per controllare la data di scadenza dell'entità servizio, usare il az ad app credential list comando. L'esempio seguente ottiene l'ID dell’entità servizio per il cluster $CLUSTER_NAME nel gruppo di risorse $RESOURCE_GROUP_NAME usando il comando az aks show. L'ID entità servizio viene impostato come variabile denominata SP_ID.

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --query servicePrincipalProfile.clientId -o tsv)
az ad app credential list --id "$SP_ID" --query "[].endDateTime" -o tsv

Reimpostare le credenziali dell'entità servizio esistente

Per aggiornare le credenziali per l'entità servizio esistente, ottenere l'ID dell'entità servizio del cluster usando il comando az aks show. L'esempio seguente ottiene l'ID per il cluster $CLUSTER_NAME nel gruppo di risorse $RESOURCE_GROUP_NAME. La variabile denominata SP_ID archivia l'ID entità servizio usato nel passaggio successivo. Questi comandi usano il linguaggio di comando Bash.

Avviso

Quando si reimpostano le credenziali del cluster in un cluster del servizio Azure Kubernetes che usa set di scalabilità di macchine virtuali di Azure, viene eseguito un aggiornamento dell'immagine del nodo per aggiornare i nodi con le nuove informazioni sulle credenziali.

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --query servicePrincipalProfile.clientId -o tsv)

Usare la variabile SP_ID contenente l'ID entità servizio per reimpostare le credenziali usando il az ad app credential reset comando. L'esempio seguente consente alla piattaforma Azure di generare un nuovo segreto sicuro per l'entità servizio e archiviarlo come variabile denominata SP_SECRET.

SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)

Successivamente, si aggiorna il cluster del servizio Azure Kubernetes con le credenziali dell'entità servizio. Questo passaggio è necessario per aggiornare l'entità servizio nel cluster del servizio Azure Kubernetes.

Creare un'entità servizio

Nota

Se sono state aggiornate le credenziali dell'entità servizio esistente nella sezione precedente, ignorare questa sezione e aggiornare il cluster del servizio Azure Kubernetes con le credenziali dell'entità servizio.

Per creare un'entità servizio e aggiornare il cluster del servizio Azure Kubernetes per usare le nuove credenziali, usare il az ad sp create-for-rbac comando.

az ad sp create-for-rbac --role Contributor --scopes /subscriptions/$SUBSCRIPTION_ID

L'output è simile a quello dell'esempio seguente. Prendere nota del proprio appId e password da usare nel passaggio successivo.

{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Definire le variabili per l'ID entità servizio e il segreto client usando l'output dall'esecuzione del az ad sp create-for-rbac comando. L'SP_ID è l'appIde ilSP_SECRET è la password.

SP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Quindi, aggiornare il cluster del servizio Azure Kubernetes con le nuove credenziali dell'entità servizio. Questo passaggio è necessario per aggiornare il cluster del servizio Azure Kubernetes con le nuove credenziali dell'entità servizio.

Aggiornare il cluster del servizio Azure Kubernetes con le credenziali dell'entità servizio

Importante

Per i cluster di grandi dimensioni, l'aggiornamento del cluster del servizio Azure Kubernetes con una nuova entità servizio può richiedere molto tempo. Valutare la possibilità di esaminare e personalizzare le impostazioni di aggiornamento dell'aumento del nodo per ridurre al minimo le interruzioni durante l'aggiornamento. Per i cluster di piccole e medie dimensioni, l'aggiornamento delle nuove credenziali nel cluster richiede alcuni minuti.

Aggiornare il cluster del servizio Azure Kubernetes con le credenziali nuove o esistenti eseguendo il az aks update-credentials comando.

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --reset-service-principal \
    --service-principal "$SP_ID" \
    --client-secret "${SP_SECRET}"

Aggiornare il cluster del servizio Azure Kubernetes con le nuove credenziali dell'applicazione Microsoft Entra

È possibile creare nuove applicazioni Microsoft Entra server e client seguendo la procedura di integrazione di Microsoft Entra, oppure ripristinare le applicazioni Microsoft Entra esistenti seguendo lo stesso metodo del ripristino dell’entità servizio. Successivamente, è necessario aggiornare le credenziali dell'applicazione Microsoft Entra del cluster usando il az aks update-credentials comando con le variabili --reset-aad.

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --reset-aad \
    --aad-server-app-id $SERVER_APPLICATION_ID \
    --aad-server-app-secret $SERVER_APPLICATION_SECRET \
    --aad-client-app-id $CLIENT_APPLICATION_ID

Passaggi successivi

In questo articolo si è appreso come aggiornare o ruotare le credenziali dell'entità servizio e dell'applicazione Microsoft Entra. Per maggiori informazioni su come gestire l'identità per i carichi di lavoro all'interno di un cluster del servizio Azure Kubernetes, consultare Procedure consigliate per l'autenticazione e l'autorizzazione nel servizio Azure Kubernetes.