• /
  • 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 d'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

Voici un exemple de création d'un rôle:

mutation {
customRoleCreate(
container: { id: "YOUR_ORGANIZATION_ID", type: "ORGANIZATION" }
name: "MY CUSTOM ROLE"
permissionIds: [1, 2, 3]
scope: "ACCOUNT"
) {
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é. Exemple : "MY CUSTOM ROLE".
  • permissionIds:(éventuel) Une liste d'ID d'autorisation représentant les capacités attribuées au rôle personnalisé. Assurez-vous que ces identifiants correspondent à des autorisations valides dans votre système.

  • scope: (Chaîne) Le niveau auquel les autorisations du rôle s'appliquent. Dans ce instance, la portée est "ACCOUNT".

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.
    • Assurez-vous que les permissionIds fournis sont valides et correspondent aux autorisations que vous souhaitez accorder.

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

Utilisez la requête suivante pour récupérer la liste des autorisations :

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

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

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

Une fois que vous disposez de l’identifiant unique pour chaque autorisation que vous souhaitez attribuer au nouveau rôle, créez ce rôle.

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

Voici un exemple d'octroi à un groupe d'un accès à un rôle et à un compte :

mutation {
authorizationManagementGrantAccess(
grantAccessOptions: {
groupId: "YOUR_GROUP_ID"
accountAccessGrants: {
accountId: YOUR_ACCOUNT_ID
roleId: "YOUR_ROLE_ID"
}
}
) {
roles {
displayName
accountId
}
}
}

Réponse en cas de succès :

{
"data": {
"authorizationManagementGrantAccess": {
"roles": [
{
"displayName": "ROLE_NAME_1",
"id": "ROLE_ID_1"
},
{
"displayName": "ROLE_NAME_2",
"id": "ROLE_ID_2"
},
{
"displayName": "ROLE_NAME_3",
"id": "ROLE_ID_3"
},
{
"displayName": "ROLE_NAME_4",
"id": "ROLE_ID_4"
}
]
}
}
}

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"]
}
]
}

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 subventions du groupe

Voici un exemple de suppression de l’accès à un groupe :

mutation {
authorizationManagementRevokeAccess(
revokeAccessOptions: {
accountAccessGrants: {
accountId: YOUR_ACCOUNT_ID
roleId: "YOUR_ROLE_ID"
}
groupId: "YOUR_GROUP_ID"
}
) {
roles {
accountId
displayName
}
}
}

Réponse en cas de succès :

{
"data": {
"authorizationManagementRevokeAccess": {
"roles": [
{
"displayName": "ROLE_NAME_1",
"id": "ROLE_ID_1"
},
{
"displayName": "ROLE_NAME_2",
"id": "ROLE_ID_2"
},
{
"displayName": "ROLE_NAME_3",
"id": "ROLE_ID_3"
}
]
}
}
}
Droits d'auteur © 2025 New Relic Inc.

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