Commande d’autorisation Git

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

La commande tf git permission modifie la liste de contrôle d’accès utilisateur (ACL) et affiche les paramètres d’autorisation d’un dépôt Git ou d’une branche au sein d’un dépôt Git.

Prérequis

  • Pour afficher les autorisations, vous devez être en mesure d’afficher l’artefact pour le type d’informations que vous demandez : afficher les informations au niveau de la collection pour les collections de projets, afficher les informations au niveau du projet pour les projets et lecture pour le référentiel et la branche si vous affichez les autorisations de branche.

  • Pour gérer les autorisations, vous devez disposer des autorisations Gérer pour l’artefact souhaité.

Pour plus d’informations, consultez Autorisations Git par défaut.

Syntaxe

tf git permission [/allow:(* |perm1[,perm2,...]] 
                  [/deny:(* |perm1[,perm2,...])]
                  [/remove:(* |perm1[,perm2,...])]
                  [/user:username1[,username2,...]]
                  [/group:groupname1[,groupname2,...]]
                  /collection:TeamProjectCollectionUrl
                  [/teamproject:TeamProjectIdentifier]
                  [/repository:RepositoryIdentifier]
                  [/branch:BranchName]
                  [/login:username,[password]]

Paramètres

Paramètre Description
/allow:(* |<perm1>[,<perm2>,...]) Autorisations à autoriser.
/deny:(* |<perm1>[,<perm2>,...]) Autorisations à refuser.
/remove:(* |<perm1>[,<perm2>,...]) Autorisations à supprimer, parfois appelées non définies. Vous pouvez utiliser les trois appels /allow, /deny, et /remove dans le même appel. Pour plus d’informations sur la façon dont les paramètres d’autorisation, de refus et de suppression interagissent, consultez Paramètres d’autorisation.
/user:<username1>[,<username2>,...] Utilisateur ou utilisateurs pour lesquels autoriser, refuser ou supprimer des autorisations. Vous devez spécifier au moins un utilisateur ou un groupe.
/group:<groupname1>[,<groupname2>,...] Groupes ou groupes pour lesquels autoriser, refuser ou supprimer des autorisations. Vous devez spécifier au moins un utilisateur ou un groupe. Les groupes et les individus peuvent être utilisés ensemble.
/collection:<TeamProjectCollectionUrl> Spécifie l’URL de la collection de projets qui contient les autorisations d’affichage ou de modification. Par exemple, http://myserver:8080/tfs/DefaultCollection ou https://fabrikam-fiber.visualstudio.com. Ce paramètre est obligatoire.
/teamproject:<TeamProjectIdentifier> Spécifie le nom du projet qui contient les autorisations d’affichage ou de modification.
/repository:<RepositoryIdentifier> Spécifie le nom du dépôt qui contient les autorisations d’affichage ou de modification.
/branch:<BranchName> Spécifie le nom de la branche qui contient les autorisations d’affichage ou de modification. Si vous spécifiez /branch, vous devez aussi spécifier /repository.
/login:<username>[,<password>] Spécifie le compte d'utilisateur pour exécuter la commande. Consultez Utiliser les commandes de contrôle de version Team Foundation.

Consultez Espaces de noms d’autorisation du référentiel Git pour obtenir la liste des autorisations qui peuvent être administrées par la commande tf git permission.

Exemples

Notes

Les exemples suivants sont divisés en plusieurs lignes pour la lisibilité. Pour les copier et les coller dans la ligne de commande et les exécuter, commencez par les copier et les coller dans le Bloc-notes ou un autre outil et modifiez-les afin que les commandes soient contenues sur une seule ligne.

Voir les autorisations au niveau de la collection

Dans l'exemple ci-dessous, les autorisations relatives à la collection fabrikam-fiber sont répertoriées.

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

Afficher les autorisations au niveau du projet

L’exemple suivant répertorie les autorisations FabrikamFiber au niveau du projet, qui se trouve dans la collection fabrikam-fiber.

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /teamproject:FabrikamFiber
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

Afficher les autorisations au niveau du référentiel

L’exemple suivant répertorie les autorisations au niveau du projet pour le référentiel FabrikamFiber, qui se trouve dans le projet FabrikamFiber.

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /teamproject:FabrikamFiber 
                  /repository:FabrikamFiber 
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

Exiger des commandes de dossiers de branche

Les exemples suivants montrent comment créer une stratégie de branche qui applique les contraintes suivantes :

  • main ne peut exister qu’à la racine du référentiel.
  • Tous les utilisateurs sont autorisés à créer des branches sous les dossiers features/ et users/.
  • Les administrateurs pourront créer des branches sous le dossier releases/.

Dans cet exemple, vous utilisez la collection, le projet et le référentiel suivants :

  • /collection: https://fabrikam-fiber.visualstudio.com
  • /teamproject: FabrikamProject
  • /repository FabrikamRepo

Tout d’abord, bloquez l’autorisation CreateBranch à la racine du référentiel pour les contributeurs du projet.

tf git permission /deny:CreateBranch 
                  /group:[FabrikamProject]\Contributors 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo

Ensuite, autorisez les contributeurs à créer des branches sous features et users.

tf git permission /allow:CreateBranch 
                  /group:[FabrikamProject]\Contributors 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo 
                  /branch:features

tf git permission /allow:CreateBranch 
                  /group:[FabrikamProject]\Contributors 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo 
                  /branch:users

Autoriser les administrateurs à créer des branches sous releases.

tf git permission /allow:CreateBranch 
                  /group:"[FabrikamProject]\Project Administrators" 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo 
                  /branch:releases

Enfin, autorisez les administrateurs à créer une branche appelée main, en cas de suppression accidentelle.

tf git permission /allow:CreateBranch 
                  /group:"[FabrikamProject]\Project Administrators" 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo 
                  /branch:main