Hizmet Kancaları'nda bir grup için Görüntüleme izni ayarlama

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

Varsayılan olarak, yalnızca Proje Yöneticileri Görüntüleme veya Düzenleme izinlerine sahiptir. Bu izinleri doğrudan diğer kullanıcılara vermek için komut satırı aracını veya Güvenlik REST API'sini kullanabilirsiniz.

İzinsiz ServiceHooks sayfasını gösteren ekran görüntüsü.

Güvenlik ServiceHooks ad alanı kimliği, Güvenlik Ad Alanlarını Listele altında şu şekilde tanımlanır:cb594ebe-87dd-4fc9-ac2c-6a10a4c92046

Önkoşullar

  1. Komutunu çalıştırmak az devops için Azure CLI'yi yükleyin. Azure CLI'yi yükleme

  2. Azure DevOps profiliniz için kişisel erişim belirteci (PAT) oluşturun. Proje Koleksiyonu Yöneticisi (PCA) grubunun üyesi olduğunuzdan emin olun.

    • Kimlik (Okuma)
    • Graf (Okuma)
    • Güvenlik (Yönet)
  3. ile az devops loginAzure DevOps'ta oturum açın. Uzantınız az devops yoksa yükleyin.

    > 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. Kuruluşunuzu varsayılan kuruluş olarak tanımlayabilirsiniz. Aksi takdirde, her komut için tanımlayın --org "https://dev.azure.com/{organization}" .

    az devops configure --defaults organization="https://dev.azure.com/{organization}"
    
  5. Kuruluşunuz için izin listesini görüp göremediğini denetleyin.

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

Grup kimliğini ve izin belirtecini okuma

  1. Grup kimliği tanımlayıcınızı bulun.

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

    Grup adına göre filtrelemek istiyorsanız veya komutunu komut isteminize bağlı olarak kullanabilirsiniz findstr grep .

  2. İzin belirtecini alı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
    

Hizmet kancaları için okuma iznini güncelleştirme

  1. için --allow-bittanımlayabileceğiniz olası izinlerin listesi.

    • Abonelikleri Görüntüle
    • Aboneliği Düzenle
    • Abonelikleri Silme
    • Olayları Yayımla
    > 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. Grup için Erişimi görüntüle'yi ayarlayın. ServiceHooks Aboneliklerini Görüntüle için --allow-bit1'e eşittir.

    > 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. Değişikliklerinizi görmek için izin belirteci alı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
    

Aşağıdaki örnekte kullanıcının hizmet kancası aboneliklerini görebildiği gösterilmektedir.

İzinli ServiceHooks sayfasını gösteren ekran görüntüsü.

Bir grubun tüm Hizmet Kancaları izinlerini sıfırlama

  • Bir grubun veya kullanıcının tüm Hizmet Kancaları izinlerini sıfırlamanız gerekiyorsa öğesini çağırabilirsiniz 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
    
  • Aşağıdaki örnekte, izin sıfırlandıktan sonra kullanıcının hizmet kancaları aboneliklerini görüntüleyemiyor olduğu gösterilmektedir.

    İzinsiz ServiceHooks sayfasını gösteren ekran görüntüsü.