• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Tutoriel NerdGraph : Gérer les groupes et les utilisateurs

Vous pouvez utiliser notre APINerdGraph pour afficher et gérer les groupes d'utilisateurs et ce à quoi ces groupes peuvent accéder. Pour savoir comment procéder dans l'UI, consultez la documentation UI de gestion des utilisateurs.

Pour utiliser NerdGraph pour créer un utilisateur et afficher ses informations, voir Gérer l'utilisateur avec NerdGraph.

Exigences

Quelques exigences pour la gestion des utilisateurs et des groupes via NerdGraph :

Avant de commencer

Avant d'utiliser NerdGraph pour gérer l'utilisateur :

Workflow suggéré pour la création de groupes

Vous pouvez utiliser ces requêtes et mutations de différentes manières et dans différents ordres, mais voici un workflow courant pour la configuration de groupes :

  1. interrogez les informations de votre utilisateur et les rôles disponibles: cela peut être un premier point de départ utile pour vous assurer de comprendre quel utilisateur vous avez dans New Relic et les rôles disponibles. Si vous débutez, vous n'avez peut-être pas encore ajouté d'utilisateur et vous n'avez peut-être que nos rôles standard.
  2. Facultatif : Créer un nouveau groupe: Not available if using SCIM provisioning. Vous pouvez soit utiliser des groupes existants, soit créer un nouveau groupe. Après avoir créé un groupe, vous devez lui accorder l'accès aux rôles et aux comptes. Notez qu'un groupe, à lui seul, n'accorde aucun accès à l'utilisateur de ce groupe : c'est seulement lorsqu'un rôle et un compte lui sont attribués que l'utilisateur peut réellement accéder à New Relic.
  3. Accorder l'accès à un groupe: c'est ce qui attribue aux groupes l'accès aux rôles et aux comptes.

Une fois que vous avez terminé, s'il y a déjà des utilisateurs dans le groupe que vous avez créé et que ce groupe a accès à au moins un rôle et un compte, ils devraient avoir accès dans quelques minutes (bien que pour les comptes New Relic de la région UE, cela puisse prendre jusqu'à 20 minutes environ). Si votre utilisateur n'est pas encore dans ce groupe (ce qui serait vrai si vous venez de créer un nouveau groupe), vous pouvez ajouter un utilisateur à ce groupe.

Groupes de requêtes

Voici un exemple de requête pour des groupes existants dans un domaine d'authentification donné :

{
actor {
organization {
userManagement {
authenticationDomains(id: "YOUR_AUTHENTICATION_DOMAIN_ID") {
authenticationDomains {
groups {
groups {
displayName
id
}
}
}
}
}
}
}
}

Qequête sur les rôles existants

Voici un exemple de retour d'informations sur les rôles :

{
actor {
organization {
authorizationManagement {
authenticationDomains {
authenticationDomains {
groups {
groups {
roles {
roles {
accountId
displayName
id
name
organizationId
type
}
}
}
}
}
}
}
}
}
}

Voici un exemple de résultat :

{
"data": {
"actor": {
"organization": {
"authorizationManagement": {
"authenticationDomains": {
"authenticationDomains": [
{
"groups": {
"groups": [
{
"roles": {
"roles": [
{
"accountId": "account-id",
"displayName": "name",
"id": "id",
"name": "role-name",
"organizationId": null,
"type": "role-type"
},
{
"accountId": null,
"displayName": "name",
"id": "id",
"name": "role-name",
"organizationId": "organization-id",
"type": "role-type"
}
]
}
}
]
}
}
]
}
}
}
}
}
}

Qequête utilisateur

Information de requête utilisateur

Voici un exemple de requête d'informations sur votre utilisateur :

{
actor {
organization {
userManagement {
authenticationDomains {
authenticationDomains {
groups {
groups {
users {
users {
id
email
name
timeZone
}
}
}
}
}
}
}
}
}
}

Voici un exemple de résultat :

{
"data": {
"actor": {
"organization": {
"userManagement": {
"authenticationDomains": {
"authenticationDomains": [
{
"groups": {
"groups": [
{
"users": {
"users": [
{
"email": "example@newrelic.com",
"id": "123456789",
"name": "Example Relic",
"timeZone": "Etc/UTC"
}
]
}
}
]
}
}
]
}
}
}
}
}
}

Interrogez les appartenances aux groupes de vos utilisateurs

Voici un exemple d'interrogation des groupes auxquels appartient votre utilisateur :

