Partager via


Résoudre les problèmes liés au code d’erreur CustomPrivateDNSZoneMissingPermissionError

Cet article explique comment identifier et résoudre le code d’erreur « CustomPrivateDNSZoneMissingPermissionError » qui se produit lorsque vous essayez de créer ou de mettre à jour un cluster Microsoft Azure Kubernetes Service (AKS).

Conditions préalables

  • Azure CLI, version 2.53.0 ou ultérieure. Exécutez az --version pour rechercher la version installée.

Symptômes

Une opération de création ou de mise à jour d’un cluster AKS échoue et retourne le message d’erreur suivant :

Code : CustomPrivateDNSZoneMissingPermissionError
Message : Le principal du service ou l’identité affectée par l’utilisateur doit avoir l’autorisation de lire et d’écrire dans une zone DNS privée personnalisée <custom-private-dns-zone-resource-id>. Vérifiez le résultat d’accès non autorisé pour l’action Microsoft.Network/privateDnsZones/read.

La cause

Avant d’exécuter une opération de création ou de mise à jour de cluster pour un cluster privé qui utilise une zone DNS privée personnalisée, il vérifie si l’identité managée ou le principal de service du cluster dispose des autorisations nécessaires pour contrôler la zone DNS privée. Si AKS ne trouve pas les autorisations nécessaires, il bloque l’opération afin que le cluster n’entre pas dans un état d’échec.

Solution

Pour créer l’attribution de rôle manquante, procédez comme suit :

  1. Obtenez l’ID de ressource de la zone DNS privée du cluster en exécutant la commande az aks show et stockez-la CUSTOM_PRIVATE_DNS_ZONE_ID en tant que variable :

    CUSTOM_PRIVATE_DNS_ZONE_ID=$(az aks show \
        --resource-group <aks-resource-group> \
        --name <aks-cluster-name> \
        --query apiServerAccessProfile.privateDnsZone \
        --output tsv)
    

    Remarque

    Étant donné que l’ID de ressource de la zone DNS privée personnalisée a également été affiché dans le message d’erreur d’origine, vous pouvez également affecter cet ID de ressource à la variable au lieu d’exécuter la az aks show commande.

  2. Attribuez le rôle Contributeur de zone DNS privée au principal de service ou d’identité managée du cluster en exécutant la commande az role assignment create :

    az role assignment create --role "Private DNS Zone Contributor" \
        --scope $CUSTOM_PRIVATE_DNS_ZONE_ID \
        --assignee <control-plane-principal-id>
    

Remarque

La fin de l’octroi d’autorisations à l’identité managée ou au principal de service de votre cluster peut prendre jusqu’à 60 minutes.

Contactez-nous pour obtenir de l’aide

Si vous avez des questions ou avez besoin d’aide, créez une demande de support ou demandez le support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.