Gerenciar permissões com a ferramenta de linha de comando

Azure DevOps Services

As permissões concedem acesso para executar uma ação específica em um recurso específico, conforme descrito em Introdução às permissões, acesso e grupos de segurança. Você gerencia a maioria das permissões por meio do portal da Web. No entanto, você pode gerenciar permissões usando ferramentas de linha de comando ou a API REST.

O Azure DevOps concede várias permissões por padrão a membros de grupos de segurança padrão. Você pode adicionar e gerenciar permissões em um nível mais granular com os az devops security permission comandos. Use estes comandos para:

  • Exibir as permissões associadas aos namespaces de segurança
  • Exibir detalhes sobre essas permissões
  • Atualizar ou redefinir permissões

Observação

Namespaces e tokens são válidos para todas as versões do Azure DevOps. Os listados aqui são válidos para o Azure DevOps 2019 e versões posteriores. Os namespaces estão sujeitos a alterações ao longo do tempo. Para obter a lista mais recente de namespaces, exerça uma das ferramentas de linha de comando ou a API REST. Alguns namespaces foram preteridos conforme listado no namespace de segurança e referência de permissão, Namespaces preteridos e somente leitura..

Pré-requisitos

  • Para gerenciar tokens e namespaces, você deve ser membro do grupo de segurança Administradores de Coleção de Projetos. Para obter mais informações sobre tokens, consulte Namespace de segurança e referência de permissão.
  • Você precisa ter instalado a extensão da CLI do Azure DevOps, conforme descrito em Introdução à CLI do Azure DevOps.
  • Entre no Azure DevOps usando az login.
  • Para os exemplos neste artigo, defina a organização padrão da seguinte maneira:
    • Para os Serviços de DevOps do Azure: az devops configure --defaults organization=YourOrganizationURL.
    • Para o Servidor de DevOps do Azure: az devops configure --defaults organization=https://ServerName/CollectionName

Comandos de permissão de segurança

Digite o comando a seguir para listar todos os comandos disponíveis.

az devops security permission -h

Para obter mais informações sobre conceitos relacionados a permissões de segurança, consulte a documentação da API REST de segurança

Comando Descrição
az devops security permission list Listar tokens para usuário ou grupo e namespace especificados.
az devops security permission namespace list Listar todos os namespaces disponíveis para uma organização.
az devops security permission namespace show Mostrar detalhes das permissões disponíveis em cada namespace.
az devops security permission reset Redefinir a permissão para o(s) bit(s) de permissão especificado(s).
az devops security permission reset-all Limpe todas as permissões desse token para um usuário ou grupo.
az devops security permission show Mostrar permissões para token, namespace e usuário ou grupo especificados.
az devops security permission update Atribua permissão ou negação a usuário ou grupo especificado.

Os parâmetros a seguir são opcionais para todos os comandos e não estão listados nos exemplos fornecidos neste artigo.

  • detect: detectar a organização automaticamente. Valores aceitos: falso, verdadeiro. O padrão é verdadeiro.
  • org: URL da organização do Azure DevOps. Você pode configurar a organização padrão usando az devops configure -d organization=ORG_URL. Obrigatório se não estiver configurado como padrão ou selecionado por meio de git config. Exemplo: --org https://dev.azure.com/MyOrganizationName/.

Listar namespaces de segurança

Você pode listar todos os namespaces disponíveis para uma organização com o comando az devops security permission namespace list . Para obter uma descrição de todos os namespaces de segurança e tokens associados, consulte Namespace de segurança e referência de permissão.

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

Parâmetros

  • somente local: Opcional. Se true, recupere apenas namespaces de segurança locais.

    Os namespaces de segurança podem ter seus dados dominados em um microsserviço, mas ainda estar visíveis em outros microsserviços. Se os dados de um namespace de segurança forem dominados no microsserviço X, ele será considerado local para esse microsserviço. Caso contrário, diz-se que é remoto.

Entre az devops security permission namespace list para listar os namespaces definidos para sua organização ou servidor local.

Observação

Alguns namespaces listados foram preteridos e não devem ser usados. Para obter uma lista de namespaces preteridos, consulte Referência de namespace, Namespaces preteridos e somente leitura.

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

