Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
L’authentification sécurisée est essentielle pour protéger vos référentiels Git Azure Repos et Azure DevOps Server. Avec plusieurs options d’authentification disponibles ( jetons Microsoft Entra OAuth, jetons d’accès personnels et clés SSH), le choix de la méthode appropriée garantit la sécurité et la productivité de votre flux de travail de développement.
Les jetons Microsoft Entra OAuth sont l’approche recommandée pour les équipes de développement modernes, offrant une sécurité renforcée via des normes OAuth 2.0 et une intégration transparente avec les systèmes d’identité d’entreprise. Que vous travailliez à partir de la ligne de commande, à l’aide de clients Git ou que vous intégriez des pipelines CI/CD, la sélection d’une méthode d’authentification avec des limites d’étendue appropriées réduit les risques de sécurité tout en conservant l’accès dont vous avez besoin.
Révoquez ou changez les identifiants lorsqu'ils ne sont plus nécessaires. Cette pratique maintient la sécurité des référentiels et suit le principe de l’accès au privilège minimum.
Mécanismes d’authentification
Jetons OAuth Microsoft Entra (recommandé)
Les jetons Microsoft Entra sont la méthode d’authentification préférée pour les opérations Git et les API REST. Ils offrent des fonctionnalités de sécurité améliorées et peuvent être utilisés partout où les jetons d’accès personnels sont utilisés. Ces jetons sont générés pour un principal d'utilisateur, une identité gérée et/ou un principal de service.
Démarrage rapide avec Azure CLI : vous pouvez obtenir un jeton Microsoft Entra pour une utilisation immédiate avec les opérations Git à l’aide d’Azure CLI. Cette méthode est idéale pour les tests ou les opérations ponctuelles.
Pour l’authentification utilisateur :
az login
az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
Pour l’authentification du principal de service :Commencez par vous connecter en tant que principal de service, puis obtenez le jeton :
az login --service-principal -u <client-id> -p <client-secret> --tenant <tenant-id>
az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
Exemple d’utilisation avec Git :
$accessToken = az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
git -c http.extraheader="AUTHORIZATION: bearer $accessToken" clone https://dev.azure.com/{yourOrgName}/{yourProjectName}/_git/{yourRepoName}
Jetons d’accès personnels (option alternative)
Remarque
Bien que les jetons d’accès personnel soient toujours pris en charge, les jetons Microsoft Entra OAuth sont recommandés pour une meilleure sécurité et des pratiques d’authentification modernes.
Les jetons d’accès personnels (PATs) fournissent l’accès à Azure DevOps sans utiliser directement votre nom d’utilisateur et votre mot de passe. Ces jetons expirent et vous permettent de restreindre l’étendue des données auxquelles ils peuvent accéder.
Utilisez des PATs quand :
- Vous n’avez pas de clés SSH configurées sur votre système
- Vous devez limiter les autorisations accordées par les identifiants
- Les jetons Microsoft Entra OAuth ne sont pas disponibles dans votre scénario
Les interactions Git nécessitent un nom d’utilisateur, qui peut être tout sauf une chaîne vide. Pour utiliser un PAT avec l'authentification de base HTTP, Base64-encode votre $MyPat comme indiqué dans le bloc de code suivant.
- Windows
- Linux/macOS
Dans PowerShell, entrez le code suivant.
$MyPat = 'yourPat'
$headerValue = "Authorization: Basic " + [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":" + $MyPat))
$env:GIT_AUTH_HEADER = $headerValue
git --config-env=http.extraheader=GIT_AUTH_HEADER clone https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName
Clés SSH
L’authentification par clé avec SSH fonctionne via une paire de clés publique et privée que vous créez sur votre ordinateur. Vous associez la clé publique à votre nom d’utilisateur à partir du web. Azure DevOps chiffre les données envoyées avec cette clé lorsque vous travaillez avec Git. Vous déchiffrez les données de votre ordinateur avec la clé privée, qui ne sera jamais partagée ou envoyée sur le réseau.
SSH est une excellente option s’il est déjà configuré sur votre système. Il vous suffit d’ajouter une clé publique à Azure DevOps et de cloner vos dépôts à l’aide de SSH. SSH peut être préféré pour Linux, macOS ou Windows exécutant Git pour Windows qui ne peut pas utiliser des gestionnaires d’informations d’identification Git ou des jetons d’accès personnels pour l’authentification HTTPS.
Pour plus d’informations, consultez Configurer SSH avec Azure DevOps.
Utiliser Le Gestionnaire d’informations d’identification Git pour générer des jetons
Utilisez le Gestionnaire d’informations d’identification Git (GCM) pour éviter d’entrer vos informations d’identification à chaque fois et de sécuriser votre jeton lors de l’accès à Azure Repos. Connectez-vous au portail web, générez un jeton, puis utilisez le jeton comme mot de passe lorsque vous vous connectez à Azure Repos. Les jetons Microsoft Entra (préférés) ou paT sont générés à la demande lorsque le gestionnaire d’informations d’identification est installé et enregistré localement pour une utilisation avec la ligne de commande Git ou un autre client.
Référentiels existants
Supprimer l’origine existante : Si vous avez précédemment ajouté l’origine à l’aide d’un nom d’utilisateur, supprimez-la en exécutant la commande suivante :
git remote remove originS’authentifier auprès d’un protocole PAT : Si vous rencontrez des problèmes d’authentification standard, exécutez la commande suivante pour vous authentifier via la ligne de commande :
git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<project-name>/_git/<repo_name>git push -u origin --allLe
path to git repo = /_git/dofait référence à la structure de chemin d’URL utilisée dans Azure DevOps pour les dépôts Git. Le segment/_git/indique que vous accédez à un référentiel Git et que vous devez remplacerdopar le nom réel de votre référentiel. Par exemple, si votre référentiel est nommémy-repo, le chemin d’accès est '/_git/my-repo'.Cloner le référentiel : Si vous utilisez Git et que vous devez vous authentifier, exécutez la commande suivante :
git clone https://{organization}@dev.azure.com/{organization}/_git/{repository}Remplacez
{organization}par le nom de votre organisation Azure DevOps et{repository}par le nom de votre dépôt.