Mettre à jour ou faire tourner les informations d’identification pour un cluster Azure Kubernetes Service (AKS)

Les clusters AKS créés avec un principal de service ont un délai d’expiration d’un an. À mesure que vous approchez de la date d’expiration, vous pouvez réinitialiser les informations d’identification afin de prolonger le délai d’expiration du principal de service. Il est possible que vous souhaitiez également mettre à jour, ou faire pivoter, les informations d’identification dans le cadre d’une stratégie de sécurité définie. Les clusters AKS intégrés à Microsoft Entra ID en tant que fournisseur d’authentification ont deux identités supplémentaires : l’application serveur Microsoft Entra et l’application cliente Microsoft Entra. Cet article explique en détail comment mettre à jour le principal de service et les informations d’identification Microsoft Entra pour un cluster AKS.

Remarque

Pour les autorisations, vous pouvez également utiliser une identité managée au lieu d’un principal de service. Les identités managées ne nécessitent pas de mises à jour ni de rotations. Pour plus d’informations, consultez Utiliser des identités managées.

Avant de commencer

Azure CLI version 2.0.65 ou ultérieure doit être installé et configuré. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Mise à jour ou création d’un principal de service pour le cluster AKS

Lorsque vous souhaitez mettre à jour les informations d’identification d’un cluster AKS, vous pouvez choisir entre les solutions suivantes :

  • Mettre à jour les informations d’identification du principal de service existant
  • Créer un principal de service et mettre à jour le cluster pour qu’il utilise ces nouvelles informations d’identification

Avertissement

Si vous choisissez de créer un nouveau principal de service, attendez environ 30 minutes que l’autorisation du principal du service soit propagée dans toutes les régions. La mise à jour d’un grand cluster AKS pour utiliser ces informations d’identification peut prendre un certain temps.

Vérifier la date d’expiration de votre principal de service

Pour vérifier la date d’expiration de votre principal de service, utilisez la commande az ad app credential list. L’exemple suivant obtient l’ID du principal de service pour le cluster nommé myAKSCluster dans le groupe de ressources myResourceGroup à l’aide de la commande az aks show. L’ID du principal de service est défini en tant que variable nommée SP_ID.

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

Réinitialisation des informations d’identification du principal de service existant

Pour mettre à jour les informations d’identification d’un principal de service existant, obtenez l’ID du principal de service de votre cluster avec la commande az aks show. L’exemple suivant permet d’obtenir l’ID du cluster myAKSCluster dans le groupe de ressources myResourceGroup. La variable nommée SP_ID stocke l’ID de principal de service utilisé à l’étape suivante. Ces commandes utilisent le langage de commande Bash.

Avertissement

Lorsque vous réinitialisez vos informations d’identification de cluster sur un cluster AKS qui utilise Azure Virtual Machine Scale Sets, une mise à niveau d’image de nœud est effectuée pour mettre à jour vos nœuds avec les nouvelles informations d’identification.

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

Utilisez la variable SP_ID contenant l’ID du principal de service pour réinitialiser les informations d’identification avec la commande az ad app credential reset. L’exemple suivant permet à la plateforme Azure de générer un nouveau secret sécurisé pour le principal de service et de le stocker sous la forme d’une variable nommée SP_SECRET.

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

Ensuite, vous mettez à jour le cluster AKS avec les informations d’identification du principal de service. Cette étape est nécessaire pour mettre à jour le principal de service sur votre cluster AKS.

Création d’un principal de service

Notes

Si vous avez mis à jour les informations d’identification de principal de service existantes dans la section précédente, ignorez cette section et mettez à jour le cluster AKS avec les informations d’identification du principal de service.

Pour créer un principal de service et mettre à jour le cluster AKS afin d’utiliser les nouvelles informations d’identification, utilisez la commande az ad sp create-for-rbac.

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

Le résultat obtenu ressemble à l’exemple de sortie suivant. Notez les appId et password, en vue de les utiliser à l’étape suivante.

{
  "appId": "7d837646-b1f3-443d-874c-fd83c7c739c5",
  "name": "7d837646-b1f3-443d-874c-fd83c7c739c",
  "password": "a5ce83c9-9186-426d-9183-614597c7f2f7",
  "tenant": "a4342dc8-cd0e-4742-a467-3129c469d0e5"
}

Définissez des variables pour l’ID du principal de service et la clé secrète client en utilisant la sortie de la commande az ad sp create-for-rbac. SP_ID correspond à l’appId, et SP_SECRET à votre mot de passe.

SP_ID=7d837646-b1f3-443d-874c-fd83c7c739c5
SP_SECRET=a5ce83c9-9186-426d-9183-614597c7f2f7

Ensuite, vous mettez à jour le cluster AKS avec les informations d’identification du nouveau principal de service. Cette étape est nécessaire pour mettre à jour le cluster AKS avec les informations d’identification du nouveau principal de service.

Mise à jour du cluster AKS avec les informations d’identification du principal de service

Important

La mise à jour d’un cluster AKS de grande taille avec un nouveau principal de service peut prendre beaucoup de temps. Envisagez de passer en revue et de personnaliser les paramètres de mise à niveau de la surcharge des nœuds afin de réduire les perturbations pendant la mise à jour. Pour les clusters de petite et moyenne taille, la mise à jour des nouvelles informations d’identification dans le cluster prend plusieurs minutes.

Mettez à jour le cluster AKS avec vos informations d’identification nouvelles ou existantes en exécutant la commande az aks update-credentials.

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

Mettre à jour un cluster AKS avec les nouvelles informations d’identification de l’application Microsoft Entra

Vous pouvez créer des applications cliente et un serveur Microsoft Entra en suivant les étapes d’intégration Microsoft Entra ou réinitialisez vos applications Microsoft Entra existantes en suivant la même méthode que pour la réinitialisation du principal de service. Après cela, vous devez mettre à jour les informations d’identification des applications Microsoft Entra de votre cluster en utilisant la commande az aks update-credentials avec les variables --reset-aad.

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-aad \
    --aad-server-app-id <SERVER APPLICATION ID> \
    --aad-server-app-secret <SERVER APPLICATION SECRET> \
    --aad-client-app-id <CLIENT APPLICATION ID>

Étapes suivantes

Dans cet article, vous avez appris à mettre à jour ou à faire pivoter un principal de service et des informations d’identification d’applications Microsoft Entra. Pour plus d’informations sur l’utilisation d’une identité managée pour des charges de travail dans un cluster, consultez la section Bonnes pratiques d’authentification et d’autorisation dans AKS.