Управление разрешениями с помощью средства командной строки

Azure DevOps Services

Разрешения предоставляют доступ для выполнения определенного действия для определенного ресурса, как описано в разделе "Начало работы с разрешениями, доступом и группами безопасности". Вы управляете большинством разрешений с помощью веб-портала. Однако вы можете управлять разрешениями с помощью средств командной строки или REST API.

Azure DevOps предоставляет ряд разрешений по умолчанию членам групп безопасности по умолчанию. Вы можете добавлять разрешения и управлять ими на более детальном уровне с az devops security permission помощью команд. Используйте следующие команды:

  • Просмотр разрешений, связанных с пространствами имен безопасности
  • Просмотр сведений об этих разрешениях
  • Обновление или сброс разрешений

Примечание.

Пространства имен и маркеры действительны для всех версий Azure DevOps. Перечисленные здесь допустимы для Azure DevOps 2019 и более поздних версий. Пространства имен могут изменяться с течением времени. Чтобы получить последний список пространств имен, выполните одно из средств командной строки или REST API. Некоторые пространства имен устарели, как указано в справочнике по пространству имен безопасности и разрешениям, нерекомендуемым и доступным только для чтения пространствам имен.

Необходимые компоненты

  • Для управления маркерами и пространствами имен необходимо быть членом группы безопасности коллекции проектов Администратор istrator. Дополнительные сведения о маркерах см. в справочнике по пространству имен безопасности и разрешениям.
  • Необходимо установить расширение ИНТЕРФЕЙСА командной строки Azure DevOps, как описано в статье "Начало работы с Azure DevOps CLI".
  • Войдите в Azure DevOps с помощью az login.
  • В примерах этой статьи задайте организацию по умолчанию следующим образом:
    • Для Azure DevOps Services: az devops configure --defaults organization=YourOrganizationURL.
    • Для Azure DevOps Server: az devops configure --defaults organization=https://ServerName/CollectionName

Команды разрешений безопасности

Введите следующую команду, чтобы получить список всех доступных команд.

az devops security permission -h

Дополнительные сведения о понятиях, связанных с разрешениями безопасности, см. в документации по REST API безопасности

Команда Description
az devops security permission list Вывод списка маркеров для указанного пользователя или группы и пространства имен.
az devops security permission namespace list Список всех доступных пространств имен для организации.
az devops security permission namespace show Отображение сведений о разрешениях, доступных в каждом пространстве имен.
az devops security permission reset Сброс разрешения для указанных битов разрешений.
az devops security permission reset-all Снимите все разрешения этого маркера для пользователя или группы.
az devops security permission show Отображение разрешений для указанного токена, пространства имен и пользователя или группы.
az devops security permission update Назначение разрешения или запрета указанному пользователю или группе.

Следующие параметры являются необязательными для всех команд, а не перечислены в примерах, приведенных в этой статье.

  • обнаружение: автоматическое обнаружение организации. Принятые значения: false, true. Значение по умолчанию — "истина".
  • org: URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization=ORG_URL. Требуется, если не настроено как по умолчанию или выбрано с помощью конфигурации Git. Пример: --org https://dev.azure.com/MyOrganizationName/.

Перечисление пространств имен безопасности

Вы можете перечислить все доступные пространства имен для организации с помощью команды az devops security permissionspace list list . Описание всех пространств имен безопасности и связанных маркеров см. в справочнике по пространству имен и разрешениям безопасности.

az devops security permission namespace list [--local-only]

Параметры

  • только для локального использования: необязательно. Если значение true, получите только локальные пространства имен безопасности.

    Пространства имен безопасности могут иметь свои данные, размещенные в одной микрослужбе, но по-прежнему отображаются в других микрослужбах. Если данные пространства имен безопасности станут главными в микрослужбе X, то он, как говорят, является локальным для этой микрослужбы. В противном случае, как говорят, удалено.

Введите az devops security permission namespace list список пространств имен, определенных для вашей организации или локального сервера.

Примечание.

Некоторые пространства имен, перечисленные в списке, устарели и не должны использоваться. Список устаревших пространств имен см . в справочнике по пространству имен, нерекомендуемым и нерекомендуемым пространствам имен.

az devops security permission namespace list --org https://dev.azure.com/OrganizationName --output table
 
