Définir l’autorisation d’affichage pour un groupe dans Les hooks de service
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Par défaut, seuls les administrateurs de projet disposent d’autorisations d’affichage ou de modification . Pour accorder ces autorisations directement à d’autres utilisateurs, vous pouvez utiliser l’outil en ligne de commande ou l’API REST de sécurité.
L’ID ServiceHooks
d’espace de noms de sécurité est défini sous Espaces de noms de sécurité de liste comme cb594ebe-87dd-4fc9-ac2c-6a10a4c92046
Prérequis
Installez Azure CLI pour exécuter la
az devops
commande. Comment installer l’interface de ligne de commande AzureCréez un jeton d’accès personnel (PAT) pour votre profil Azure DevOps. Vérifiez que vous êtes membre du groupe Administrateur de collection de projets (PCA).
- Identité (lecture)
- Graphique (lecture)
- Sécurité (Gérer)
Connectez-vous à Azure DevOps avec
az devops login
. Si vous n’avez pas l’extension, installez-laaz devops
.> az devops login The command requires the extension azure-devops. Do you want to install it now? The command will continue to run after the extension is installed. (Y/n): Y
Vous pouvez définir votre organisation comme organisation par défaut. Sinon, définissez
--org "https://dev.azure.com/{organization}"
pour chaque commande.az devops configure --defaults organization="https://dev.azure.com/{organization}"
Vérifiez si vous pouvez voir la liste des autorisations pour votre organisation.
az devops security permission namespace list --org "https://dev.azure.com/{organization}"
Lire l’identité de groupe et le jeton d’autorisation
Recherchez le descripteur d’identité de votre groupe.
> az devops security group list --project ac515e82-560c-4af8-845b-9f7f968d8e7b --output table Name Descriptor ----------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------- [TEAM FOUNDATION]\EntraServiceHooksRead aadgp.Uy0xLTktMTU1MTM3NDI0NS0xMjA0NDAwOTY5LTI0MDI5ODY0MTMtMjE3OTQwODYxNi0zLTM5NTQxNzM3ODYtMTUyMTA4MTkyNS0yNTQwNTA4MjYzLTMzNDgxNjQxNjg
Si vous souhaitez filtrer par nom de groupe, vous pouvez utiliser
findstr
ougrep
commander dépend de votre invite de commandes.Obtenir le jeton d’autorisation.
> az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table Token Effective Allow Effective Deny ------------------------------------------------------ ----------------- ---------------- PublisherSecurity 0 0 PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b 0 0
Mettre à jour l’autorisation de lecture pour les hooks de service
Liste des autorisations possibles que vous pouvez définir pour
--allow-bit
.- Afficher les abonnements
- Modifier l’abonnement
- Supprimer des abonnements
- Publier des événements
> az devops security permission namespace show --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 [ { "actions": [ { "bit": 1, "displayName": "View Subscriptions", "name": "ViewSubscriptions", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046" }, { "bit": 2, "displayName": "Edit Subscription", "name": "EditSubscriptions", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046" }, { "bit": 4, "displayName": "Delete Subscriptions", "name": "DeleteSubscriptions", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046" }, { "bit": 8, "displayName": "Publish Events", "name": "PublishEvents", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046" } ], "dataspaceCategory": "Default", "displayName": "ServiceHooks", "elementLength": -1, "extensionType": null, "isRemotable": true, "name": "ServiceHooks", "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046", "readPermission": 1, "separatorValue": "/", "structureValue": 1, "systemBitMask": 0, "useTokenTranslator": true, "writePermission": 7 }
Définissez l’accès Affichage pour le groupe. Afficher les abonnements ServiceHooks est égal à 1 pour
--allow-bit
.> az devops security permission update --namespace-id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --token PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b --allow-bit 1 [ { "acesDictionary": { "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-3-3954173786-1521081925-2540508263-3348164168": { "allow": 1, "deny": 0, "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-3-3954173786-1521081925-2540508263-3348164168", "extendedInfo": { "effectiveAllow": 1 }, "resolvedPermissions": [ { "bit": 1, "displayName": "View Subscriptions", "effectivePermission": "Allow", "name": "ViewSubscriptions" } ] } }, "includeExtendedInfo": true, "inheritPermissions": true, "token": "PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b" } ]
Obtenez le jeton d’autorisation pour voir vos modifications.
> az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table Token Effective Allow Effective Deny ------------------------------------------------------ ----------------- ---------------- PublisherSecurity 0 0 PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b 1 0
L’exemple suivant montre que l’utilisateur peut voir les abonnements de hooks de service.
Réinitialiser toutes les autorisations de hooks de service d’un groupe
Si vous devez réinitialiser toutes les autorisations de hooks de service d’un groupe ou d’un utilisateur, vous pouvez appeler
reset-all
.> az devops security permission reset-all --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --token PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b Are you sure you want to reset all explicit permissions for this user/group and token? (y/n): Y true > az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table Token Effective Allow Effective Deny ------------------------------------------------------ ----------------- ---------------- PublisherSecurity 0 0 PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b 0 0
L’exemple suivant montre que l’utilisateur ne peut pas afficher les abonnements aux hooks de service une fois l’autorisation réinitialisée.