Administrar permisos con la herramienta de línea de comandos

Azure DevOps Services | Azure DevOps Server 2020

Los permisos conceden acceso para realizar una acción específica en un recurso específico, tal y como se describe en Introducción a los permisos, el acceso y los grupos de seguridad. La mayoría de los permisos se administran a través del portal web. Sin embargo, puede administrar los permisos mediante herramientas de línea de comandos o la API de REST.

Azure DevOps concede a los miembros de los grupos de seguridad predeterminados una serie de permisos de forma predeterminada. Puede Agregar y administrar permisos en un nivel más granular con los az devops security permission comandos. Use estos comandos para:

  • Ver los permisos asociados a los espacios de nombres de seguridad
  • Ver detalles sobre esos permisos
  • Permisos de actualización o restablecimiento

Requisitos previos

  • Para administrar los tokens y los espacios de nombres, debe ser miembro del grupo de seguridad administradores de la colección de proyectos. Para obtener más información sobre los tokens, vea seguridad espacio de nombres y referencia de permisos.
  • Debe tener instalada la extensión de la CLI de Azure DevOps como se describe en Introducción a la CLI de Azure DevOps.
  • Inicie sesión en Azure DevOps con az login .
  • Para ver los ejemplos de este artículo, establezca la organización predeterminada de la siguiente manera:
    • Por Azure DevOps Services: az devops configure --defaults organization=YourOrganizationURL .
    • Por Azure DevOps Server: az devops configure --defaults organization=https://ServerName/CollectionName

Comandos de permisos de seguridad

Escriba el siguiente comando para enumerar todos los comandos disponibles.

az devops security permission -h

Para obtener más información sobre los conceptos relacionados con los permisos de seguridad, consulte la documentación de la API de REST de seguridad .

Comando Descripción
az devops security permission list Enumerar los tokens para el usuario o grupo y espacio de nombres especificados.
az devops security permission namespace list Enumera todos los espacios de nombres disponibles para una organización.
az devops security permission namespace show Mostrar detalles de los permisos disponibles en cada espacio de nombres.
az devops security permission reset Restablecer el permiso para los bits de permiso especificados.
az devops security permission reset-all Desactive todos los permisos de este token para un usuario o grupo.
az devops security permission show Mostrar permisos para el token, el espacio de nombres y el usuario o grupo especificados.
az devops security permission update Asigne el permiso permitir o denegar al usuario o grupo especificado.

Los parámetros siguientes son opcionales para todos los comandos y no se muestran en los ejemplos que se proporcionan en este artículo.

  • detectar: detectar automáticamente la organización. Valores aceptados: false, true. El valor predeterminado es true.
  • org: dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante AZ DevOps configure-d Organization = ORG_URL. Obligatorio si no se ha configurado como predeterminado o se ha seleccionado a través de la configuración de Git. Ejemplo: --org https://dev.azure.com/MyOrganizationName/ .

Enumerar espacios de nombres de seguridad

Puede enumerar todos los espacios de nombres disponibles para una organización con el comando AZ DevOps Security Permission namespace List . Para obtener una descripción de todos los espacios de nombres de seguridad y los tokens asociados, consulte seguridad y referencia de permisos.

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

Parámetros

  • solo local: opcional. Si es true, solo se recuperan los espacios de nombres de seguridad local.

    Los espacios de nombres de seguridad pueden tener sus datos maestros en un microservicio, pero siguen siendo visibles en otros microservicios. Si los datos de un espacio de nombres de seguridad están maestros en microservicio X, se dice que son locales para ese microservicio. De lo contrario, se dice que es remoto.

Escriba az devops security permission namespace list para enumerar los espacios de nombres definidos para la organización o el servidor local.

Nota

Algunos espacios de nombres enumerados están desusados y no se deben usar. Para obtener una lista de espacios de nombres en desuso, vea los espacios de nombres referencia de espacio de nombres , desusado y de solo lectura.

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

Ejemplo: enumerar los espacios de nombres de seguridad local

El siguiente comando muestra solo los espacios de nombres de seguridad local para su organización y muestra los resultados en formato de tabla.

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

Enumerar tokens para un espacio de nombres de seguridad

Puede enumerar los tokens para un espacio de nombres especificado y un usuario o grupo con el comando AZ DevOps Security Permission List .

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