Id                                    Name
------------------------------------  ------------------------------
c788c23e-1b46-4162-8f5e-d7585343b5de  ReleaseManagement
58450c49-b02d-465a-ab12-59ae512d6531  Analytics
d34d3680-dfe5-4cc6-a949-7d9c68f73cba  AnalyticsViews
62a7ad6b-8b8d-426b-ba10-76a7090e94d5  PipelineCachePrivileges
7c7d32f7-0e86-4cd6-892e-b35dbba870bd  ReleaseManagement
a6cc6381-a1ca-4b36-b3c1-4e65211e82b6  AuditLog
5a27515b-ccd7-42c9-84f1-54c998f03866  Identity
445d2788-c5fb-4132-bbef-09c4045ad93f  WorkItemTrackingAdministration
101eae8c-1709-47f9-b228-0e476c35b3ba  DistributedTask
71356614-aad7-4757-8f2c-0fb3bff6f680  WorkItemQueryFolders
2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87  Git Repositories
3c15a8b7-af1a-45c2-aa97-2cb97078332e  VersionControlItems2
2bf24a2b-70ba-43d3-ad97-3d9e1f75622f  EventSubscriber
5a6cd233-6615-414d-9393-48dbb252bd23  WorkItemTrackingProvision
49b48001-ca20-4adc-8111-5b60c903a50c  ServiceEndpoints
cb594ebe-87dd-4fc9-ac2c-6a10a4c92046  ServiceHooks
bc295513-b1a2-4663-8d1a-7017fd760d18  Chat
3e65f728-f8bc-4ecd-8764-7e378b19bfa7  Collection
cb4d56d2-e84b-457e-8845-81320a133fbb  Proxy
bed337f8-e5f3-4fb9-80da-81e17d06e7a8  Plan
2dab47f9-bd70-49ed-9bd5-8eb051e59c02  Process
11238e09-49f2-40c7-94d0-8f0307204ce4  AccountAdminSecurity
b7e84409-6553-448a-bbb2-af228e07cbeb  Library
83d4c2e6-e57d-4d6e-892b-b87222b7ad20  Environment
52d39943-cb85-4d7f-8fa8-c6baac873819  Project
58b176e7-3411-457a-89d0-c6d0ccb3c52b  EventSubscription
83e28ad4-2d72-4ceb-97b0-c7726d5502c3  CSS
9e4894c3-ff9a-4eac-8a85-ce11cafdc6f1  TeamLabSecurity
fc5b7b85-5d6b-41eb-8534-e128cb10eb67  ProjectAnalysisLanguageMetrics
bb50f182-8e5e-40b8-bc21-e8752a1e7ae2  Tagging
f6a4de49-dbe2-4704-86dc-f8ec1a294436  MetaTask
bf7bfa03-b2b7-47db-8113-fa2e002cc5b1  Iteration
fa557b48-b5bf-458a-bb2b-1b680426fe8b  Favorites
4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c  Registry
c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e  Graph
dc02bf3d-cd48-46c3-8a41-345094ecc94b  ViewActivityPaneSecurity
2a887f97-db68-4b7c-9ae3-5cebd7add999  Job
73e71c45-d483-40d5-bdba-62fd076f7f87  WorkItemTracking
4a9e8381-289a-4dfd-8460-69028eaa93b3  StrongBox
1f4179b3-6bac-4d01-b421-71ea09171400  Server
e06e1c24-e93d-4e4a-908a-7d951187b483  TestManagement
6ec4592e-048c-434e-8e6c-8671753a8418  SettingEntries
302acaca-b667-436d-a946-87133492041c  BuildAdministration
2725d2bc-7520-4af4-b0e3-8d876494731f  Location
83abde3a-4593-424e-b45f-9898af99034d  UtilizationPermissions
c0e7a722-1cad-4ae6-b340-a8467501e7ce  WorkItemsHub
0582eb05-c896-449a-b933-aa3d99e121d6  WebPlatform
66312704-deb5-43f9-b51c-ab4ff5e351c3  VersionControlPrivileges
93bafc04-9075-403a-9367-b7164eac6b5c  Workspaces
093cbb02-722b-4ad6-9f88-bc452043fa63  CrossProjectWidgetView
35e35e8e-686d-4b01-aff6-c369d6e36ce0  WorkItemTrackingConfiguration
0d140cae-8ac1-4f48-b6d1-c93ce0301a12  Discussion Threads
5ab15bc8-4ea1-d0f3-8344-cab8fe976877  BoardsExternalIntegration
7ffa7cf4-317c-4fea-8f1d-cfda50cfa956  DataProvider
81c27cc8-7a9f-48ee-b63f-df1e1d0412dd  Social
9a82c708-bfbe-4f31-984c-e860c2196781  Security
a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1  IdentityPicker
84cc1aa4-15bc-423d-90d9-f97c450fc729  ServicingOrchestration
33344d9c-fc72-4d6f-aba5-fa317101a7e9  Build
8adf73b7-389a-4276-b638-fe1653f7efc7  DashboardsPrivileges
a39371cf-0841-4c16-bbd3-276e341bc052  VersionControlItems

