Gestire le autorizzazioni con lo strumento da riga di comando

Servizi di Azure DevOps

Le autorizzazioni concedono l'accesso per eseguire un'azione specifica su una risorsa specifica, come descritto in Introduzione alle autorizzazioni, all'accesso e ai gruppi di sicurezza. È possibile gestire la maggior parte delle autorizzazioni tramite il portale Web. È tuttavia possibile gestire le autorizzazioni usando gli strumenti da riga di comando o l'API REST.

Azure DevOps concede una serie di autorizzazioni per impostazione predefinita ai membri dei gruppi di sicurezza predefiniti. È possibile aggiungere e gestire le autorizzazioni a un livello più granulare con i az devops security permission comandi. Usare questi comandi per:

  • Visualizzare le autorizzazioni associate agli spazi dei nomi di sicurezza
  • Visualizzare i dettagli su tali autorizzazioni
  • Aggiornare o reimpostare le autorizzazioni

Nota

Gli spazi dei nomi e i token sono validi per tutte le versioni di Azure DevOps. Quelli elencati di seguito sono validi per Azure DevOps 2019 e versioni successive. Gli spazi dei nomi sono soggetti a modifiche nel tempo. Per ottenere l'elenco più recente di spazi dei nomi, eseguire uno degli strumenti da riga di comando o dell'API REST. Alcuni spazi dei nomi sono stati deprecati, come indicato nello spazio dei nomi Sicurezza e nel riferimento alle autorizzazioni, deprecati e di sola lettura.

Prerequisiti

  • Per gestire token e spazi dei nomi, è necessario essere membri del gruppo di sicurezza Project Collection Amministrazione istrators. Per altre informazioni sui token, vedere Informazioni di riferimento sullo spazio dei nomi e sulle autorizzazioni di sicurezza.
  • È necessario aver installato l'estensione dell'interfaccia della riga di comando di Azure DevOps come descritto in Introduzione all'interfaccia della riga di comando di Azure DevOps.
  • Accedere ad Azure DevOps usando az login.
  • Per gli esempi in questo articolo, impostare l'organizzazione predefinita come segue:
    • Per Azure DevOps Services: az devops configure --defaults organization=YourOrganizationURL.
    • Per Azure DevOps Server: az devops configure --defaults organization=https://ServerName/CollectionName

Comandi di autorizzazione di sicurezza

Immettere il comando seguente per elencare tutti i comandi disponibili.

az devops security permission -h

Per altre informazioni sui concetti relativi alle autorizzazioni di sicurezza, vedere la documentazione dell'API REST di sicurezza

Comando Descrizione
az devops security permission list Elencare i token per l'utente o il gruppo e lo spazio dei nomi specificati.
az devops security permission namespace list Elencare tutti gli spazi dei nomi disponibili per un'organizzazione.
az devops security permission namespace show Mostra i dettagli delle autorizzazioni disponibili in ogni spazio dei nomi.
az devops security permission reset Reimpostare l'autorizzazione per i bit di autorizzazione specificati.
az devops security permission reset-all Cancellare tutte le autorizzazioni di questo token per un utente o un gruppo.
az devops security permission show Mostra le autorizzazioni per token, spazio dei nomi e gruppo specificati.
az devops security permission update Assegnare l'autorizzazione consenti o negata all'utente o al gruppo specificato.

I parametri seguenti sono facoltativi per tutti i comandi e non sono elencati negli esempi forniti in questo articolo.

  • detect: rileva automaticamente l'organizzazione. Valori accettati: false, true. Il valore predefinito è true.
  • org: URL dell'organizzazione di Azure DevOps. È possibile configurare l'organizzazione predefinita usando az devops configure -d organization=ORG_URL. Obbligatorio se non è configurato come predefinito o selezionato tramite git config. Esempio: --org https://dev.azure.com/MyOrganizationName/.

Elencare gli spazi dei nomi di sicurezza

È possibile elencare tutti gli spazi dei nomi disponibili per un'organizzazione con il comando az devops security permission namespace list . Per una descrizione di tutti gli spazi dei nomi di sicurezza e dei token associati, vedere Informazioni di riferimento su spazio dei nomi e autorizzazioni per la sicurezza.

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

Parametri

  • solo locale: facoltativo. Se true, recuperare solo gli spazi dei nomi di sicurezza locali.

    Gli spazi dei nomi di sicurezza possono avere i dati master in un microservizio, ma sono comunque visibili in altri microservizi. Se i dati di uno spazio dei nomi di sicurezza vengono masterati in microservizi X, si dice che siano locali per tale microservizio. In caso contrario, si dice che sia remoto.

Immettere az devops security permission namespace list per elencare gli spazi dei nomi definiti per l'organizzazione o il server locale.

Nota

Alcuni spazi dei nomi elencati sono deprecati e non devono essere usati. Per un elenco degli spazi dei nomi deprecati, vedere Informazioni di riferimento sullo spazio dei nomi Deprecato e di sola lettura.

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