Exemplo: Listar namespaces de segurança locais

O comando a seguir lista apenas os namespaces de segurança locais para sua organização e mostra os resultados em formato de tabela.

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

Listar tokens para um namespace de segurança

Você pode listar os tokens para um namespace especificado e usuário ou grupo com o comando az devops security permission list .

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

Parâmetros

  • assunto: Obrigatório. O endereço de e-mail ou descritor de grupo do usuário.
  • recurse: Opcional. Se true, e o namespace for hierárquico, esse parâmetro retornará as ACLs filhas dos tokens.
  • token: Opcional. Especifique um token de segurança individual.

Exemplo

O comando a seguir lista os tokens em formato de tabela para o namespace especificado, que corresponde ao Google Analytics e associado ao usuário 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

Mostrar detalhes do namespace

Você pode mostrar detalhes das permissões disponíveis em cada namespace com o comando az devops security permission namespace show .

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

Parâmetros

  • id ou namespace-id: Obrigatório. ID do namespace de segurança.

Exemplo

O comando a seguir mostra detalhes das permissões disponíveis para a ID de namespace especificada e retorna os resultados em formato de tabela.

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

Redefinir permissões

Você pode redefinir os bits de permissão para um usuário ou grupo especificado com o comando az devops security permission reset .

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

Parâmetros

  • id ou namespace-id: Obrigatório. ID do namespace de segurança.
  • permission-bit: Obrigatório. Bit de permissão ou adição de bits de permissão que precisam ser redefinidos para determinado usuário ou grupo e token.
  • assunto: Obrigatório. O endereço de e-mail ou descritor de grupo do usuário.
  • token: Obrigatório. Token de segurança individual.

Exemplo

O comando a seguir redefine o bit de permissão 8 de um token para o usuário contoso@contoso.com no namespace especificado e retorna os resultados no formato de tabela.

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

Redefinir todas as permissões

Você pode limpar todas as permissões de um token para um usuário ou grupo com o comando az devops security permission reset-all .

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

Parâmetros

  • id ou namespace-id: Obrigatório. ID do namespace de segurança.
  • assunto: Obrigatório. O endereço de e-mail ou descritor de grupo do usuário.
  • token: Obrigatório. Token de segurança individual.
  • yes: opcional. Não solicita confirmação.

Exemplo

O comando a seguir limpa todas as permissões para o usuário contoso@contoso.com no namespace especificado sem exigir confirmação. O resultado é mostrado na CLI.

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

Mostre as permissões

Você pode mostrar as permissões para um token, namespace e usuário ou grupo especificados com o comando az devops security permission show .

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

Parâmetros

  • id ou namespace-id: Obrigatório. ID do namespace de segurança.
  • assunto: Obrigatório. O endereço de e-mail ou descritor de grupo do usuário.
  • token: Obrigatório. Token de segurança individual.

Exemplo

O comando a seguir mostra os detalhes de permissão de um token para o usuário contoso@contoso.com no namespace especificado e retorna os resultados em formato de tabela.

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

Permissões de atualização

Você pode atribuir permissões de permissão ou negação a um usuário ou grupo especificado com o comando az devops security permission update .

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

Parâmetros

  • id ou namespace-id: Obrigatório. ID do namespace de segurança.
  • assunto: Obrigatório. O endereço de e-mail ou descritor de grupo do usuário.
  • token: Obrigatório. Token de segurança individual.
  • allow-bit: Opcional. Permitir bit ou adição de bits. Obrigatório se --deny-bit estiver ausente.
  • deny-bit: Opcional. Negar bit ou adição de bits. Obrigatório se --allow-bit estiver ausente.
  • mesclar: Opcional. Se definida, a entrada de controle de acesso (ACE) existente terá sua permissão e negação mescladas com as ACE de entrada permitir e negar. Se não estiver configurada, a ACE existente será deslocada. Os valores aceitos são falsos ou verdadeiros.

Exemplo

O comando a seguir atualiza as permissões para ExecuteUnrestrictedQuery (bit 8) para o usuário contoso@contoso.com no namespace especificado e mostra os resultados em formato de tabela.

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

Namespaces de segurança e suas IDs

Consulte Namespace de segurança e referência de permissão para o Azure DevOps.