Пример. Перечисление локальных пространств имен безопасности

Следующая команда содержит только локальные пространства имен безопасности для организации и отображает результаты в формате таблицы.

az devops security permission namespace list --local-only --output table

Id                                    Name
------------------------------------  ------------------------------
71356614-aad7-4757-8f2c-0fb3bff6f680  WorkItemQueryFolders
fa557b48-b5bf-458a-bb2b-1b680426fe8b  Favorites
4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c  Registry
c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e  Graph
dc02bf3d-cd48-46c3-8a41-345094ecc94b  ViewActivityPaneSecurity
2a887f97-db68-4b7c-9ae3-5cebd7add999  Job
73e71c45-d483-40d5-bdba-62fd076f7f87  WorkItemTracking
4a9e8381-289a-4dfd-8460-69028eaa93b3  StrongBox
1f4179b3-6bac-4d01-b421-71ea09171400  Server
e06e1c24-e93d-4e4a-908a-7d951187b483  TestManagement
6ec4592e-048c-434e-8e6c-8671753a8418  SettingEntries
302acaca-b667-436d-a946-87133492041c  BuildAdministration
2725d2bc-7520-4af4-b0e3-8d876494731f  Location
83abde3a-4593-424e-b45f-9898af99034d  UtilizationPermissions
c0e7a722-1cad-4ae6-b340-a8467501e7ce  WorkItemsHub
0582eb05-c896-449a-b933-aa3d99e121d6  WebPlatform
66312704-deb5-43f9-b51c-ab4ff5e351c3  VersionControlPrivileges
93bafc04-9075-403a-9367-b7164eac6b5c  Workspaces
093cbb02-722b-4ad6-9f88-bc452043fa63  CrossProjectWidgetView
35e35e8e-686d-4b01-aff6-c369d6e36ce0  WorkItemTrackingConfiguration
0d140cae-8ac1-4f48-b6d1-c93ce0301a12  Discussion Threads
5ab15bc8-4ea1-d0f3-8344-cab8fe976877  BoardsExternalIntegration
7ffa7cf4-317c-4fea-8f1d-cfda50cfa956  DataProvider
81c27cc8-7a9f-48ee-b63f-df1e1d0412dd  Social
9a82c708-bfbe-4f31-984c-e860c2196781  Security
a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1  IdentityPicker
84cc1aa4-15bc-423d-90d9-f97c450fc729  ServicingOrchestration
33344d9c-fc72-4d6f-aba5-fa317101a7e9  Build
8adf73b7-389a-4276-b638-fe1653f7efc7  DashboardsPrivileges
445d2788-c5fb-4132-bbef-09c4045ad93f  WorkItemTrackingAdministration
101eae8c-1709-47f9-b228-0e476c35b3ba  DistributedTask
2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87  Git Repositories
a39371cf-0841-4c16-bbd3-276e341bc052  VersionControlItems
3c15a8b7-af1a-45c2-aa97-2cb97078332e  VersionControlItems2
2bf24a2b-70ba-43d3-ad97-3d9e1f75622f  EventSubscriber
5a6cd233-6615-414d-9393-48dbb252bd23  WorkItemTrackingProvision
49b48001-ca20-4adc-8111-5b60c903a50c  ServiceEndpoints
cb594ebe-87dd-4fc9-ac2c-6a10a4c92046  ServiceHooks
bc295513-b1a2-4663-8d1a-7017fd760d18  Chat
3e65f728-f8bc-4ecd-8764-7e378b19bfa7  Collection
cb4d56d2-e84b-457e-8845-81320a133fbb  Proxy
bed337f8-e5f3-4fb9-80da-81e17d06e7a8  Plan
2dab47f9-bd70-49ed-9bd5-8eb051e59c02  Process
11238e09-49f2-40c7-94d0-8f0307204ce4  AccountAdminSecurity
b7e84409-6553-448a-bbb2-af228e07cbeb  Library
83d4c2e6-e57d-4d6e-892b-b87222b7ad20  Environment
52d39943-cb85-4d7f-8fa8-c6baac873819  Project
58b176e7-3411-457a-89d0-c6d0ccb3c52b  EventSubscription
83e28ad4-2d72-4ceb-97b0-c7726d5502c3  CSS
9e4894c3-ff9a-4eac-8a85-ce11cafdc6f1  TeamLabSecurity
fc5b7b85-5d6b-41eb-8534-e128cb10eb67  ProjectAnalysisLanguageMetrics
bb50f182-8e5e-40b8-bc21-e8752a1e7ae2  Tagging
f6a4de49-dbe2-4704-86dc-f8ec1a294436  MetaTask
bf7bfa03-b2b7-47db-8113-fa2e002cc5b1  Iteration