Esempio: Elencare gli spazi dei nomi di sicurezza locali

Il comando seguente elenca solo gli spazi dei nomi di sicurezza locali per l'organizzazione e mostra i risultati in formato tabella.

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

Elencare i token per uno spazio dei nomi di sicurezza

È possibile elencare i token per uno spazio dei nomi e un utente o un gruppo specificati con il comando az devops security permission list .

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

Parametri

  • subject: obbligatorio. L'indirizzo di posta elettronica o il descrittore di gruppo dell'utente.
  • recurse: facoltativo. Se true e lo spazio dei nomi è gerarchico, questo parametro restituisce gli ACL figlio dei token.
  • token: facoltativo. Specificare un singolo token di sicurezza.

Esempio

Il comando seguente elenca i token in formato tabella per lo spazio dei nomi specificato, che corrisponde ad Analytics e associato all'utente 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

Mostra i dettagli dello spazio dei nomi

È possibile visualizzare i dettagli delle autorizzazioni disponibili in ogni spazio dei nomi con il comando az devops security permission namespace show .

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

Parametri

  • id o namespace-id: obbligatorio. ID dello spazio dei nomi di sicurezza.

Esempio

Il comando seguente mostra i dettagli delle autorizzazioni disponibili per l'ID dello spazio dei nomi specificato e restituisce i risultati in formato tabella.

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

Reimpostare le autorizzazioni

È possibile reimpostare i bit di autorizzazione per un utente o un gruppo specificato con il comando az devops security permission reset .

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

Parametri

  • id o namespace-id: obbligatorio. ID dello spazio dei nomi di sicurezza.
  • permission-bit: obbligatorio. Bit di autorizzazione o aggiunta di bit di autorizzazione che devono essere reimpostati per un determinato utente o gruppo e token.
  • subject: obbligatorio. L'indirizzo di posta elettronica o il descrittore di gruppo dell'utente.
  • token: obbligatorio. Token di sicurezza individuale.

Esempio

Il comando seguente reimposta il bit 8 dell'autorizzazione di un token per l'utente contoso@contoso.com nello spazio dei nomi specificato e restituisce i risultati in formato tabella.

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

Reimpostare tutte le autorizzazioni

È possibile cancellare tutte le autorizzazioni di un token per un utente o un gruppo con il comando az devops security permission reset-all .

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

Parametri

  • id o namespace-id: obbligatorio. ID dello spazio dei nomi di sicurezza.
  • subject: obbligatorio. L'indirizzo di posta elettronica o il descrittore di gruppo dell'utente.
  • token: obbligatorio. Token di sicurezza individuale.
  • : facoltativo. Non richiedere conferma.

Esempio

Il comando seguente cancella tutte le autorizzazioni per l'utente contoso@contoso.com nello spazio dei nomi specificato senza richiedere conferma. Il risultato viene visualizzato nell'interfaccia della riga di comando.

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

Visualizzare le autorizzazioni

È possibile visualizzare le autorizzazioni per un token, uno spazio dei nomi e un gruppo specificati con il comando az devops security permission show .

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

Parametri

  • id o namespace-id: obbligatorio. ID dello spazio dei nomi di sicurezza.
  • subject: obbligatorio. L'indirizzo di posta elettronica o il descrittore di gruppo dell'utente.
  • token: obbligatorio. Token di sicurezza individuale.

Esempio

Il comando seguente mostra i dettagli dell'autorizzazione di un token per l'utente contoso@contoso.com nello spazio dei nomi specificato e restituisce i risultati in formato tabella.

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

Aggiornare le autorizzazioni

È possibile assegnare autorizzazioni consentite o negate a un utente o a un gruppo specificato con il comando az devops security permission update .

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

Parametri

  • id o namespace-id: obbligatorio. ID dello spazio dei nomi di sicurezza.
  • subject: obbligatorio. L'indirizzo di posta elettronica o il descrittore di gruppo dell'utente.
  • token: obbligatorio. Token di sicurezza individuale.
  • allow-bit: facoltativo. Consenti bit o addizione di bit. Obbligatorio se manca --deny-bit .
  • deny-bit: facoltativo. Nega bit o addizione di bit. Obbligatorio se manca --allow-bit .
  • merge: facoltativo. Se impostato, la voce di controllo di accesso (ACE) esistente ha il relativo consenti e nega unione con l'autorizzazione e la negazione dell'ace in ingresso. Se non è impostato, l'ace esistente viene spostato. I valori accettati sono false o true.

Esempio

Il comando seguente aggiorna le autorizzazioni per ExecuteUnrestrictedQuery (bit 8) per l'utente contoso@contoso.com nello spazio dei nomi specificato e mostra i risultati in formato tabella.

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

Spazi dei nomi di sicurezza e i relativi ID

Vedere Informazioni di riferimento su Spazio dei nomi e autorizzazioni di sicurezza per Azure DevOps.