Parámetros

  • asunto: obligatorio. La dirección de correo electrónico o el descriptor de grupo del usuario.
  • RECURSE: opcional. Si es true y el espacio de nombres es jerárquico, este parámetro devuelve las ACL secundarias de los tokens.
  • token: opcional. Especifique un token de seguridad individual.

Ejemplo

El siguiente comando muestra los tokens en formato de tabla para el espacio de nombres especificado, que corresponde a Analytics y se asocia al usuario 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 detalles del espacio de nombres

Puede mostrar los detalles de los permisos disponibles en cada espacio de nombres con el comando AZ DevOps Security Permission namespace show .

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

Parámetros

  • identificador o espacio de nombres: obligatorio. IDENTIFICADOR del espacio de nombres de seguridad.

Ejemplo

El siguiente comando muestra los detalles de los permisos disponibles para el identificador de espacio de nombres especificado y devuelve los resultados en formato de tabla.

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

Restablecer permisos

Puede restablecer los bits de permiso para un usuario o grupo específico con el comando AZ DevOps Security Permission RESET .

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

Parámetros

  • identificador o espacio de nombres: obligatorio. IDENTIFICADOR del espacio de nombres de seguridad.
  • bit de permiso: obligatorio. Bit de permiso o adición de bits de permiso que debe restablecerse para el usuario o el grupo y el token determinados.
  • asunto: obligatorio. La dirección de correo electrónico o el descriptor de grupo del usuario.
  • token: obligatorio. Token de seguridad individual.

Ejemplo

El siguiente comando restablece el bit 8 de permiso de un token para el usuario contoso@contoso.com en el espacio de nombres especificado y devuelve los resultados en formato de tabla.

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

Restablecer todos los permisos

Puede borrar todos los permisos de un token para un usuario o grupo con el comando AZ DevOps Security Permission Reset-all .

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

Parámetros

  • identificador o espacio de nombres: obligatorio. IDENTIFICADOR del espacio de nombres de seguridad.
  • asunto: obligatorio. La dirección de correo electrónico o el descriptor de grupo del usuario.
  • token: obligatorio. Token de seguridad individual.
  • : opcional. No pedir confirmación.

Ejemplo

El siguiente comando borra todos los permisos para el usuario contoso@contoso.com en el espacio de nombres especificado sin necesidad de confirmación. El resultado se muestra en la 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

Mostrar permisos

Puede mostrar los permisos de un token, un espacio de nombres y un usuario o grupo especificados con el comando AZ DevOps Security Permission show .

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

Parámetros

  • identificador o espacio de nombres: obligatorio. IDENTIFICADOR del espacio de nombres de seguridad.
  • asunto: obligatorio. La dirección de correo electrónico o el descriptor de grupo del usuario.
  • token: obligatorio. Token de seguridad individual.

Ejemplo

El siguiente comando muestra los detalles de permisos de un token para el usuario contoso@contoso.com en el espacio de nombres especificado y devuelve los resultados en formato de tabla.

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

Actualizar permisos

Puede asignar permisos permitir o denegar a un usuario o grupo específico con el comando AZ DevOps Security Permission Update .

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

Parámetros

  • identificador o espacio de nombres: obligatorio. IDENTIFICADOR del espacio de nombres de seguridad.
  • asunto: obligatorio. La dirección de correo electrónico o el descriptor de grupo del usuario.
  • token: obligatorio. Token de seguridad individual.
  • Allow-bit: opcional. Permite el bit o la adición de bits. Obligatorio si falta --Deny-bit .
  • Deny-bit: opcional. Bit de denegación o adición de bits. Obligatorio si falta --Allow-bit .
  • Merge: opcional. Si se establece, la entrada de control de acceso (ACE) existente tiene la opción permitir y denegar combinada con la opción permitir y denegar de la ACE entrante. Si no se anula, se desplazará la ACE existente. Los valores aceptados son false o true.

Ejemplo

El siguiente comando actualiza los permisos de ExecuteUnrestrictedQuery (bit 8) para el usuario contoso@contoso.com en el espacio de nombres especificado y muestra los resultados en formato de tabla.

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

Espacios de nombres de seguridad y sus identificadores

Consulte el espacio de nombres de seguridad y la referencia de permisos para Azure DevOps.