Condividi tramite


Impostare l'autorizzazione Di visualizzazione per un gruppo in Hook del servizio

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Questo articolo illustra come concedere le autorizzazioni di visualizzazione o modifica per gli hook del servizio in Azure DevOps. Per impostazione predefinita, solo gli amministratori del progetto dispongono di queste autorizzazioni. Per assegnarli ad altri utenti o gruppi, usare lo strumento da riga di comando o l'API REST di sicurezza .

L'ID ServiceHooks dello spazio dei nomi di sicurezza è definito in Elenca spazi dei nomi di sicurezza.

Prerequisiti

Categoria Requisiti
di accesso a Project membro del progetto.
autorizzazioni - Membro del gruppo Amministratori raccolta progetti . I proprietari dell'organizzazione sono automaticamente membri di questo gruppo.
- Token Microsoft Entra o token di accesso personale (PAT) per il profilo Azure DevOps.
> [! IMPORTANTE] > È consigliabile usare i Microsoft Entra tokens, più sicuri rispetto ai token di accesso personale a rischio più elevato. Altre informazioni sui nostri sforzi per ridurre l'utilizzo di PAT. > Esaminare le linee guida per l'autenticazione per scegliere il meccanismo di autenticazione appropriato per le proprie esigenze.
strumenti Interfaccia della riga di comando di Azure.
1. Accedere con az devops login.
2. È possibile definire l'organizzazione come organizzazione predefinita. In caso contrario, definire --org "https://dev.azure.com/{organization}" per ogni comando. az devops configure --defaults organization="https://dev.azure.com/{organization}"
3. Controllare se è possibile visualizzare l'elenco delle autorizzazioni per l'organizzazione: az devops security permission namespace list --org "https://dev.azure.com/{organization}".

Leggere l'identità del gruppo e il token di autorizzazione

  1. Trovare il descrittore di identità del gruppo.

    > az devops security group list --project 00000000-0000-0000-0000-000000000000 --output table
    
    Name                                             Descriptor
    -----------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------------------------
    [TEAM FOUNDATION]\EntraServiceHooksRead          Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2
    

    Se si vuole filtrare in base al nome del gruppo, è possibile usare findstr o grep il comando dipende dal prompt dei comandi.

  2. Ottenere il token di autorizzazione.

    > az devops security permission list --id 00000000-0000-0000-0000-000000000000 --subject <Group or user descriptor> --output table
    
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/00000000-0000-0000-0000-000000000000  0                  0
    

Aggiornare l'autorizzazione di lettura per gli hook del servizio

  1. Elenco delle possibili autorizzazioni che è possibile definire per --allow-bit.

    • Visualizzare le sottoscrizioni
    • Modifica sottoscrizione
    • Eliminare sottoscrizioni
    • Pubblicare eventi
    > az devops security permission namespace show --id 00000000-0000-0000-0000-000000000000
      {
        "actions": [
          {
            "bit": 1,
            "displayName": "View Subscriptions",
            "name": "ViewSubscriptions",
            "namespaceId": "00000000-0000-0000-0000-000000000000"
          },
          {
            "bit": 2,
            "displayName": "Edit Subscription",
            "name": "EditSubscriptions",
            "namespaceId": "00000000-0000-0000-0000-000000000000"
          },
          {
            "bit": 4,
            "displayName": "Delete Subscriptions",
            "name": "DeleteSubscriptions",
            "namespaceId": "00000000-0000-0000-0000-000000000000"
          },
          {
            "bit": 8,
            "displayName": "Publish Events",
            "name": "PublishEvents",
            "namespaceId": "00000000-0000-0000-0000-000000000000"
          }
        ],
        "dataspaceCategory": "Default",
        "displayName": "ServiceHooks",
        "elementLength": -1,
        "extensionType": null,
        "isRemotable": true,
        "name": "ServiceHooks",
        "namespaceId": "00000000-0000-0000-0000-000000000000",
        "readPermission": 1,
        "separatorValue": "/",
        "structureValue": 1,
        "systemBitMask": 0,
        "useTokenTranslator": true,
        "writePermission": 7
      }
    
  2. Impostare Visualizza l'accesso per il gruppo. Visualizzare le sottoscrizioni di ServiceHooks uguale a 1 per --allow-bit.

    > az devops security permission update --namespace-id 00000000-0000-0000-0000-000000000000 --subject <Group or user descriptor> --token PublisherSecurity/00000000-0000-0000-0000-000000000000 --allow-bit 1
    
    [
      {
        "acesDictionary": {
          "Microsoft.TeamFoundation.Identity;00000000-0000-0000-0000-000000000000": {
            "allow": 1,
            "deny": 0,
            "descriptor": "Microsoft.TeamFoundation.Identity;00000000-0000-0000-0000-000000000000",
            "extendedInfo": {
              "effectiveAllow": 1
            },
            "resolvedPermissions": [
              {
                "bit": 1,
                "displayName": "View Subscriptions",
                "effectivePermission": "Allow",
                "name": "ViewSubscriptions"
              }
            ]
          }
        },
        "includeExtendedInfo": true,
        "inheritPermissions": true,
        "token": "PublisherSecurity/00000000-0000-0000-0000-000000000000"
      }
    ]
    
  3. Ottenere il token di autorizzazione per visualizzare le modifiche.

    > az devops security permission list --id 00000000-0000-0000-0000-000000000000 --subject <Group or user descriptor> --output table
    
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/00000000-0000-0000-0000-000000000000  1                  0
    

L'esempio seguente mostra che l'utente può visualizzare le sottoscrizioni degli hook del servizio.

Screenshot che mostra la pagina ServiceHooks con autorizzazione.

Reimpostare tutte le autorizzazioni degli hook del servizio di un gruppo

  • Se è necessario reimpostare tutte le autorizzazioni degli hook del servizio di un gruppo o di un utente, è possibile chiamare reset-all.

    > az devops security permission reset-all --id 00000000-0000-0000-0000-000000000000 --subject <Group or user descriptor> --token PublisherSecurity/00000000-0000-0000-0000-000000000000
    
    Are you sure you want to reset all explicit permissions for this user/group and token? (y/n): Y
    true
    
    > az devops security permission list --id 00000000-0000-0000-0000-000000000000 --subject <Group or user descriptor> --output table
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/00000000-0000-0000-0000-000000000000  0                  0
    
  • L'esempio seguente mostra che l'utente non è in grado di visualizzare le sottoscrizioni degli hook del servizio dopo la reimpostazione dell'autorizzazione.

    Screenshot che mostra la pagina ServiceHooks senza autorizzazione.