Freigeben über


Festlegen der Berechtigung "Ansicht" für eine Gruppe in Service Hooks

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

In diesem Artikel wird erläutert, wie Sie Service Hooks in Azure DevOps anzeigen oder bearbeiten können. Standardmäßig verfügen nur Project-Administratoren über diese Berechtigungen. Um sie anderen Benutzern oder Gruppen zuzuweisen, verwenden Sie das Befehlszeilentool oder die Sicherheits-REST-API.

Die ServiceHooks Sicherheitsnamespace-ID wird unter List Security Namespaces definiert.

Voraussetzungen

Kategorie Anforderungen
Projektzugang Projektmitglied.
Berechtigungen - Mitglied der Gruppe Projektsammlungsadministratoren. Organisationsbesitzer sind automatisch Mitglieder dieser Gruppe.
- Microsoft Entra-Token oder persönliches Zugriffstoken (PAT) für Ihr Azure DevOps-Profil.
> [! WICHTIG] > Wir empfehlen die sichereren Microsoft Entra-Token gegenüber token mit höherem Risiko für persönliche Zugriffstoken. Erfahren Sie mehr über unsere Bemühungen zur Reduzierung der PAT-Nutzung. > Überprüfen Sie unsere Authentifizierungsleitfaden , um den richtigen Authentifizierungsmechanismus für Ihre Anforderungen auszuwählen.
Werkzeuge Azure-Befehlszeilenschnittstelle.
1. Melden Sie sich mit az devops loginan.
2. Sie können Ihre Organisation als Standardorganisation definieren. Definieren Sie --org "https://dev.azure.com/{organization}" andernfalls für jeden Befehl. az devops configure --defaults organization="https://dev.azure.com/{organization}"
3. Überprüfen Sie, ob Eine Liste der Berechtigungen für Ihre Organisation angezeigt wird: az devops security permission namespace list --org "https://dev.azure.com/{organization}".

Lesen der Gruppenidentität und des Berechtigungstokens

  1. Suchen Sie die Gruppenidentitätsbeschreibung.

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

    Wenn Sie nach Gruppennamen filtern möchten, können Sie von findstr der Eingabeaufforderung abhängig grep sein.

  2. Berechtigungstoken abrufen.

    > 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
    

Leseberechtigung für Dienst-Hooks aktualisieren

  1. Liste der möglichen Berechtigungen, für die Sie definieren --allow-bitkönnen.

    • Abonnements anzeigen
    • Abonnement bearbeiten
    • Löschen von Abonnements
    • Veröffentlichen von Ereignissen
    > 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. Legen Sie den Ansichtszugriff für die Gruppe fest. Anzeigen von ServiceHooks-Abonnements entspricht 1 für --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. Rufen Sie berechtigungstoken ab, um Ihre Änderungen anzuzeigen.

    > 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
    

Das folgende Beispiel zeigt, dass der Benutzer die Diensthakenabonnements sehen kann.

Screenshot der Seite

Zurücksetzen aller Dienst-Hooks-Berechtigungen einer Gruppe

  • Wenn Sie alle Service Hooks-Berechtigungen einer Gruppe oder eines Benutzers zurücksetzen müssen, können Sie aufrufen 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
    
  • Das folgende Beispiel zeigt, dass der Benutzer keine Dienst-Hooks-Abonnements anzeigen kann, nachdem die Berechtigung zurückgesetzt wurde.

    Screenshot der Seite