29
votes

Application Azure non enregistrée avec AAD

En dessous de l'erreur lors de la connexion du Registre des conteneurs

Commande:

Error response from daemon: Get https://<MY_REGISTRY_NAME>.azurecr.io/v2/: unauthorized: Application not registered with AAD

Message d'erreur:

docker login <MY_REGISTRY_NAME>.azurecr.io


1 commentaires

Avez-vous enregistré la demande sur Azure AD Portal? docs.microsoft.com/en-us/ azure / actif-directory / se développer /…


7 Réponses :


37
votes

Accédez aux clés d'accès dans le registre des conteneurs et activez l'utilisateur de l'administrateur, puis utilisez les informations d'identification automatique pour se connecter via Docker


1 commentaires

Comment cela aide-t-il à l'authentification Active Directory? Bien sûr, cela vous permet de créer un seul utilisateur "admin", avec un mot de passe que vous pouvez quoi, transmettre à tout le monde de votre organisation? Ce sont des conseils horribles.



8
votes

Pour moi, le moyen le plus simple de tout faire a été de lire les documents de Docker à https : //docs.docker.com/cloud/aci-integration/ . Vraiment, tout ce que vous avez à faire est de créer le conteneur dans Azure, d'ouvrir PowerShell (si vous ne l'avez pas fait, installez / importez les modules Azure) et exécutez la commande "Docker Login Azure". Cela ouvrira une fenêtre de navigateur et vous pouvez vous connecter directement à votre conteneur à partir de là. Je n'ai pas encore essayé avec plusieurs conteneurs, car je n'ai besoin que d'un seul jusqu'à présent, mais je ne peux pas imaginer que ce serait difficile.


0 commentaires

4
votes

Pour ceux d'entre vous qui ne souhaitent pas activer l'utilisateur administrateur via la section "Access Keys" dans le registre des conteneurs, vous pouvez suivre ce lien - https://docs.microsoft.com/en-us/azure/container-regry/container-registry -Auth-Service-Principal - Pour créer un directeur de service. L'exécution du script fourni dans le lien mentionné génère une combinaison de mot de passe ID qui peut être utilisée avec vos commandes Docker de connexion (donnez l'ID comme nom d'utilisateur dans la commande docker de connexion). Cela garantit également que si vous souhaitez exécuter les commandes Docker via certains scripts que vous avez écrits, vous pouvez utiliser ces informations d'identification.

La commande offre la capacité d'attribuer des rôles fixes aux directeurs de service que vous créez. Les rôles spécifiques à la simple pression ou à la poussée (qui incluent la traction) peuvent être attribués.

Ce que je ne suis pas clair, c'est pourquoi les utilisateurs ajoutés via l'annonce Azure ne peuvent-ils pas être utilisés dans les commandes de connexion Docker, mais l'utilisation des directeurs de service fonctionne. (Si quelqu'un a une idée à ce sujet, n'hésitez pas à partager).


0 commentaires

3
votes

Cela peut se produire si vous utilisez le nom de registre complet, par exemple registryname.azurecr.io comme nom d'utilisateur au lieu de simplement registrename

Le message d'erreur est extrêmement incorrect!


0 commentaires

1
votes

J'ai eu cette erreur non autorisé: application non enregistrée avec aad quand pendant docker connex en tant que valeur - nom d'utilisateur .

Get-AzADServicePrincipal -DisplayName <DisplayName> | Select ApplicationId

De cette façon, vous pouvez découvrir applicationID > DisplayName dans Azure PowerShell. Vous pouvez également le trouver sur Azure Portal.


0 commentaires

0
votes
  • Obtenez des informations d'identification à l'aide de AZ ACR CREALTIFICATION HOW - Name TestContainerRegistry
  • Utilisez ces informations d'identification dans Docker Login TestContainerRegistry.azurecr.io

  • 0 commentaires

    1
    votes

    Comme les autres l'ont mentionné, vous pouvez utiliser l'utilisateur administrateur si vous le souhaitez.

    Cependant, ce n'est peut-être pas la solution idéale pour une organisation plus grande. Au lieu de cela, vous pouvez utiliser les connexions RBAC et Azure AD pour gérer l'accès. Voici les étapes que j'ai prises:

  • Assurez-vous que vous et vos utilisateurs avez les rôles RBAC requis. Veuillez vous référer au lien suivant pour plus de détails: https://docs.microsoft.com/en-us/azure/containener-registry/container-registry-roles?tabs=azure-cli
  • Si vous ne l'avez pas déjà fait, téléchargez Azure CLI: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=azure-cli
  • Connectez-vous à la CLI Azure à l'aide de la commande suivante: AZ Login
    Une pop devrait apparaître vous permettant de vous connecter via votre navigateur.
  • Assurez-vous que vous êtes connecté au même abonnement que votre référentiel de conteneurs Azure
  • Enfin, connectez-vous à votre référentiel de conteneurs Azure avec:
    AZ ACR Login --name .azurecr.io
  • c'est tout! J'ai trouvé cette solution pour faciliter la collaboration. J'espère que ça aide!


    0 commentaires