Administración de permisos con la herramienta de línea de comandos
de Azure DevOps Services
Los permisos conceden acceso para realizar una acción específica en un recurso específico, tal como se describe en Introducción a permisos, acceso y grupos de seguridad. La mayoría de los permisos se administran a través del portal web. Sin embargo, puede administrar permisos mediante herramientas de línea de comandos o la API REST.
Azure DevOps concede muchos permisos de forma predeterminada a los miembros de los grupos de seguridad predeterminados. Puede agregar y administrar permisos en un nivel más granular con los comandos az devops security permission
. Use estos comandos para:
- Visualización de los permisos asociados a los espacios de nombres de seguridad
- Ver detalles sobre esos permisos
- Actualizar o restablecer permisos
Nota
Los espacios de nombres y los tokens son válidos para todas las versiones de Azure DevOps. Los enumerados aquí son válidos para Azure DevOps 2019 y versiones posteriores. Los espacios de nombres están sujetos a cambios a lo largo del tiempo. Para obtener la lista más reciente de espacios de nombres, ejecute una de las herramientas de línea de comandos o la API REST. Algunos espacios de nombres han quedado en desuso, como se muestra en el espacio de nombres y la referencia de permisos de seguridad de , espacios de nombres en desuso y de solo lectura..
Prerrequisitos
- Permisos: ser miembro del grupo de seguridad de Administradores de colecciones de proyectos. Para obtener más información sobre los tokens, consulte Referencia de permisos y espacio de nombres de seguridad.
-
Tools: instale 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 mediante
az login
. - Para ver los ejemplos de este artículo, establezca la organización predeterminada de la siguiente manera:
-
de Azure DevOps Services:
az devops configure --defaults organization=YourOrganizationURL
. -
azure DevOps Server:
az devops configure --defaults organization=https://ServerName/CollectionName
-
de Azure DevOps Services:
- Inicie sesión en Azure DevOps mediante
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 rest de seguridad de
Mandar | Descripción |
---|---|
az devops security permission list |
Enumera los tokens para el usuario o grupo y el espacio de nombres especificados. |
az devops security permission namespace list |
Enumere 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 |
Restablezca el permiso para los bits de permisos especificados. |
az devops security permission reset-all |
Borre 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 permiso de permiso o denegación al usuario o grupo especificados. |
Los parámetros siguientes son opcionales para todos los comandos y no se enumeran en los ejemplos proporcionados en este artículo.
- detectar: detectar automáticamente la organización. Valores aceptados: false, true. El valor predeterminado es true.
-
organización: 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 está configurado como predeterminado o seleccionado a través de la configuración de Git. Ejemplo:
--org https://dev.azure.com/MyOrganizationName/
.
Enumeración de 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. Para obtener una descripción de todos los espacios de nombres de seguridad y los tokens asociados, consulte Referencia de permisos y espacio de nombres de seguridad.
az devops security permission namespace list [--local-only]
Parámetros
solo local: opcional. Si es true, recupere solo los espacios de nombres de seguridad local.
Es posible que los espacios de nombres de seguridad tengan sus datos administrados en un microservicio, pero siguen siendo visibles en otros microservicios. Si los datos de un espacio de nombres de seguridad se administran en microservicio X, es local para ese microservicio. De lo contrario, 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 en desuso y no se deben usar. Para obtener una lista de los espacios de nombres en desuso, consulte la referencia de espacio de nombres , Espacios de nombres en desuso 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: Enumeración de espacios de nombres de seguridad local
El comando siguiente muestra solo los espacios de nombres de seguridad local de la 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
Enumeración de tokens para un espacio de nombres de seguridad
Puede enumerar los tokens de un espacio de nombres y un usuario o grupo especificados con el comando az devops security permission list.
az devops security permission list --id
--subject
[--recurse]
[--token]
Parámetros
-
- id. o de id. de espacio de nombres: obligatorio. Identificador del espacio de nombres de seguridad. Para obtener el identificador, use el comando az devops security permission namespace list.
- asunto: obligatorio. Dirección de correo electrónico o 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 enumera los tokens en formato de tabla para el espacio de nombres especificado, que corresponde a Analytics y asociado 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
Muestre los detalles de los permisos disponibles en cada espacio de nombres con el az devops security permission namespace show comando.
az devops security permission namespace show --namespace-id <NAMESPACE_ID>
Parámetros
- id. o de id. de 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
Restablecimiento de permisos
Restablezca los bits de permiso de un usuario o grupo especificados con el comando az devops security permission reset.
az devops security permission reset --id
--permission-bit
--subject
--token
Parámetros
- id. o de id. de espacio de nombres: obligatorio. Identificador del espacio de nombres de seguridad.
- de permisos: obligatorio. Bit de permiso o adición de bits de permiso que se deben restablecer para un usuario o grupo y token especificados.
- asunto: obligatorio. Dirección de correo electrónico o descriptor de grupo del usuario.
- token: obligatorio. Token de seguridad individual.
Ejemplo
El siguiente comando restablece el bit de permiso de un token 8 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
- id. o de id. de espacio de nombres: obligatorio. Identificador del espacio de nombres de seguridad.
- asunto: obligatorio. Dirección de correo electrónico o descriptor de grupo del usuario.
- token: obligatorio. Token de seguridad individual.
- sí: opcional. No pida confirmación.
Ejemplo
El comando siguiente 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 grupo especificados con el comando az devops security permission show.
az devops security permission show --id
--subject
--token
Parámetros
- id. o de id. de espacio de nombres: obligatorio. Identificador del espacio de nombres de seguridad.
- asunto: obligatorio. Dirección de correo electrónico o descriptor de grupo del usuario.
- token: obligatorio. Token de seguridad individual.
Ejemplo
El comando siguiente 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
Permisos de actualización
Puede asignar permitir o denegar permisos a un usuario o grupo especificados 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
- id. o del espacio de nombres : obligatorio. el 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. un token de seguridad individual.
- allow-bit: Opcional. Especifica el bit permitido o agrega más bits. obligatorio si no se proporciona de bits de denegación.
-
de bits de denegación: opcional. Especifica el bit de denegación o agrega otros bits.
obligatorio si no se proporciona de bits permitidos. -
combinar: opcional. Determina si se va a combinar con entradas de control de acceso existentes (ACE).
- Si se establece en true, los ACE existentes permiten y deniegan permisos se combinan con esos permisos de la ACE entrante.
- Si se establece en false o se omite, se reemplaza la ACE existente.
- Los valores aceptados son
true
ofalse
.
Ejemplo
El siguiente comando actualiza los permisos para 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 Referencia de permisos y espacio de nombres de seguridad para Azure DevOps.