Настройка разрешения представления для группы в перехватчиках служб
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
По умолчанию только администраторы проектов имеют разрешения на просмотр или изменение . Чтобы предоставить эти разрешения другим пользователям напрямую, можно использовать средство командной строки или REST API безопасности.
ServiceHooks
Идентификатор пространства имен безопасности определяется в разделе "Пространства имен безопасности списка" как cb594ebe-87dd-4fc9-ac2c-6a10a4c92046
Необходимые компоненты
Категория | Требования |
---|---|
доступ к проекту | член проекта. |
разрешения | — Член группы администраторов коллекции проектов . Владельцы организации автоматически входят в эту группу. - персональный маркер доступа (PAT) для профиля Azure DevOps. |
Инструменты |
Azure CLI. 1. Войдите с помощью az devops login .2. Вы можете определить организацию как организацию по умолчанию. В противном случае определите --org "https://dev.azure.com/{organization}" для каждой команды. az devops configure --defaults organization="https://dev.azure.com/{organization}" 3. Проверьте, можно ли просмотреть список разрешений для вашей организации: az devops security permission namespace list --org "https://dev.azure.com/{organization}" . |
Чтение удостоверения группы и маркера разрешений
Найдите дескриптор удостоверения группы.
> az devops security group list --project ac515e82-560c-4af8-845b-9f7f968d8e7b --output table Name Descriptor ----------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------- [TEAM FOUNDATION]\EntraServiceHooksRead aadgp.Uy0xLTktMTU1MTM3NDI0NS0xMjA0NDAwOTY5LTI0MDI5ODY0MTMtMjE3OTQwODYxNi0zLTM5NTQxNzM3ODYtMTUyMTA4MTkyNS0yNTQwNTA4MjYzLTMzNDgxNjQxNjg
Если вы хотите фильтровать по имени группы, можно использовать
findstr
илиgrep
командовать в командной строке.Получение маркера разрешений.
> 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
Обновление разрешения на чтение для перехватчиков служб
Список возможных разрешений, для которые можно определить
--allow-bit
.- Просмотр подписок
- Изменить подписку
- Удаление подписок
- Публикация событий
> 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 }
Задайте для группы доступ к представлению . Просмотр подписок ServiceHooks равен 1 для
--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" } ]
Получите маркер разрешений для просмотра изменений.
> 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
В следующем примере показано, что пользователь может просматривать подписки на службы.
Сброс разрешений всех перехватчиков службы группы
Если вам нужно сбросить все разрешения перехватчиков службы группы или пользователя, можно вызвать
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
В следующем примере показано, что пользователь не может просматривать подписки на перехватчики служб после сброса разрешения.