Udostępnij za pośrednictwem


Ustawianie uprawnień do wyświetlania dla grupy w punktach zaczepienia usługi

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Domyślnie tylko administratorzy projektu mają uprawnienia Wyświetl lub Edytuj . Aby udzielić tych uprawnień innym użytkownikom bezpośrednio, możesz użyć narzędzia wiersza polecenia lub interfejsu API REST zabezpieczeń .

Zrzut ekranu przedstawiający stronę elementów servicehook bez uprawnień.

Identyfikator ServiceHooks przestrzeni nazw zabezpieczeń jest definiowany w obszarze Listy przestrzeni nazw zabezpieczeń jako cb594ebe-87dd-4fc9-ac2c-6a10a4c92046

Wymagania wstępne

Kategoria Wymagania
dostęp do programu Project Access Członek projektu.
Uprawnienia - Członek grupy Administratorzy kolekcji Projektu . Właściciele organizacji są automatycznie członkami tej grupy.
- osobisty token dostępu (PAT) profilu usługi Azure DevOps.
Narzędzia interfejs wiersza polecenia Azure.
1. Zaloguj się przy użyciu az devops login.
2. Możesz zdefiniować organizację jako domyślną organizację. W przeciwnym razie zdefiniuj --org "https://dev.azure.com/{organization}" dla każdego polecenia. az devops configure --defaults organization="https://dev.azure.com/{organization}"
3. Sprawdź, czy możesz wyświetlić listę uprawnień dla organizacji: az devops security permission namespace list --org "https://dev.azure.com/{organization}".

Odczytywanie tożsamości grupy i tokenu uprawnień

  1. Znajdź deskryptor tożsamości grupy.

    > az devops security group list --project ac515e82-560c-4af8-845b-9f7f968d8e7b --output table
    
    Name                                             Descriptor
    -----------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------------------------
    [TEAM FOUNDATION]\EntraServiceHooksRead          aadgp.Uy0xLTktMTU1MTM3NDI0NS0xMjA0NDAwOTY5LTI0MDI5ODY0MTMtMjE3OTQwODYxNi0zLTM5NTQxNzM3ODYtMTUyMTA4MTkyNS0yNTQwNTA4MjYzLTMzNDgxNjQxNjg
    

    Jeśli chcesz filtrować według nazwy grupy, możesz użyć polecenia findstr lub grep zależnie od wiersza polecenia.

  2. Uzyskiwanie tokenu uprawnień.

    > az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table
    
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b  0                  0
    

Aktualizowanie uprawnień do odczytu dla punktów zaczepienia usługi

  1. Lista możliwych uprawnień, które można zdefiniować dla --allow-bitelementu .

    • Wyświetlanie subskrypcji
    • Edytuj subskrypcję
    • Usuwanie subskrypcji
    • Publikowanie zdarzeń
    > az devops security permission namespace show --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046
    
    [
      {
        "actions": [
          {
            "bit": 1,
            "displayName": "View Subscriptions",
            "name": "ViewSubscriptions",
            "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046"
          },
          {
            "bit": 2,
            "displayName": "Edit Subscription",
            "name": "EditSubscriptions",
            "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046"
          },
          {
            "bit": 4,
            "displayName": "Delete Subscriptions",
            "name": "DeleteSubscriptions",
            "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046"
          },
          {
            "bit": 8,
            "displayName": "Publish Events",
            "name": "PublishEvents",
            "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046"
          }
        ],
        "dataspaceCategory": "Default",
        "displayName": "ServiceHooks",
        "elementLength": -1,
        "extensionType": null,
        "isRemotable": true,
        "name": "ServiceHooks",
        "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046",
        "readPermission": 1,
        "separatorValue": "/",
        "structureValue": 1,
        "systemBitMask": 0,
        "useTokenTranslator": true,
        "writePermission": 7
      }
    
  2. Ustaw pozycję Wyświetl dostęp dla grupy. Wyświetl subskrypcje elementów servicehook równe 1 dla --allow-bitelementu .

    > az devops security permission update --namespace-id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --token PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b --allow-bit 1
    
    [
      {
        "acesDictionary": {
          "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-3-3954173786-1521081925-2540508263-3348164168": {
            "allow": 1,
            "deny": 0,
            "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-3-3954173786-1521081925-2540508263-3348164168",
            "extendedInfo": {
              "effectiveAllow": 1
            },
            "resolvedPermissions": [
              {
                "bit": 1,
                "displayName": "View Subscriptions",
                "effectivePermission": "Allow",
                "name": "ViewSubscriptions"
              }
            ]
          }
        },
        "includeExtendedInfo": true,
        "inheritPermissions": true,
        "token": "PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b"
      }
    ]
    
  3. Uzyskaj token uprawnień, aby zobaczyć zmiany.

    > az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table
    
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b  1                  0
    

W poniższym przykładzie pokazano, że użytkownik może zobaczyć subskrypcje punktów zaczepienia usługi.

Zrzut ekranu przedstawiający stronę elementów servicehook z uprawnieniami.

Resetowanie wszystkich uprawnień punktów zaczepienia usługi dla grupy

  • Jeśli musisz zresetować wszystkie uprawnienia punktów zaczepienia usługi dla grupy lub użytkownika, możesz wywołać metodę reset-all.

    > az devops security permission reset-all --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --token PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b
    
    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 cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b  0                  0
    
  • W poniższym przykładzie pokazano, że użytkownik nie może wyświetlić subskrypcji punktów zaczepienia usługi po zresetowaniu uprawnień.

    Zrzut ekranu przedstawiający stronę elementów servicehook bez uprawnień.