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

De forma predeterminada, solo los administradores de proyectos tienen permisos de vista o edición . Para conceder estos permisos a otros usuarios directamente, puede usar la herramienta de línea de comandos o la API rest de seguridad .

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

El identificador del ServiceHooks espacio de nombres de seguridad se define en List Security Namespaces as (Enumerar espacios de nombres de seguridad) como cb594ebe-87dd-4fc9-ac2c-6a10a4c92046

Requisitos previos

  1. Instale la CLI de Azure para ejecutar el az devops comando . Instalación de la CLI de Azure

  2. Cree un token de acceso personal (PAT) para el perfil de Azure DevOps. Asegúrese de que es miembro del grupo Administrador de colecciones de proyectos (PCA).

    • Identidad (lectura)
    • Gráfico (lectura)
    • Seguridad (administrar)
  3. Inicie sesión en Azure DevOps con az devops login. Si no tiene la az devops extensión, instálela.

    > 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. Puede definir la 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}"
    
  5. 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 ac515e82-560c-4af8-845b-9f7f968d8e7b --output table
    
    Name                                             Descriptor
    -----------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------------------------
    [TEAM FOUNDATION]\EntraServiceHooksRead          aadgp.Uy0xLTktMTU1MTM3NDI0NS0xMjA0NDAwOTY5LTI0MDI5ODY0MTMtMjE3OTQwODYxNi0zLTM5NTQxNzM3ODYtMTUyMTA4MTkyNS0yNTQwNTA4MjYzLTMzNDgxNjQxNjg
    

    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 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
    

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 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. Establezca Ver acceso para el grupo. Ver suscripciones de ServiceHooks es igual a 1 para --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. Obtenga el token de permiso para ver los cambios.

    > 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
    

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 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
    
  • 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.