Back to Gitlabhq

Créer un rapport d'audit à l'aide de GraphQL

doc-locale/fr-fr/api/graphql/audit_report.md

19.1.03.3 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

Vous pouvez créer un rapport d'audit pour un sous-ensemble spécifique d'utilisateurs à l'aide de :

Utiliser GraphiQL {#use-graphiql}

Vous pouvez utiliser GraphiQL pour interroger des informations sur un sous-ensemble d'utilisateurs.

  1. Ouvrez GraphiQL :

    • Pour GitLab.com, utilisez : https://gitlab.com/-/graphql-explorer
    • Pour GitLab Self-Managed, utilisez : https://gitlab.example.com/-/graphql-explorer
  2. Copiez le texte suivant et collez-le dans la fenêtre de gauche. Cette requête recherche un sous-ensemble d'utilisateurs par nom d'utilisateur. Vous pouvez également utiliser leur ID global.

    graphql
    {
      users(usernames: ["user1", "user2", "user3"]) {
        pageInfo {
          endCursor
          startCursor
          hasNextPage
        }
        nodes {
          id
          ...memberships
        }
      }
    }
    
    fragment membership on MemberInterface {
      createdAt
      updatedAt
      accessLevel {
        integerValue
        stringValue
      }
      createdBy {
        id
      }
    }
    
    fragment memberships on User {
      groupMemberships {
        nodes {
          ...membership
          group {
            id
            name
          }
        }
      }
    
      projectMemberships {
        nodes {
          ...membership
          project {
            id
            name
          }
        }
      }
    }
    
  3. Sélectionnez Play.

[!note] L'API GraphQL renvoie un GlobalID plutôt qu'un ID standard. Elle attend également un GlobalID en entrée plutôt qu'un seul entier.

Cette requête renvoie les groupes et les projets dont l'utilisateur a été explicitement désigné comme membre.

  • Étant donné que GraphiQL utilise le jeton de session pour autoriser l'accès aux ressources, la sortie est limitée aux projets et aux groupes accessibles à l'utilisateur actuellement authentifié.
  • Si vous êtes connecté en tant qu'administrateur d'instance, vous avez accès à toutes les ressources.

Pagination et nœuds de graphe {#pagination-and-graph-nodes}

La requête comprend :

pageInfo {#pageinfo}

Contient les données nécessaires à l'implémentation de la pagination. GitLab utilise la pagination basée sur les curseurs. Pour plus d'informations, consultez Pagination dans la documentation GraphQL.

nodes {#nodes}

Dans une requête GraphQL, nodes représente une collection de nodes sur un graphe. Dans ce cas, la collection de nœuds est une collection d'objets User. Pour chacun d'eux, la sortie comprend :

  • L'id de l'utilisateur.
  • Le fragment membership, qui représente l'appartenance à un projet ou à un groupe pour cet utilisateur. Les fragments sont indiqués par la notation ...memberships.