Вывод списка маркеров для пространства имен безопасности

Вы можете перечислить маркеры для указанного пространства имен и пользователя или группы с помощью команды az devops security permission list .

az devops security permission list --id
                                   --subject
                                   [--recurse]
                                   [--token]

Параметры

  • тема: обязательный. Дескриптор электронной почты или группы пользователя.
  • recurse: необязательный. Если значение true, а пространство имен иерархическое, этот параметр возвращает дочерние списки ACL маркеров.
  • токен: необязательный. Укажите отдельный маркер безопасности.

Пример

Следующая команда содержит маркеры в формате таблицы для указанного пространства имен, соответствующего Аналитике и связанному с пользователем contoso@contoso.com.

az devops security permission list --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --output table

Token                                   Effective Allow    Effective Deny
--------------------------------------  -----------------  ----------------
$/0611925a-b287-4b0b-90a1-90f1a96e9f1f  0                  0
$/087572e2-5569-49ec-af80-d3caf22b446c  0                  0
$/131271e0-a6ad-49ba-837e-2d475ab2b169  0                  0
$/14c92f9d-9fff-48ec-8171-9d1106056ab3  0                  0
$/1965830d-5fc4-4412-8c71-a1c39c939a42  0                  0
$/4b80d122-a5ca-46ec-ba28-e03d37e53404  0                  0
$/4fa8e9de-e86b-4986-ac75-f421881a7664  0                  0
$/5417a1c3-4b04-44d1-aead-50774b9dbf5f  0                  0
$/56af920d-393b-4236-9a07-24439ccaa85c  0                  0
$/69265579-a1e0-4a30-a141-ac9e3bb82572  0                  0

Отображение сведений о пространстве имен

Вы можете отобразить сведения о разрешениях, доступных в каждом пространстве имен, с помощью команды az devops security permissionspace show .

az devops security permission namespace show --namespace-id <NAMESPACE_ID>

Параметры

  • id или namespace-id: обязательный. Идентификатор пространства имен безопасности.

Пример

Следующая команда содержит сведения о доступных разрешениях для указанного идентификатора пространства имен и возвращает результаты в формате таблицы.

az devops security permission namespace show --namespace-id 58450c49-b02d-465a-ab12-59ae512d6531 --output table

Name                      Permission Description                                    Permission Bit
------------------------  --------------------------------------------------------  ----------------
Read                      View analytics                                            1
Administer                Manage analytics permissions                              2
Stage                     Push the data to staging area                             4
ExecuteUnrestrictedQuery  Execute query without any restrictions on the query form  8
ReadEuii                  Read EUII data                                            16

Сброс разрешений

Вы можете сбросить биты разрешений для указанного пользователя или группы с помощью команды az devops security reset .

az devops security permission reset --id
                                    --permission-bit
                                    --subject
                                    --token

