Compartir a través de


Establecer el permiso Ver para un grupo en Enlaces de servicio

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

En este artículo se explica cómo conceder permisos de vista o edición para Service Hooks en Azure DevOps. De forma predeterminada, solo los administradores de proyectos tienen estos permisos. Para asignarlos a otros usuarios o grupos, use la herramienta de línea de comandos o la API rest de seguridad .

El ServiceHooks identificador del espacio de nombres de seguridad se define en Lista de espacios de nombres de seguridad.

Requisitos previos

Categoría Requisitos
Acceso al proyecto Miembro del proyecto.
Permisos - Miembro del grupo de Administradores de la colección de proyectos. Los propietarios de la organización son miembros automáticamente de este grupo.
- Token de Microsoft Entra o Token de acceso personal (PAT) para el perfil de Azure DevOps.
> [!IMPORTANTE] > Recomendamos los tokens de Microsoft Entra, que son más seguros, que los tokens de acceso personal de mayor riesgo. Obtenga más información sobre nuestros esfuerzos para reducir el uso de PAT. > Revise nuestra guía de autenticación para elegir el mecanismo de autenticación adecuado para sus necesidades.
Herramientas CLI de Azure
1. Inicie sesión con az devops login.
2. Puede definir su organización como organización predeterminada. De lo contrario, defina --org "https://dev.azure.com/{organization}" para cada comando. az devops configure --defaults organization="https://dev.azure.com/{organization}"
3. Compruebe si puede ver la lista de permisos de su organización: az devops security permission namespace list --org "https://dev.azure.com/{organization}".

Leer la identidad del grupo y el token de permiso

  1. Busque el descriptor de identidad del grupo.

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

    Si desea filtrar por nombre de grupo, puede usar findstr o grep el comando depende del símbolo del sistema.

  2. Obtener el token de permiso.

    > 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
    

Actualización del permiso de lectura para enlaces de servicio

  1. Lista de posibles permisos que puede definir para --allow-bit.

    • Ver suscripciones
    • Editar suscripción
    • Eliminación de suscripciones
    • Publicar eventos
    > 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. Establezca Ver acceso para el grupo. Ver suscripciones de ServiceHooks es igual a 1 para --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. Obtenga el token de permiso para ver los cambios.

    > 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
    

En el ejemplo siguiente se muestra que el usuario puede ver las suscripciones de enlaces de servicio.

Captura de pantalla que muestra la página ServiceHooks con permiso.

Restablecer todos los permisos de enlaces de servicio de un grupo

  • Si necesita restablecer todos los permisos de Service Hooks de un grupo o usuario, puede llamar a 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
    
  • En el ejemplo siguiente se muestra que el usuario no puede ver las suscripciones de enlaces de servicio después de que se restablezca el permiso.

    Captura de pantalla que muestra la página ServiceHooks sin permiso.