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
Azure DevOps utilise une combinaison de concepts de sécurité pour s’assurer que seuls les utilisateurs autorisés peuvent accéder à ses fonctionnalités, fonctions et données. L’accès est déterminé par deux processus clés : l’authentification, qui vérifie les informations d’identification d’un utilisateur et l’autorisation, qui accorde des autorisations basées sur les droits de compte. Ensemble, ces processus contrôlent ce que chaque utilisateur peut faire dans Azure DevOps.
Cet article s’étend sur Prise en main des autorisations, des accès et des groupes de sécurité et aide les administrateurs à comprendre les différents types de comptes, méthodes d’authentification et d’autorisation et stratégies de sécurité disponibles pour protéger les environnements Azure DevOps.
Types de comptes
- Utilisateurs
- Propriétaire de l’organisation
- Comptes de service
- Principaux de service ou identités managées
- Agents de travail
Authentification
- Informations d’identification de l’utilisateur
- Authentification Windows
- Authentification à deux facteurs (2FA)
- Authentification par clé SSH
- Jeton Microfost Entra
- Jeton d’accès personnel
- Configuration OAuth
- Bibliothèque d’authentification Active Directory
Autorisation
- Appartenance au groupe de sécurité
- Contrôle d’accès en fonction du rôle
- Niveaux d’accès
- Indicateurs de fonctionnalités
- Autorisations et espaces de noms de sécurité
Stratégies
- URL de la politique de confidentialité
- Stratégies de sécurité et de connexion d’application
- Stratégies utilisateur
- Stratégies de dépôt et de branche Git
Types de comptes
- Utilisateurs
- Comptes de service
- Principaux de service ou identités managées
- Agents de travail
Authentification
- Informations d’identification de l’utilisateur
- Authentification Windows
- Authentification à deux facteurs (2FA)
- Authentification par clé SSH
- Jetons d’accès personnels
- Configuration OAuth
- Bibliothèque d’authentification Active Directory
Autorisation
- Appartenance au groupe de sécurité
- Autorisations basées sur les rôles
- Niveaux d’accès
- Indicateurs de fonctionnalités
- Autorisations et espaces de noms de sécurité
Stratégies
- Stratégies de dépôt et de branche Git
Importante
Azure DevOps ne prend pas en charge l’authentification d’autres informations d’identification. Si vous utilisez toujours d’autres informations d’identification, nous vous encourageons vivement à passer à une méthode d’authentification plus sûre.
Azure DevOps prend en charge le développement de logiciels de la planification au déploiement. Chaque plateforme utilise l’infrastructure et les services Platform as a Service de Microsoft Azure, y compris les bases de données Azure SQL, pour fournir un service fiable et globalement disponible pour vos projets.
Pour plus d’informations sur la façon dont Microsoft garantit que vos projets sont sécurisés, disponibles, sécurisés et privés, consultez la vue d’ensemble de la protection des données Azure DevOps.
Comptes
Si les comptes d'utilisateurs humains sont au premier plan, Azure DevOps prend également en charge divers autres types de comptes pour différentes opérations :
- Propriétaire de l’organisation : créateur d’une organization Azure DevOps Services ou d’un propriétaire affecté. Pour trouver le propriétaire de votre organisation, consultez Rechercher le propriétaire d’organisation.
- Comptes de service : organisation Azure DevOps interne permettant de prendre en charge un service spécifique tel que le service de pool d’agents, PipelinesSDK. Pour obtenir une description des comptes de service, consultez Groupes de sécurité, comptes de service et autorisations.
- Principaux de service ou identités managées : applications Microsoft Entra ou identités managées ajoutées à votre organisation pour effectuer des actions pour le compte d’une application non-Microsoft. Certains principaux de service font référence à l’organisation Azure DevOps interne pour prendre en charge les opérations internes.
- Agents de travail : comptes internes permettant d’exécuter des travaux spécifiques selon un calendrier régulier.
- Comptes tiers : comptes qui nécessitent l’accès pour prendre en charge les hooks Web, les connexions de service ou d’autres applications non-Microsoft.
Dans nos articles relatifs à la sécurité, les « utilisateurs » désignent toutes les identités ajoutées au hub d’utilisateurs, qui peuvent inclure des utilisateurs humains et des principaux de service.
- Comptes de service : organisation Azure DevOps interne permettant de prendre en charge un service spécifique tel que le service de pool d’agents, PipelinesSDK. Pour obtenir une description des comptes de service, consultez Groupes de sécurité, comptes de service et autorisations.
- Principaux de service ou identités managées : applications Microsoft Entra ou identités managées ajoutées à votre organisation pour effectuer des actions pour le compte d’une application non-Microsoft. Certains principaux de service font référence à l’organisation Azure DevOps interne pour prendre en charge les opérations internes.
- Agents de travail : comptes internes permettant d’exécuter des travaux spécifiques selon un calendrier régulier.
- Comptes tiers : comptes qui nécessitent l’accès pour prendre en charge les hooks Web, les connexions de service ou d’autres applications non-Microsoft.
Le moyen le plus efficace de gérer les comptes consiste à les ajouter à des groupes de sécurité.
Remarque
Le propriétaire de l’organisation et les membres du groupe Administrateurs de collection de projets bénéficient d’un accès complet à la quasi-totalité des fonctionnalités et fonctions.
Authentification
L’authentification vérifie l’identité d’un utilisateur en fonction des informations d’identification fournies lors de la connexion à Azure DevOps. Azure DevOps s’intègre à plusieurs systèmes d’identité pour gérer l’authentification :
- ID Microsoft Entra : recommandé pour les organisations gérant un grand groupe d’utilisateurs. Fournit une authentification robuste, basée sur le cloud et une gestion des utilisateurs.
- Compte Microsoft (MSA) : adapté aux bases utilisateur plus petites qui accèdent aux organisations Azure DevOps. Prend en charge l’authentification cloud.
- Active Directory (AD) : recommandé pour les déploiements locaux avec de nombreux utilisateurs, à l’aide de votre infrastructure AD existante.
Les comptes Microsoft Entra ID et Microsoft prennent tous deux en charge l’authentification cloud. Pour en savoir plus, consultez À propos de l’accès à Azure DevOps avec Microsoft Entra ID.
Pour les environnements locaux, utilisez Active Directory pour gérer efficacement l’accès utilisateur. Pour plus d’informations, consultez Configurer des groupes à utiliser dans des déploiements locaux.
S’authentifier par programmation
Accédez à votre organisation Azure DevOps par programmation sans entrer à plusieurs reprises votre nom d’utilisateur et votre mot de passe en choisissant l’une des méthodes d’authentification disponibles. Utilisez les méthodes suivantes pour automatiser les flux de travail, les intégrer aux API REST ou créer des applications personnalisées :
- Utilisez OAuth pour générer des applications qui effectuent des actions pour le compte des utilisateurs. Les utilisateurs doivent donner leur consentement à l’application. Pour les nouvelles applications, utilisez Microsoft Entra OAuth.
- Utilisez des principaux de service ou des identités managées pour automatiser les flux de travail ou créer des outils qui accèdent régulièrement aux ressources de l’organisation. Émettez des jetons Microsoft Entra pour le compte de l’application elle-même.
- Utilisez l’ID Microsoft Entra pour l’authentification sécurisée, basée sur le cloud et la gestion des utilisateurs.
- Utilisez des jetons d’accès personnels (PAT) pour les requêtes ad hoc ou le prototypage précoce. Évitez les PAT pour le développement d’applications à long terme, car ils sont plus susceptibles de fuites et d’utilisations abusives.
Conseil / Astuce
Stockez toujours les informations d’identification de manière sécurisée et suivez les bonnes pratiques pour gérer les méthodes d’authentification.
Par défaut, votre organisation autorise l’accès à toutes les méthodes d’authentification. Les administrateurs de l’organisation peuvent restreindre l’accès à ces méthodes d’authentification en désactivant les stratégies de sécurité. Les administrateurs d’abonné peuvent réduire davantage le risque lié aux PAT en limitant les façons dont ils peuvent être créés.
Autorisation
L’autorisation détermine si une identité authentifiée dispose des autorisations requises pour accéder à un service, une fonctionnalité, une fonction, un objet ou une méthode spécifiques dans Azure DevOps. Les vérifications d’autorisation se produisent toujours après l’authentification réussie : si l’authentification échoue, l’autorisation n’est jamais évaluée. Même après l’authentification, les utilisateurs ou les groupes peuvent être refusés d’accéder à certaines actions s’ils ne disposent pas des autorisations nécessaires.
Azure DevOps gère l’autorisation via les autorisations affectées directement aux utilisateurs ou héritées par le biais de groupes de sécurité ou de rôles. Les niveaux d’accès et les indicateurs de fonctionnalité peuvent contrôler davantage l’accès à des fonctionnalités spécifiques. Pour en savoir plus sur ces méthodes d’autorisation, consultez Prise en main des autorisations, de l’accès et des groupes de sécurité.
Autorisations et espaces de noms de sécurité
Les espaces de noms de sécurité définissent les niveaux d’accès utilisateur pour des actions spécifiques sur les ressources Azure DevOps.
- Chaque famille de ressources, par exemple, les éléments de travail ou les référentiels Git, possède son propre espace de noms unique.
- Dans chaque espace de noms, il peut y avoir plusieurs listes de contrôle d’accès (ACL).
- Chaque ACL contient un jeton, un indicateur d’héritage et une ou plusieurs entrées de contrôle d’accès (ACE).
- Chaque ACE spécifie un descripteur d’identité, un masque de bits pour les autorisations autorisées et un masque de bits pour les autorisations refusées.
Pour en savoir plus, consultez Informations de référence sur les autorisations et espaces de noms de sécurité.
Stratégies de sécurité
Pour sécuriser votre organisation et votre code, les administrateurs au niveau de l’organisation (administrateur de collection de projets) ou de locataire (administrateur Azure DevOps) peuvent activer ou désactiver différentes stratégies de sécurité, en fonction de l’étendue de la stratégie. Les stratégies clés à prendre en compte sont les suivantes :
- Spécifiez une URL de stratégie de confidentialité pour décrire la façon dont vous gérez la confidentialité des données invité internes et externes.
- Déterminez si les utilisateurs de votre organisation sont autorisés à créer des projets publics.
Si votre organisation est connectée à l’ID Microsoft Entra, vous avez accès aux autres fonctionnalités de sécurité suivantes :
- Restreindre la création d’organisation à certains utilisateurs.
- Invitez des invités externes à l’organisation.
- Autoriser les administrateurs d’équipe et de projet à inviter de nouveaux utilisateurs.
- Activer la validation de la stratégie d’accès conditionnel (CAP).
- Effectuez le suivi des événements et des flux d’audit dans votre organisation.
Passez en revue et configurez ces stratégies pour renforcer la posture de sécurité de votre organisation et garantir la conformité à vos exigences de confidentialité et d’accès aux données.
Groupe Utilisateurs à l’échelle du projet
Par défaut, les utilisateurs ajoutés à une organisation peuvent afficher toutes les informations et paramètres de l’organisation, notamment les listes d’utilisateurs, les listes de projets, les détails de facturation, les données d’utilisation, etc.
Pour limiter l’accès à des utilisateurs spécifiques, tels que les parties prenantes, les utilisateurs invités Microsoft Entra ou les membres d’un groupe de sécurité particulier, activez la fonctionnalité Limiter la visibilité des utilisateurs et la collaboration à des projets spécifiques en préversion pour votre organisation. Lorsque cette fonctionnalité est activée, tout utilisateur ou groupe ajouté au groupe d’utilisateursProject-Scoped est limité de la manière suivante :
- L’accès est limité aux pages Vue d’ensemble et Projets dans les paramètres de l’organisation.
- Les utilisateurs peuvent uniquement se connecter aux projets et les afficher auxquels ils ont été explicitement ajoutés.
- Les utilisateurs peuvent uniquement sélectionner des identités d’utilisateur et de groupe qui sont explicitement ajoutées au même projet.
Pour plus d’informations, consultez Gérer votre organisation : limiter la visibilité des utilisateurs pour les projets et plus et gérer les fonctionnalités en préversion.
Avertissement
Tenez compte des limitations suivantes lors de l’utilisation de cette fonctionnalité en préversion :
- Les fonctionnalités de visibilité limitée décrites dans cette section s’appliquent uniquement aux interactions au moyen du portail web. Avec les API REST ou les commandes CLI
azure devops, les membres du projet peuvent accéder aux données dont l’accès est restreint. - Les utilisateurs du groupe limité peuvent uniquement sélectionner les utilisateurs qui sont explicitement ajoutés à Azure DevOps et non les utilisateurs qui ont accès via l’appartenance au groupe Microsoft Entra.
- Les utilisateurs invités et membres du groupe limité avec un accès par défaut dans Microsoft Entra ID ne peuvent pas rechercher d’utilisateurs avec le sélecteur de personne.
Stratégies de dépôt et de branche Git
Pour sécuriser votre code, vous pouvez définir diverses stratégies de dépôt et de branche Git. Pour en savoir plus, consultez les articles suivants :
Sécurité Azure Repos et Azure Pipelines
Étant donné que les référentiels et les pipelines de construction et de publication posent des défis de sécurité uniques, d'autres fonctionnalités que celles abordées dans cet article sont employées. Pour en savoir plus, consultez les articles suivants :
- Sécurisation d’Azure Pipelines
- Planifier la sécurisation de vos pipelines YAML
- Protection des dépôts
- Ressources de pipeline
- Recommandations pour structurer de manière sécurisée les projets dans votre pipeline
- Sécurité au moyen de modèles
- Utilisation de variables et de paramètres dans votre pipeline en toute sécurité
- Recommandations pour sécuriser l’infrastructure partagée dans Azure Pipelines
- Autres considérations relatives à la sécurité