• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Tutorial de NerdGraph: Administrar grupos de usuarios

Puede utilizar nuestra API NerdGraph para ver y administrar grupos de usuarios y a qué pueden acceder esos grupos. Para saber cómo hacer esto en la UI, consulte los documentos de la UI de usuario de administración de usuarios.

Para usar NerdGraph para crear un usuario y ver su información, consulte Administrar usuario con NerdGraph.

Requisitos

Algunos requisitos para gestionar usuarios y grupos a través de NerdGraph:

Antes de que empieces

Antes de usar NerdGraph para administrar usuarios:

Flujo de trabajo sugerido para la creación de grupos.

Puede utilizar estas consultas y mutaciones de varias maneras y en varios órdenes, pero aquí hay un flujo de trabajo común para configurar grupos:

  1. Consulta la información de tu usuario y los roles disponibles: este puede ser un primer lugar útil para comenzar a asegurarte de comprender qué usuario tienes en New Relic y los roles disponibles. Si recién está comenzando, es posible que aún no haya agregado un usuario y que solo tenga nuestros roles estándar.

  2. Opcional: crear un grupo nuevo:

    Not available if using SCIM provisioning.

    Puede utilizar grupos existentes o crear un grupo nuevo. Después de crear un grupo, debes otorgarle acceso a roles y cuentas. Tenga en cuenta que un grupo, por sí solo, no otorga ningún acceso a los usuarios de ese grupo: solo cuando tiene un rol y una cuenta asignados, el usuario puede acceder a New Relic.

  3. Otorgar acceso a un grupo: esto es lo que asigna a los grupos acceso a roles y cuentas.

Cuando haya terminado, si ya hay usuarios en el grupo que ha creado y ese grupo tiene acceso a al menos una función y cuenta, deberían tener acceso en unos minutos (aunque para las cuentas New Relic de la región de la UE, esto puede tomar hasta 20 minutos aproximadamente). Si su usuario aún no está en ese grupo (lo cual sería cierto si acaba de crear un grupo nuevo), puede agregar un usuario a ese grupo.

Grupos de consulta

A continuación se muestra un ejemplo de consulta de grupos existentes en un dominio de autenticación determinado:

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

Consultar roles existentes

A continuación se muestra un ejemplo de cómo devolver información sobre roles:

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

Aquí hay un resultado de ejemplo:

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

Consulta usuario

Consultar información del usuario

A continuación se muestra un ejemplo de consulta de información sobre su usuario:

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

Aquí hay un resultado de ejemplo:

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

Consulta las membresías del grupo de tus usuarios

A continuación se muestra un ejemplo de consulta de los grupos a los que pertenece su usuario:

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

Aquí hay un ejemplo de respuesta:

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

Crear un grupo

A continuación se muestra un ejemplo de cómo crear un grupo:

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

Respuesta exitosa:

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

Actualizar grupo de usuarios

A continuación se muestra un ejemplo de cómo actualizar un grupo.

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

Respuesta para el éxito:

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

Respuesta ante el fracaso:

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

Eliminar un grupo

A continuación se muestra un ejemplo de eliminación de un grupo:

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

Respuesta para el éxito:

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

Respuesta ante el fracaso:

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

Agregar usuario a grupos

A continuación se muestra un ejemplo de cómo agregar usuarios a grupos:

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

Respuesta para el éxito:

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

Respuesta ante el fracaso:

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

Eliminar usuario de grupos

A continuación se muestra un ejemplo de cómo eliminar usuarios de grupos:

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

Respuesta para el éxito:

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

Respuesta ante el fracaso:

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

Conceder acceso a un grupo

A continuación se muestra un ejemplo de cómo otorgar acceso a un grupo a una función y una cuenta:

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

Respuesta para el éxito:

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

Respuesta ante el fracaso:

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

Buscar un ID de rol

Para algunos casos de uso, como otorgar acceso a un grupo, es posible que necesite el ID de un rol: el ID numérico que representa ese rol en New Relic.

A continuación se muestran algunos ID de nuestras funciones predeterminadas y configuraciones de administración:

  • 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

Aquí hay una consulta para encontrar el ID de un rol personalizado:

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

Revocar subvenciones del grupo

A continuación se muestra un ejemplo de cómo eliminar el acceso de un grupo:

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

Respuesta para el éxito:

{
"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"
}
]
}
}
}
Copyright © 2024 New Relic Inc.

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