{
actor {
organization {
userManagement {
authenticationDomains {
authenticationDomains {
users {
users {
groups {
groups {
displayName
}
}
email
}
}
}
}
}
}
}
}

Voici un exemple de réponse :

{
"data": {
"actor": {
"organization": {
"userManagement": {
"authenticationDomains": {
"authenticationDomains": [
{
"users": {
"users": [
{
"email": "pete@example.com",
"groups": {
"groups": [
{
"displayName": "Admin"
},
{
"displayName": "Basic Sub Account"
}
]
}
},

Créer un rôle

Avant de créer un rôle personnalisé, vous devez identifier les autorisations que vous souhaitez lui attribuer.

Récupérer les ID d'autorisation

Utilisez la requête suivante pour récupérer la liste des autorisations à l'échelle du compte :

query {
customerAdministration {
permissions {
items {
category
feature
id
product
subsetIds
}
nextCursor
}
}
}

Pour les autorisations limitées à une organisation, exécutez plutôt la requête suivante :

query {
customerAdministration {
permissions(filter: { scope: { eq: "organization" } }) {
items {
category
feature
id
product
subsetIds
}
nextCursor
}
}
}

Notez les champs suivants :

  • items:Un éventail d'objets d'autorisation, chacun contenant l'attribut suivant :

    • category: (Chaîne) La catégorie ou le groupe auquel appartient l'autorisation.
    • feature: (Chaîne) La fonctionnalité spécifique à laquelle l'autorisation est associée.
    • id: (Chaîne) Un identifiant unique pour chaque autorisation.
    • product: (Chaîne) Le produit auquel l'autorisation s'applique.
    • subsetIds: (éventuel) Une liste d'identifiants représentant des sous-ensembles ou des autorisations associées.

Créer le rôle personnalisé

Après avoir l'identifiant unique de chaque permission que vous souhaitez attribuer au nouveau rôle, utilisez la mutation suivante pour créer un rôle. Vous pouvez créer des rôles à trois niveaux différents : compte, organisation ou entité. Le type de rôle que vous créez doit correspondre à la portée des permissions que vous attribuez.

Rôle au niveau du compte

mutation {
customRoleCreate(
container: { id: "YOUR_ORGANIZATION_ID", type: "ORGANIZATION" }
name: "MY CUSTOM ACCOUNT ROLE"
permissionIds: [1, 2, 3]
scope: "account"
) {
id
}
}

Rôle au niveau de l'organisation

mutation {
customRoleCreate(
container: { id: "YOUR_ORGANIZATION_ID", type: "ORGANIZATION" }
name: "MY CUSTOM ORGANIZATION ROLE"
permissionIds: [4, 5, 6]
scope: "organization"
) {
id
}
}

Rôle au niveau de l'entité

mutation {
customRoleCreate(
container: { id: "YOUR_ORGANIZATION_ID", type: "ORGANIZATION" }
name: "MY CUSTOM ENTITY ROLE"
permissionIds: [7, 8, 9]
scope: "entity"
) {
id
}
}

Paramètres

  • container:

    • id: (Chaîne) L'identifiant unique de votre organisation. Remplacez YOUR_ORGANIZATION_ID par votre ID d’organisation réel.
    • type: (Chaîne) Le type de conteneur. Actuellement, le seul type pris en charge est "ORGANIZATION".
  • name: (Chaîne) Le nom attribué au rôle personnalisé.

  • permissionIds: (Tableau) Une liste d'ID d'autorisation représentant les capacités attribuées au rôle personnalisé. Utilisez les ID récupérés à partir de la requête d'autorisations ci-dessus.

  • scope: (Chaîne) Le niveau auquel s'appliquent les autorisations du rôle. Valeurs prises en charge :

    • "account": Les permissions du rôle s'appliquent au niveau du compte
    • "organization": Les permissions du rôle s'appliquent au niveau de l'organisation
    • "entity": Les permissions du rôle s'appliquent au niveau de l'entité

Réponse

  • id: Renvoie l'ID unique du rôle personnalisé nouvellement créé.

    Important

    • Remplacez YOUR_ORGANIZATION_ID par votre ID d’organisation spécifique avant d’exécuter la mutation.
    • Remplacez l'exemple permissionIds par les ID d'autorisation réels que vous avez récupérés à partir de la requête d'autorisations.
    • Assurez-vous que les ID d’autorisation que vous utilisez correspondent à la portée que vous créez. Utilisez des autorisations à l’échelle de l’organisation pour les rôles d’organisation et des autorisations à l’échelle du compte pour les rôles de compte.

Mettre à jour le rôle

Voici un exemple de mise à jour d'un rôle.

mutation {
customRoleUpdate(
id: ROLE_ID
name: "MY NEW CUSTOM ROLE NAME"
permissionIds: [4, 5, 6]
) {
id
}
}

Paramètres

  • id: L'identifiant unique du rôle personnalisé que vous souhaitez modifier. Remplacez ROLE_ID par l’ID réel du rôle.
  • name:Le nouveau nom que vous souhaitez attribuer au rôle personnalisé. Dans cet exemple, c'est MY NEW CUSTOM ROLE NAME.
  • permissionIds:Un éventail d’ID d’autorisation que vous souhaitez attribuer à ce rôle. Assurez-vous que ces identifiants sont valides et correspondent aux autorisations que vous souhaitez mettre en œuvre.

Supprimer un rôle

Voici un exemple de suppression d'un rôle:

mutation {
customRoleDelete(id: ROLE_ID) {
id
}
}

Paramètres

  • id: L'identifiant unique du rôle que vous souhaitez supprimer. Remplacez ROLE_ID par l’ID réel du rôle que vous souhaitez supprimer.

Réponse

  • id: Renvoie l'ID du rôle qui a été supprimé, confirmant l'exécution réussie de la mutation.

Créer un groupe

Voici un exemple de création d'un groupe:

mutation {
userManagementCreateGroup(
createGroupOptions: {
authenticationDomainId: "YOUR_AUTH_DOMAIN_ID"
displayName: "GROUP_DISPLAY_NAME"
}
) {
group {
displayName
id
}
}
}

Réponse réussie :

{
"data": {
"userManagementCreateGroup": {
"group": {
"displayName": "GROUP_DISPLAY_NAME"
"id": "GROUP_ID"
}
}
}
}

Mettre à jour le groupe d'utilisateurs

Voici un exemple de mise à jour d'un groupe.

mutation {
userManagementUpdateGroup(
updateGroupOptions: {
displayName: "YOUR_UPDATED_GROUP_NAME"
id: "YOUR_GROUP_ID"
}
) {
group {
id
displayName
}
}
}

Réponse en cas de succès :

{
"data": {
"userManagementUpdateGroup": {
"group": {
"displayName": "YOUR_UPDATED_GROUP_NAME",
"id": "GROUP_ID"
}
}
}
}

Réponse en cas d'échec :

{
"data": {
"userManagementUpdateGroup": null
},
"errors": [
{
"extensions": {
"errorClass": "SERVER_ERROR"
},
"locations": [
{
"column": 3,
"line": 2
}
],
"message": "Group could not be found",
"path": ["userManagementUpdateGroup"]
}
]
}

Supprimer un groupe

Voici un exemple de suppression d'un groupe:

mutation {
userManagementDeleteGroup(groupOptions: { id: "YOUR_GROUP_ID" }) {
group {
id
}
}
}

Réponse en cas de succès :

{
"data": {
"userManagementDeleteGroup": {
"group": {
"id": "GROUP_ID"
}
}
}
}

Réponse en cas d'échec :

{
"data": {
"userManagementDeleteGroup": null
},
"errors": [
{
"extensions": {
"errorClass": "SERVER_ERROR"
},
"locations": [
{
"column": 3,
"line": 2
}
],
"message": "Couldn't find Group with 'id'='ENTERED_GROUP_ID",
"path": ["userManagementDeleteGroup"]
}
]
}

Ajouter un utilisateur aux groupes

Voici un exemple d'ajout d'utilisateur à des groupes :

mutation {
userManagementAddUsersToGroups(
addUsersToGroupsOptions: {
groupIds: [FIRST_GROUP_ID, SECOND_GROUP_ID]
userIds: [YOUR_USERS_IDS]
}
) {
groups {
displayName
id
}
}
}

Réponse en cas de succès :

{
"data": {
"userManagementAddUsersToGroups": {
"groups": [
{
"displayName": "GROUP_1_NAME",
"id": "GROUP_ID_1"
},
{
"displayName": "GROUP_NAME_2",
"id": "GROUP_ID_2"
}
]
}
}
}

Réponse en cas d'échec :

{
"data": {
"userManagementAddUsersToGroups": null
},
"errors": [
{
"extensions": {
"errorClass": "SERVER_ERROR"
},
"locations": [
{
"column": 3,
"line": 2
}
],
"message": "The following ids were not found: group_ids: 'NON_EXISTENT_GROUP_ID'",
"path": ["userManagementAddUsersToGroups"]
}
]
}

Supprimer l'utilisateur des groupes

Voici un exemple de suppression d'utilisateur des groupes :

mutation {
userManagementRemoveUsersFromGroups(
removeUsersFromGroupsOptions: {
groupIds: [YOUR_GROUP_IDS]
userIds: [YOUR_USER_IDS]
}
) {
groups {
displayName
id
}
}
}

Réponse en cas de succès :

{
"data": {
"userManagementRemoveUsersFromGroups": {
"groups": [
{
"displayName": "YOUR_GROUP_NAME",
"id": "YOUR_GROUP_ID"
}
]
}
}
}

Réponse en cas d'échec :

{
"data": {
"userManagementRemoveUsersFromGroups": null
},
"errors": [
{
"extensions": {
"errorClass": "SERVER_ERROR"
},
"locations": [
{
"column": 3,
"line": 2
}
],
"message": "The following ids were not found: user_ids: 'NON-EXISTENT_USER_ID'",
"path": ["userManagementRemoveUsersFromGroups"]
}
]
}

Accorder l'accès à un groupe ou un utilisateur

Les attributions d'accès connectent les groupes ou les utilisateurs aux rôles et définissent ce à quoi ils peuvent accéder. Lorsque vous créez une attribution d'accès, vous donnez aux utilisateurs ou aux groupes les permissions définies dans un rôle, appliquées à une cible spécifique (organisation, comptes, entités ou autres groupes).

Pour spécifier qui reçoit l'attribution d'accès :

  • Pour les utilisateurs: Utilisez le paramètre grantee avec id et type: USER
  • Pour les groupes: Remplacez grantee par groupId: "YOUR_GROUP_ID"

Octroi au niveau du compte

Voici un exemple d'attribution d'accès à un rôle au niveau du compte :

mutation {
authorizationManagementGrantAccess(
grantAccessOptions: {
accountAccessGrants: {
accountId: YOUR_ACCOUNT_ID
dataAccessPolicyId: "YOUR_DATA_ACCESS_POLICY_ID"
roleId: "YOUR_ROLE_ID"
grantee: { id: "YOUR_USER_ID", type: USER }
}
}
) {
accessGrants {
id
}
roles {
name
}
}
}

Octroi au niveau de l'organisation

Voici un exemple d’octroi d’accès à un rôle à l’échelle de l’organisation :

mutation {
authorizationManagementGrantAccess(
grantAccessOptions: {
organizationAccessGrants: {
roleId: "YOUR_ROLE_ID"
grantee: { id: "YOUR_USER_ID", type: USER }
}
}
) {
accessGrants {
id
}
roles {
name
}
}
}

Attribution au niveau de l'entité

Voici un exemple d'attribution d'accès à un rôle au niveau de l'entité :

mutation {
authorizationManagementGrantAccess(
grantAccessOptions: {
entityAccessGrants: {
entity: { id: "YOUR_ENTITY_ID", type: "YOUR_ENTITY_TYPE" }
roleId: "YOUR_ROLE_ID"
grantee: { id: "YOUR_USER_ID", type: USER }
}
}
) {
accessGrants {
id
}
roles {
name
}
}
}

Attribution au niveau du groupe

Voici un exemple d'attribution d'accès à un rôle au niveau du groupe :

mutation {
authorizationManagementGrantAccess(
grantAccessOptions: {
groupAccessGrants: {
groupId: "YOUR_TARGET_GROUP_ID"
roleId: "YOUR_ROLE_ID"
grantee: { id: "YOUR_USER_ID", type: USER }
}
}
) {
accessGrants {
id
}
roles {
name
}
}
}

Exemples de réponses

Réponse en cas de succès :

{
"data": {
"authorizationManagementGrantAccess": {
"accessGrants": [
{
"id": "ACCESS_GRANT_ID"
}
],
"roles": [
{
"name": "ROLE_NAME"
}
]
}
}
}

Réponse en cas d'échec :

{
"data": {
"authorizationManagementGrantAccess": null
},
"errors": [
{
"extensions": {
"errorClass": "SERVER_ERROR"
},
"locations": [
{
"column": 3,
"line": 2
}
],
"message": "Validation failed: Role must exist, Role can't be blank, Role scope does not match granted_on type",
"path": ["authorizationManagementGrantAccess"]
}
]
}

Mettre à jour les attributions d'accès

Vous pouvez mettre à jour les octrois d'accès au compte existants pour modifier la politique d'accès aux données. Utilisez la mutation authorizationManagementUpdateAccess avec les ID d'octroi que vous souhaitez mettre à jour.

Important

La mise à jour des attributions d'accès n'est actuellement disponible que pour les attributions au niveau du compte.

Voici un exemple de mise à jour d'une autorisation d'accès au compte :

mutation {
authorizationManagementUpdateAccess(
updateAccessOptions: {
accountAccessGrant: {
dataAccessPolicyId: "YOUR_NEW_DATA_ACCESS_POLICY_ID"
}
ids: "YOUR_ACCESS_GRANT_ID"
}
) {
grants {
id
}
}
}

Trouver un identifiant de rôle

Pour certains cas d'utilisation, comme l'octroi de l'accès à un groupe, vous pouvez avoir besoin de l'ID d'un rôle : l'ID numérique représentant ce rôle dans New Relic.

Voici quelques identifiants pour nos rôles par défaut et nos paramètres d'administration:

  • All product admin: 1254.

  • Standard user: 1253.

  • Read only: 1252.

  • Organization manager setting 1994

    • Read only: 1995
  • Authentication domain setting:

    • Manage: 1996
    • Read only: 1997
    • Add users: 14517
    • Read users: 14603
  • Group admin: 14516

Voici une requête pour trouver l'ID d'un rôle personnalisé :

{
actor {
organization {
authorizationManagement {
authenticationDomains(id: "YOUR_AUTHENTICATION_DOMAIN_ID") {
authenticationDomains {
groups {
groups {
displayName
id
roles {
roles {
roleId
name
}
}
}
}
}
}
}
}
}
}

Révoquer les attributions d'un groupe ou d'un utilisateur

La révocation des attributions d'accès supprime la connexion entre les groupes ou les utilisateurs et les rôles, supprimant ainsi les permissions qu'ils avaient. Vous pouvez révoquer les attributions au niveau de l'organisation, du compte, de l'entité ou du groupe. Lors de la révocation, spécifiez qui perd l'accès en utilisant soit grantee (pour les utilisateurs) soit groupId (pour les groupes), de la même manière que pour l'attribution d'accès.

Révocation au niveau du compte

Voici un exemple de révocation de l'accès à un rôle défini au niveau du compte :

mutation {
authorizationManagementRevokeAccess(
revokeAccessOptions: {
accountAccessGrants: {
accountId: YOUR_ACCOUNT_ID
dataAccessPolicyId: "YOUR_DATA_ACCESS_POLICY_ID"
roleId: "YOUR_ROLE_ID"
grantee: { id: "YOUR_USER_ID", type: USER }
}
}
) {
accessGrants {
id
}
roles {
id
}
}
}

Révocation au niveau de l'organisation

Voici un exemple de révocation d'accès à un rôle au niveau de l'organisation :

mutation {
authorizationManagementRevokeAccess(
revokeAccessOptions: {
organizationAccessGrants: {
roleId: "YOUR_ROLE_ID"
grantee: { id: "YOUR_USER_ID", type: USER }
}
}
) {
accessGrants {
id
}
roles {
id
}
}
}

Révocation au niveau de l'entité

Voici un exemple de révocation d'accès à un rôle au niveau de l'entité :

mutation {
authorizationManagementRevokeAccess(
revokeAccessOptions: {
entityAccessGrants: {
entity: { id: "YOUR_ENTITY_ID", type: "YOUR_ENTITY_TYPE" }
roleId: "YOUR_ROLE_ID"
grantee: { id: "YOUR_USER_ID", type: USER }
}
}
) {
accessGrants {
id
}
roles {
id
}
}
}

Révocation au niveau du groupe

Voici un exemple de révocation d'accès à un rôle au niveau du groupe :

mutation {
authorizationManagementRevokeAccess(
revokeAccessOptions: {
groupAccessGrants: {
groupId: "YOUR_TARGET_GROUP_ID"
roleId: "YOUR_ROLE_ID"
grantee: { id: "YOUR_USER_ID", type: USER }
}
}
) {
accessGrants {
id
}
roles {
id
}
}
}

Exemples de réponses

Réponse en cas de succès :

{
"data": {
"authorizationManagementRevokeAccess": {
"accessGrants": [
{
"id": "ACCESS_GRANT_ID"
}
],
"roles": [
{
"id": "ROLE_ID"
}
]
}
}
}
Droits d'auteur © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.