• /
  • EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Tutorial do NerdGraph: Gerenciar grupos de usuários

Você pode usar nossa API NerdGraph para visualizar e gerenciar grupos de usuários e o que esses grupos podem acessar. Para saber como fazer isso na interface, consulte a documentação da interface de gerenciamento do usuário.

Para usar o NerdGraph para criar usuários e visualizar suas informações, consulte Gerenciar usuários com NerdGraph.

Requisitos

Alguns requisitos para gerenciamento de usuários e grupos via NerdGraph:

Antes que você comece

Antes de usar o NerdGraph para gerenciar o usuário:

Fluxo de trabalho sugerido para criação de grupos

Você pode usar essas consultas e mutações de várias maneiras e em várias ordens, mas aqui está um fluxo de trabalho comum para configurar grupos:

  1. consulte as informações do seu usuário e as funções disponíveis: este pode ser um primeiro lugar útil para começar a ter certeza de que você entende qual usuário você tem no New Relic e as funções disponíveis. Se você está apenas começando, talvez ainda não tenha adicionado o usuário e talvez tenha apenas nossas funções padrão.

  2. Opcional: Crie um novo grupo:

    Not available if using SCIM provisioning.

    Você pode usar grupos existentes ou criar um novo grupo. Depois de criar um grupo, você deverá conceder-lhe acesso a funções e contas. Observe que um grupo, por si só, não concede nenhum acesso ao usuário desse grupo: somente quando ele tem uma função e uma conta atribuídas é que o usuário pode realmente acessar o New Relic.

  3. Conceder acesso a um grupo: é isso que atribui aos grupos acesso a funções e contas.

Quando terminar, se já houver usuários no grupo que você criou e esse grupo tiver acesso a pelo menos uma função e conta, eles deverão ter acesso em alguns minutos (embora para contas New Relic da região da UE, isso possa levar até 20 minutos ou mais). Se o seu usuário ainda não estiver nesse grupo (o que seria verdade se você acabou de criar um novo grupo), você pode adicionar o usuário a esse grupo.

Grupos de consulta

Aqui está um exemplo de consulta de grupos existentes em um determinado domínio de autenticação:

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

Consultar funções existentes

Aqui está um exemplo de retorno de informações sobre funções:

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

Aqui está um exemplo de resultado:

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

Consulte o usuário

Consultar informações do usuário

Aqui está um exemplo de consulta de informações sobre seu usuário:

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

Aqui está um exemplo de resultado:

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

Consulte as associações de grupo do seu usuário

Aqui está um exemplo de consulta aos grupos aos quais seu usuário pertence:

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

Aqui está um exemplo de resposta:

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

Crie um grupo

Aqui está um exemplo de criação de um grupo:

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

Resposta bem-sucedida:

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

Atualizar grupo de usuários

Aqui está um exemplo de atualização de um grupo.

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

Resposta para o sucesso:

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

Resposta para falha:

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

Excluir um grupo

Aqui está um exemplo de exclusão de um grupo:

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

Resposta para o sucesso:

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

Resposta para falha:

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

Adicionar usuário aos grupos

Aqui está um exemplo de adição de usuário a grupos:

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

Resposta para o sucesso:

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

Resposta para falha:

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

Remover usuário dos grupos

Aqui está um exemplo de remoção de usuários de grupos:

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

Resposta para o sucesso:

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

Resposta para falha:

{
"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 acesso a um grupo

Aqui está um exemplo de concessão de acesso a um grupo a uma função e uma conta:

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

Resposta para o sucesso:

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

Resposta para falha:

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

Encontre um ID de função

Para alguns casos de uso, como conceder acesso a um grupo, você pode precisar de um ID de função: o ID numérico que representa essa função no New Relic.

Aqui estão alguns IDs para nossas funções padrão e configurações de administração:

  • 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

Aqui está uma consulta para encontrar o ID de uma função personalizada:

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

Revogar concessões do grupo

Aqui está um exemplo de remoção de acesso de um grupo:

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

Resposta para o sucesso:

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