Параметры

  • id или namespace-id: обязательный. Идентификатор пространства имен безопасности.
  • бит разрешений: обязательный. Бит разрешений или добавление битов разрешений, которые необходимо сбросить для данного пользователя или группы и маркера.
  • тема: обязательный. Дескриптор электронной почты или группы пользователя.
  • токен: обязательный. Отдельный маркер безопасности.

Пример

Следующая команда сбрасывает бит разрешения маркера 8 для пользователя contoso@contoso.com в указанном пространстве имен и возвращает результаты в формате таблицы.

az devops security permission reset --id 58450c49-b02d-465a-ab12-59ae512d6531 --permission-bit 8 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --output table

Name                      Bit    Permission Description                                    Permission Value
------------------------  -----  --------------------------------------------------------  ------------------
ExecuteUnrestrictedQuery  8      Execute query without any restrictions on the query form  Not set

Сброс всех разрешений

Вы можете очистить все разрешения маркера для пользователя или группы с помощью команды az devops security reset-all .

az devops security permission reset-all --id
                                        --subject
                                        --token
                                        [--yes]

Параметры

  • id или namespace-id: обязательный. Идентификатор пространства имен безопасности.
  • тема: обязательный. Дескриптор электронной почты или группы пользователя.
  • токен: обязательный. Отдельный маркер безопасности.
  • Да: Необязательно. Не запрашивайте подтверждение.

Пример

Следующая команда очищает все разрешения пользователя contoso@contoso.com в указанном пространстве имен без подтверждения. Результат показан в интерфейсе командной строки.

az devops security permission reset-all --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --yes --output table

Result
--------
True

Просмотр разрешений

Вы можете отобразить разрешения для указанного токена, пространства имен и пользователя или группы с помощью команды az devops security show .

az devops security permission show --id
                                   --subject
                                   --token

Параметры

  • id или namespace-id: обязательный. Идентификатор пространства имен безопасности.
  • тема: обязательный. Дескриптор электронной почты или группы пользователя.
  • токен: обязательный. Отдельный маркер безопасности.

Пример

Следующая команда показывает сведения о разрешениях маркера для пользователя contoso@contoso.com в указанном пространстве имен и возвращает результаты в формате таблицы.

az devops security permission show --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --output table

Name                      Bit    Permission Description                                    Permission Value
------------------------  -----  --------------------------------------------------------  ------------------
Read                      1      View analytics                                            Not set
Administer                2      Manage analytics permissions                              Allow
Stage                     4      Push the data to staging area                             Not set
ExecuteUnrestrictedQuery  8      Execute query without any restrictions on the query form  Not set
ReadEuii                  16     Read EUII data                                            Deny

Обновление разрешений

Вы можете назначить разрешение или запретить разрешения указанному пользователю или группе с помощью команды az devops security permission update.

az devops security permission update --id
                                     --subject
                                     --token
                                     [--allow-bit]
                                     [--deny-bit]
                                     [--merge {false, true}]

Параметры

  • id или namespace-id: обязательный. Идентификатор пространства имен безопасности.
  • тема: обязательный. Дескриптор электронной почты или группы пользователя.
  • токен: обязательный. Отдельный маркер безопасности.
  • allow-bit: необязательный. Разрешить бит или добавление битов. Требуется, если --deny-bit отсутствует.
  • deny-bit: необязательный. Запретить бит или добавление битов. Требуется, если --allow-bit отсутствует.
  • слияние: необязательно. Если задано, существующая запись управления доступом (ACE) имеет его разрешение и запрет с объединением с разрешением и запретом входящего ACE. Если не задано, существующий ACE перемещается. Допустимые значения — false или true.

Пример

Следующая команда обновляет разрешения для ExecuteUnrestrictedQuery (bit 8) для пользователя contoso@contoso.com в указанном пространстве имен и отображает результаты в формате таблицы.

az devops security permission update --allow-bit 8 --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 56af920d-393b-4236-9a07-24439ccaa85c --output table

Name                      Bit    Permission Description                                    Permission Value
------------------------  -----  --------------------------------------------------------  ------------------
ExecuteUnrestrictedQuery  8      Execute query without any restrictions on the query form  Allow

Пространства имен безопасности и их идентификаторы

Дополнительные сведения см . в справочнике по пространству имен безопасности и разрешениям для Azure DevOps.