Notes
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 2022 | Azure DevOps Server 2019
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
- Espaces de noms de sécurité et autorisations
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
- Espaces de noms de sécurité et autorisations
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écurisée.
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’un Azure DevOps Services organization 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 utilisée pour 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 utilisés pour exécuter des travaux spécifiques selon une planification régulière.
- 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 » font référence à 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 utilisée pour 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 utilisés pour exécuter des travaux spécifiques selon une planification régulière.
- 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 aux groupes de sécurité.
Remarque
Les propriétaire d’organisation et les membres du groupe Administrateurs de collection de projets bénéficient d’un accès complet à presque toutes les 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 plus d’informations, consultez À propos de l’accès à Azure DevOps avec l’ID Microsoft Entra.
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 clients peuvent réduire davantage le risque 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é.
Espaces de noms et autorisations 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 plus d’informations, consultez Espaces de noms de sécurité et informations de référence sur les autorisations.
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.
Project-Scoped groupe Utilisateurs
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 via le portail web. Avec les API REST ou
azure devops
les commandes CLI, les membres du projet peuvent accéder aux données restreintes. - 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 qui sont membres du groupe limité avec un accès par défaut dans l’ID Microsoft Entra ne peuvent pas rechercher d’utilisateurs avec le sélecteur de personnes.
Stratégies de dépôt et de branche Git
Pour sécuriser votre code, vous pouvez définir différents référentiels Git et stratégies de branche. Pour plus d’informations, voir 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 plus d’informations, voir les articles suivants.
- Sécurisation d’Azure Pipelines
- Planifier la sécurisation de vos pipelines YAML
- Protection des référentiels
- Ressources de pipeline
- Recommandations pour structurer de manière sécurisée les projets dans votre pipeline
- Sécurité via des modèles
- Comment utiliser de manière sécurisée des variables et des paramètres dans votre pipeline
- Recommandations pour sécuriser l’infrastructure partagée dans Azure Pipelines
- Autres considérations relatives à la sécurité