Sdílet prostřednictvím


Nastavení oprávnění zobrazení pro skupinu v hookech služby

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Ve výchozím nastavení mají oprávnění k zobrazení nebo úpravám jenom správci projektu. Pokud chcete těmto oprávněním udělit přímo jiným uživatelům, můžete použít nástroj příkazového řádku nebo rozhraní REST API zabezpečení.

Snímek obrazovky se stránkou ServiceHooks bez oprávnění

ID ServiceHooks oboru názvů zabezpečení je definováno v části Seznam oborů názvů zabezpečení jako cb594ebe-87dd-4fc9-ac2c-6a10a4c92046

Požadavky

  1. Nainstalujte Azure CLI pro spuštění az devops příkazu. Postup instalace Azure CLI

  2. Vytvořte osobní přístupový token (PAT) pro váš profil Azure DevOps. Ujistěte se, že jste členem skupiny Správce kolekce projektů (PCA ).

    • Identita (čtení)
    • Graf (čtení)
    • Zabezpečení (správa)
  3. Přihlaste se k Azure DevOps pomocí az devops login. Pokud rozšíření nemáte az devops , nainstalujte ho.

    > az devops login
    The command requires the extension azure-devops. Do you want to install it now? The command will continue to run after the extension is installed. (Y/n): Y
    
  4. Organizaci můžete definovat jako výchozí organizaci. V opačném případě definujte --org "https://dev.azure.com/{organization}" pro každý příkaz.

    az devops configure --defaults organization="https://dev.azure.com/{organization}"
    
  5. Zkontrolujte, jestli vidíte seznam oprávnění pro vaši organizaci.

    az devops security permission namespace list --org "https://dev.azure.com/{organization}"
    

Čtení identity skupiny a tokenu oprávnění

  1. Vyhledejte popisovač identity vaší skupiny.

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

    Pokud chcete filtrovat podle názvu skupiny, můžete použít findstr nebo grep příkaz závisí na příkazovém řádku.

  2. Získání tokenu oprávnění

    > 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
    

Aktualizace oprávnění ke čtení pro volání služeb

  1. Seznam možných oprávnění, která můžete definovat pro --allow-bit.

    • Zobrazení předplatných
    • Upravit předplatné
    • Odstranění předplatných
    • Publikování událostí
    > 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. Nastavte pro skupinu přístup k zobrazení . Zobrazit odběry ServiceHooks se rovná 1 pro --allow-bit.

    > 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. Získejte token oprávnění pro zobrazení změn.

    > 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
    

Následující příklad ukazuje, že uživatel uvidí předplatná připojení služby.

Snímek obrazovky se stránkou ServiceHooks s oprávněním

Resetování všech oprávnění háku služby ve skupině

  • Pokud potřebujete resetovat všechna oprávnění volání služby skupiny nebo uživatele, můžete volat 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
    
  • Následující příklad ukazuje, že uživatel nemůže zobrazit odběry připojení služby po resetování oprávnění.

    Snímek obrazovky se stránkou ServiceHooks bez oprávnění