Este guia fornece padrões para configurar o controle de acesso baseado em função (RBAC) para operações de Fleet Control. Ele abrange três padrões de implementação, do básico ao corporativo, com exemplos de interface e de NerdGraph.
Qual abordagem se adapta à sua organização?
Organizações separadas (recomendado): se você gerencia várias unidades de negócios autônomas ou precisa de isolamento rigoroso de contratados com zero visibilidade entre unidades, use multilocação (organizações separadas do New Relic). Isso fornece a aplicação completa de limites sem funções personalizadas complexas. Ir para Delegar o Controle de Agentes com várias unidades de negócios.
RBAC de organização única: se restrições de contrato, faturamento ou operacionais exigirem uma única organização, use os padrões de RBAC neste guia (Básico, Avançado ou Enterprise). Aviso: os usuários ainda verão que outras frotas existem em toda a organização, e a TI central deve criar concessões de acesso para cada nova frota.
Pré-requisitos
Antes de configurar qualquer um dos padrões abaixo:
- Usuário de plataforma completa: toda permissão Fleet Control exige o tipo de usuário de plataforma completa.
- Edição Pro ou edição Enterprise: necessário para criar as funções personalizadas e os grupos personalizados que esses padrões usam.
- Função de gerente de domínio de autenticação: os usuários com a função Authentication domain manager podem criar concessões de acesso, que atribuem grupos e funções a frotas específicas. Este é um requisito da plataforma New Relic para todas as operações de concessão de acesso.
- Configuração inicial de Agent Control: exige a função Authentication domain manager, uma vez, para criar identidades do sistema.
- Criar frotas e configurações: requer a função Organization product admin, que é concedida automaticamente a qualquer pessoa no grupo User padrão.
- Executar implantação: exige a função Organization Manager, que é concedida automaticamente a qualquer pessoa no grupo Admin padrão. Como alternativa, a função Fleet manager ou uma função personalizada com Deploy concede isso em frotas específicas, sem alcance em toda a organização.
Equívoco comum sobre os requisitos de função
Muitas equipes presumem que Authentication domain manager é necessário para todas as operações de Fleet Control. Isso não é verdade.
Authentication domain manager é necessário apenas para:
Configuração inicial do Agent Control , uma única vez, que cria identidades do sistema.
Criação de concessões de acesso, que atribui grupos a frotas.
Gerenciamento contínuo de frotas, o que significa criar frotas e criar configurações, requer apenas Organization product admin, que a maioria dos usuários já possui.
Como as permissões do Controle de Agentes são organizadas
Ao criar uma função personalizada, as permissões de Fleet Control são exibidas como uma tabela: uma linha para o recurso e colunas para Read, Modify, Delete e Other. Cada caixa de seleção concede um conjunto de ações relacionadas em vez de uma permissão individual. A linha que você obtém depende do escopo da função.
As funções com escopo de organização recebem a linha Fleets (all), cobrindo todas as frotas na organização:
| Permissão | O que ele abrange |
|---|---|
| Read | Visualizar frotas, os agentes em suas entidades gerenciadas, configurações e seus conteúdos, associação à frota e a política de aprovação |
| Modify | Crie e atualize frotas, crie configurações e adicione versões, além de tudo em Read |
| Delete | Excluir frotas, configurações e implantações |
| Other: Deploy | Criar, editar, executar e excluir implantações e alterar quais entidades gerenciadas estão em uma frota |
| Other: Approve configurations | Aprove, solicite alterações ou negue uma versão de configuração |
| Other: Configure organization governance | Definir e alterar a política de aprovação |
Funções com escopo de entidade direcionadas a uma frota recebem a linha Fleets (individual), abrangendo apenas as frotas nas quais a função é concedida:
| Permissão | O que ele abrange |
|---|---|
| Modify | Renomeie a frota, edite sua descrição e visualize seus membros |
| Delete | Excluir a frota |
| Other: Deploy | Crie, edite, execute e exclua implantações para a frota e altere quais entidades gerenciadas estão nela |
As funções com escopo de frota baseiam-se no acesso de leitura em vez de substituí-lo
A linha Fleets (individual) não tem a permissão Read. Uma função com escopo de frota concede a capacidade de atuar em uma frota, não de ver Fleet Control em primeiro lugar.
Os usuários também precisam de acesso de leitura de uma função com escopo de organização, que normalmente têm por meio do grupo User padrão. Se uma função com escopo de frota for concedida a um grupo cujos membros não têm mais nada, eles não poderão ver nada sobre o que atuar.
A aprovação de configurações e a definição da política de aprovação estão disponíveis apenas para funções com escopo de organização, portanto, a autoridade de aprovação não pode ter o escopo de uma frota específica. Consulte aprovações de configuração para obter os detalhes e delegar autoridade de aprovação para saber como concedê-la.
Padrão básico: permissão de frota única (FGA)
Fleet Control oferece suporte a acesso refinado (FGA) por meio de concessões de acesso com escopo de entidade. A função Fleet manager integrada pode ter o escopo definido para entidades de frota específicas, o que dá a um grupo controle operacional total dessas frotas, incluindo implantações, sem Organization Manager.
Isso permite conceder acesso a uma equipe para gerenciar uma frota específica sem dar a ela acesso a todas as frotas da organização.
Passo a passo da interface
Crie a frota, se ainda não estiver criada:
- Vá para All capabilities > New Relic Control > Fleets
- Clique Create a fleet
- Nomeie, por exemplo
production-us-east-fleets - Salve e anote o GUID da frota
Criar ou identificar o grupo de destino:
- Vá para Administration > Access management > Groups
- Crie um novo grupo, por exemplo
prod-us-east-fleet-operators, ou use um existente - No modal Create a group, adicione usuários agora por meio do dropdown Add users, ou adicione-os mais tarde editando o grupo
- Anote o ID do grupo
Conceder acesso com escopo de entidade:
- Vá para New Relic Control > Fleets
- Na linha da frota, abra o menu kebab e selecione Fleet permissions
- No modal Fleet permissions, escolha um grupo e selecione Fleet manager como a função. Adicione quantos pares de grupo e função forem necessários
- Clique em Save, o que cria uma concessão de acesso por par
Se as permissões de frota estiverem ausentes ou abrirem bloqueadas
O item de menu Fleet permissions requer a função Authentication domain manager. Sem ela, a ação não aparece na linha da frota ou o modal é aberto bloqueado em vez de parcialmente disponível.
As concessões também podem ser anexadas no momento da criação da frota por meio da caixa de diálogo Create fleet.
Resultado: os membros de prod-us-east-fleet-operators agora podem executar implantações e gerenciar membros apenas para production-us-east-fleets. Eles não podem modificar outras frotas. Eles ainda verão que outras frotas existem, porque o acesso de leitura vem de sua função com escopo de organização, e não desta concessão.
Automação do NerdGraph
mutation GrantFleetAccess { authorizationManagementGrantAccess( grantAccessOptions: { grantee: { type: GROUP, id: "YOUR_GROUP_ID" } entityAccessGrants: { entity: { id: "YOUR_FLEET_GUID", type: "fleet" } roleId: "YOUR_ROLE_ID" } } ) { accessGrants { id } }}Como encontrar IDs:
- Fleet GUID: visível na URL da página de detalhes da frota, ou faça a consulta de frotas por meio do tutorial doNerdGraph Fleet Control
- ID do grupo: Administration > Access management > Groups, clique no grupo, o ID está na URL
- Role ID: faça a consulta usando a solução alternativa em problemas conhecidos
Padrão avançado: funções personalizadas para separação de ciclo de vida
Crie duas funções personalizadas com escopo de entidade com diferentes permissões de Fleet Control e, em seguida, conceda cada uma a um grupo diferente nas mesmas entidades da frota. Fleet manager inclui Modificar, Excluir e Implantar em conjunto; portanto, quando isso for mais autoridade do que um grupo deve ter, divida-o.
Isso permite separar quem pode alterar a definição e a associação de uma frota de quem pode executar implantações, enquanto ambos os grupos trabalham nas mesmas frotas.
Blueprint de exemplo: design de funções personalizadas
Esta seção fornece um exemplo recomendado de como você pode projetar funções personalizadas de menor privilégio para separar as permissões de arquitetura da execução de implantação.
Ambas as funções têm escopo de entidade e destino Fleet:
| Função | Permissão | O que os titulares podem fazer | Atribuído a |
|---|---|---|---|
Fleet author | Modify | Renomeie a frota, edite sua descrição, visualize seus membros | Equipes de operações de plataforma |
Fleet deployer | Other: Deploy | Criar, editar, executar e excluir implantações, alterar quais entidades gerenciadas estão na frota | Equipes de aplicativos e prestadores de serviços |
Nenhuma das funções pode excluir uma frota, já que Delete é uma permissão separada que é deixada desmarcada.
A criação de configuração não faz parte de nenhuma das funções, porque as configurações em Fleet Control são objetos no nível da organização, em vez de pertencerem a uma frota. A criação delas vem com Organization product admin, que o grupo User padrão já possui. Na prática, seus autores escrevem configurações e essas funções com escopo de frota controlam o que é implantado e onde.
Passo a passo da interface
Criar as funções personalizadas. Para cada uma:
- Vá para Administration > Access management > Roles
- Clique Add a role
- Para o escopo da função, escolha Single item or entity e, em seguida, clique Next
- Em Select what you want to configure access to, escolha Fleet
- Nomeie a função, por exemplo
Fleet author - Em Set permissions, expanda Fleet Control e selecione o que a função contém na linha Fleets (individual): Modify para a função de autor, ou Deploy em Other para a função de implantador
- Salve e, em seguida, repita para a segunda função
Crie grupos para cada função:
- Crie o grupo
fleet-architectspara os autores, adicionando os usuários relevantes por meio do dropdown Add users no modal Create a group, ou posteriormente editando o grupo - Crie o grupo
fleet-deployment-operatorspara os implantadores, da mesma forma
- Crie o grupo
Conceda acesso com escopo de entidade para cada grupo:
- Vá para New Relic Control > Fleets, abra o menu kebab na frota de destino e selecione Fleet permissions
- Adicione um par de grupo e função:
fleet-architectscom Fleet author - Adicione um par de grupo e função:
fleet-deployment-operatorscom Fleet deployer - Salve, e ambas as concessões são criadas juntas
As funções personalizadas não recebem novas permissões por conta própria
Uma função personalizada contém apenas o que um administrador adicionou a ela. As funções padrão recebem as permissões para novos recursos no escopo da organização à medida que são lançados; portanto, se Fleet Control adicionar capacidades posteriormente, alguém terá que adicioná-las a cada função personalizada que deva tê-las.
Para usuários que devem obter novos recursos do Fleet Control automaticamente, atribua uma função padrão em vez disso.
Automação do NerdGraph
As funções personalizadas são criadas na interface. A criação de funções utiliza identificadores de permissão internos em vez dos nomes de permissão mostrados nas caixas de seleção, portanto, não há um caminho de API prático para criar as próprias funções.
Quando as funções existirem, conceda-as com a mesma mutação que o padrão básico, passando o ID de cada função.
Resultado: os autores de frotas podem estruturar as frotas que possuem, mas não podem executar implantações. Os operadores de implantação podem executar implantações, mas não podem redefinir ou excluir uma frota.
Padrão corporativo: gerenciamento de grupo delegado
Use a função Group admin com concessões com escopo de grupo para delegar o gerenciamento de associação de grupo.
Isso permite que os líderes de equipe adicionem e removam membros dos grupos de suas equipes sem precisar de privilégios totais de Authentication domain manager.
Passo a passo da interface
Criar um grupo de gerentes:
- Vá para Administration > Access management > Groups
- Criar grupo
fleet-team-leads - Adicione os líderes de equipe como membros
Conceder a função de administrador de grupo sobre os grupos de destino:
- Vá para Administration > Access management > Access grants
- Clique Create new grant
- Escolha uma concessão de grupo, que é o tipo de concessão que tem como destino outros grupos
- Selecionar grupo
fleet-team-leads - Função: Group admin
- Selecione os grupos que os líderes de equipe devem ser capazes de gerenciar, por exemplo,
fleet-architectsefleet-deployment-operators - Salvar
Resultado: os membros de fleet-team-leads agora podem adicionar e remover usuários de fleet-architects e fleet-deployment-operators sem precisar da função Authentication domain manager.
Limitação importante
Group admin pode gerenciar quem está em um grupo, mas não pode criar novas concessões de acesso ou atribuir grupos a novas frotas. Quando uma nova frota é criada, alguém com Authentication domain manager ainda deve criar a concessão de acesso para essa frota.
Automação do NerdGraph
mutation DelegateGroupManagement { authorizationManagementGrantAccess( grantAccessOptions: { grantee: { type: GROUP, id: "YOUR_TEAM_LEADS_GROUP_ID" } groupAccessGrants: [ { groupId: "YOUR_TARGET_GROUP_ID", roleId: "YOUR_GROUP_ADMIN_ROLE_ID" } ] } ) { accessGrants { id } }}Delegar o Controle de Agentes com várias unidades de negócios
Esta seção descreve um cenário que vimos com clientes que têm várias unidades de negócios autônomas e precisam delegar o gerenciamento de Fleet Control. Ela fornece tanto a solução recomendada quanto abordagens alternativas usando os padrões acima.
O cenário
Exemplo: a ByteFlix Entertainment é uma grande empresa de mídia com várias unidades de negócios autônomas operando sob uma única organização da New Relic:
- ByteFlix+, um serviço de streaming
- BBS, o ByteFlix Broadcast System, uma rede de transmissão
- PixelTV, uma rede de TV a cabo
Estrutura organizacional
TI central:
- Apenas duas ou três pessoas têm as funções Organization Manager e Authentication domain manager
- Eles gerenciam o licenciamento e a governança do New Relic
- Eles não configuram nem criam entidades de monitoramento
- Eles são um gargalo para as alterações de gerenciamento de acesso
Unidades de negócio:
- Cada unidade tem contas separadas sob a mesma organização da New Relic
- Cada unidade gerencia sua própria observabilidade de forma independente
- Muitas unidades usam prestadores de serviços para administrar a New Relic Infrastructure
O desafio
A ByteFlix deseja adotar Fleet Control, mas enfrenta dificuldades:
- Isolamento rigoroso de unidades de negócios exigido: as equipes do ByteFlix+ não devem gerenciar a infraestrutura do BBS ou da PixelTV
- Delegação de prestadores de serviços: os líderes de unidade precisam integrar prestadores de serviços sem envolver a TI central
- Separação de ciclo de vida: as operações de plataforma devem moldar as frotas e as equipes de aplicativos devem implantar, mas as equipes de aplicativos não devem conseguir excluir ou redefinir frotas
- Sem concessões amplas de administrador: a TI central não concederá Authentication domain manager às equipes das unidades devido a preocupações de segurança
Solução recomendada: organizações separadas
Com base na estrutura organizacional da ByteFlix, a multilocação é a solução ideal.
O que isso significa
Em vez de uma organização com várias contas, a ByteFlix cria três organizações separadas da New Relic:
- Organização ByteFlix+, com suas próprias contas
- Organização BBS, com suas próprias contas
- Organização PixelTV, com suas próprias contas
Cada unidade de negócios se torna sua própria organização isolada da New Relic.
Benefícios
- Isolamento completo da unidade de negócios: recursos com escopo de organização, incluindo Fleet Control, veem apenas os dados dentro da organização dessa unidade
- Sem visibilidade entre unidades: os usuários do ByteFlix+ não podem ver as entidades do BBS ou da PixelTV, garantido por limites organizacionais
- Administração autônoma: cada unidade tem seus próprios gerentes de domínio de autenticação e gerentes de organização sem afetar os outros
- Delegação de prestadores de serviços: cada unidade pode conceder acesso a prestadores de serviços sem envolver a TI central ou as outras unidades
- Permissões mais simples: não são necessárias concessões com escopo de entidade ou funções personalizadas para impor o isolamento
E quanto aos serviços compartilhados?
O compartilhamento de contas da New Relic permite que as contas cruzem os limites organizacionais. Se a ByteFlix tiver serviços de plataforma compartilhados, como logging centralizado ou infraestrutura compartilhada, que precisem de visibilidade entre as unidades, essas contas poderão ser compartilhadas em várias organizações.
Por exemplo, a TI central mantém uma organização de observabilidade compartilhada com as contas de plataforma compartilhadas, e as organizações ByteFlix+, BBS e PixelTV têm, cada uma, acesso de leitura a essas contas por meio do compartilhamento de contas.
Compensações
Prós:
- Modelo de isolamento mais forte, imposto por limites organizacionais
- Modelo de permissão mais simples, sem necessidade de concessões no escopo da entidade
- Cada unidade opera de forma completamente autônoma
Contras:
- Requer reestruturação organizacional, não apenas alterações de permissão
- Faturamento e licenciamento separados por organização, o que pode afetar a estrutura do contrato
- Serviços compartilhados exigem configuração de compartilhamento de conta
- Alguns relatórios entre organizações exigem dashboards personalizados ou recursos do Data Plus
Próximos passos para organizações separadas
Para seguir esse modelo, consulte multi-tenancy e, em seguida, entre em contato com seu representante de conta para trabalhar nos fluxos de trabalho de serviços compartilhados, em um plano de migração para mover unidades para organizações separadas, no compartilhamento de contas para quaisquer serviços de plataforma compartilhados e nas implicações de contrato e faturamento.
Solução alternativa: padrões de RBAC dentro de uma única organização
Se a ByteFlix não puder mudar para organizações separadas, devido a restrições de contrato, cronograma ou resistência organizacional, ela poderá alcançar resultados semelhantes usando os padrões de RBAC neste guia dentro de uma única organização.
Padrão 1: acesso com escopo de entidade (FGA)
O que isso resolve: separação de unidades de negócios dentro de uma única organização.
Como funciona: use o acesso refinado para conceder aos grupos de cada unidade acesso apenas às suas entidades de frota específicas.
Exemplo:
byteflix-plus-platform-opsconcedida a função Fleet manager, com escopo apenas para a frotabyteflix-plus-prod-k8sbbs-platform-opsconcedida a função Fleet manager, com escopo apenas para a frotabbs-prod-k8s
Resultado: as equipes do ByteFlix+ podem atuar apenas nas frotas do ByteFlix+, e as equipes do BBS apenas nas frotas do BBS.
Limitação: Isso exige que Authentication domain manager configure as concessões de acesso iniciais por meio da interface Fleet permissions. Uma vez estabelecido, os líderes de unidade não podem conceder acesso a novas frotas sem envolver a TI central.
Referência: padrão básico.
Padrão 2: funções de ciclo de vida personalizadas
O que isso resolve: separação do ciclo de vida, com as operações de plataforma moldando as frotas e as equipes de aplicativos implantando.
Como funciona: crie duas funções personalizadas com escopo de entidade direcionadas a Fleet:
- Autor da frota, contendo Modify, atribuído às equipes de operações de plataforma
- Implantador de frota, contendo Deploy, atribuído a Equipes de Aplicativos e prestadores de serviços
Ambas as funções são então concedidas aos seus grupos em entidades de frota específicas usando o Padrão 1.
Resultado: as operações de plataforma moldam as frotas que possuem, as equipes de aplicativos executam implantações e nenhuma delas pode excluir uma frota.
Limitação: a criação de funções personalizadas requer a edição Pro ou a edição Enterprise. Concedê-las em frotas requer Authentication domain manager, por meio da interface Fleet permissions.
Referência: padrão avançado.
Padrão 3: delegação de administrador de grupo
O que isso resolve: delegação de prestadores de serviços sem Authentication domain manager.
Como funciona: conceda aos líderes de unidade a função Group admin com escopo para os grupos operacionais de sua unidade.
Exemplo para ByteFlix+:
- Grupo:
byteflix-plus-bu-leads - Função: Group admin
- Escopo: pode gerenciar a associação de
byteflix-plus-platform-opsebyteflix-plus-app-teams
Resultado: os líderes de unidade podem adicionar e remover prestadores de serviços de grupos sem envolver a TI central e sem precisar de Authentication domain manager.
Limitação: os líderes de unidade podem gerenciar quem está em um grupo, mas não podem criar novas concessões de acesso ou atribuir grupos a novas frotas. Quando uma nova frota é criada, a TI central ainda deve criar a concessão de acesso para ela.
Referência: padrão enterprise.
Arquitetura RBAC combinada
Usando todos os três padrões juntos em uma única organização, a arquitetura da ByteFlix fica assim:
Organization: ByteFlix Entertainment
├── ByteFlix+ (Streaming BU):│ ├── Groups:│ │ ├── byteflix-plus-bu-leads (Group admin over operational groups)│ │ ├── byteflix-plus-platform-ops (Fleet author role)│ │ └── byteflix-plus-app-teams (Fleet deployer role, includes contractors)│ └── Fleets (entity-scoped to ByteFlix+ groups only):│ ├── byteflix-plus-prod-k8s│ └── byteflix-plus-stage-k8s│├── BBS (Broadcast BU):│ ├── Groups:│ │ ├── bbs-bu-leads (Group admin)│ │ ├── bbs-platform-ops (Fleet author role)│ │ └── bbs-app-teams (Fleet deployer role)│ └── Fleets (entity-scoped to BBS groups only):│ ├── bbs-prod-k8s│ └── bbs-stage-k8s│└── PixelTV (Cable BU): ├── Groups: │ ├── pixeltv-bu-leads (Group admin) │ ├── pixeltv-platform-ops (Fleet author role) │ └── pixeltv-app-teams (Fleet deployer role) └── Fleets (entity-scoped to PixelTV groups only): ├── pixeltv-prod-k8s └── pixeltv-stage-k8s
Custom entity-scoped roles, created once by central IT:├── Fleet author (Modify)└── Fleet deployer (Deploy)Trade-offs de RBAC
Prós:
- Nenhuma reestruturação organizacional necessária
- Contrato e relação de faturamento únicos
- Alcança a separação operacional entre unidades com concessões configuradas corretamente
Contras:
- Requer configuração inicial pela TI central, o que significa o envolvimento do gerente de domínio de autenticação
- Novas frotas ainda exigem que a TI central crie concessões de acesso, uma dependência contínua
- Um modelo de permissão mais complexo do que organizações separadas
- A separação depende da configuração correta de concessão de acesso e não é imposta por limites organizacionais
Esse modelo controla quem pode atuar em uma frota, não quem pode vê-la
Como as funções com escopo de frota não têm permissão de Read, todos que trabalham em Fleet Control precisam de acesso de leitura com escopo de organização. Os usuários do ByteFlix+ verão que as frotas BBS e PixelTV existem, mesmo que não possam atuar nelas.
Se as suas unidades de negócios não devem ver as frotas umas das outras de forma alguma, organizações separadas é o único modelo que oferece isso.
Requisitos da função
| Ação | Função necessária | Frequência | Notas |
|---|---|---|---|
| Configuração inicial de Agent Control | Gerente de domínio de autenticação | Uma vez | Cria identidades de sistema e atribui permissões |
| Criar/atualizar frotas | Administrador de produtos da organização | Em andamento | Atribuído automaticamente ao grupo User |
| Criar configurações | Administrador de produtos da organização | Em andamento | Atribuído automaticamente ao grupo User |
| Implantar frotas | Gerente de organização ou gerente de frota por frota | Em andamento | Atribuído automaticamente ao grupo Admin padrão. Como alternativa, use uma função com escopo de frota com implantar. |
| Excluir frotas e implantações | Gerente de organização ou gerente de frota por frota | Ocasional | A exclusão da configuração requer escopo no nível da organização |
| Aprovar configurações, definir política de aprovação | Gerenciador de Organização | Em andamento | Apenas com escopo de organização; não pode ter escopo por frota |
| Criar concessões de acesso | Gerente de domínio de autenticação | Por nova frota | Atribui grupos de usuários a frotas |
| Gerenciar associação de grupo | Administrador de grupo, delegado | Em andamento | Gerencia a associação sem privilégios totais de gerenciador de domínio. Consulte o Padrão 3 |
As funções são aditivas, portanto, um usuário que possui várias tem a soma de suas permissões. Para saber o que cada função padrão abrange, consulte conceitos de gerenciamento de usuário.
Problemas conhecidos e soluções alternativas
Não é possível consultar IDs de função diretamente
Problema: NerdGraph não fornece uma consulta direta para listar os IDs de função por nome.
Solução alternativa: leia-os dos grupos que já possuem a função:
{ actor { organization { authorizationManagement { authenticationDomains(id: "YOUR_AUTH_DOMAIN_ID") { authenticationDomains { groups { groups { displayName roles { roles { roleId displayName } } } } } } } } }}Como encontrar GUIDs de frota
Problema: os GUIDs da frota não são facilmente descobertos pela interface.
Solução alternativa: navegue até a página de detalhes da frota, onde o GUID está no URL após /fleets/. Para consultar frotas, consulte o tutorialNerdGraph Fleet Control .
Referência rápida: encontrando IDs do NerdGraph
IDs de organização e domínio de autenticação:
{ actor { organization { id name userManagement { authenticationDomains { authenticationDomains { id name } } } } }}IDs de grupo:
{ actor { organization { userManagement { authenticationDomains(id: "YOUR_AUTH_DOMAIN_ID") { authenticationDomains { groups { groups { id displayName } } } } } } }}ID da conta: visível na URL do New Relic, ou:
{ actor { accounts { id name } }}Modelo de script de automação
Para equipes que gerenciam várias frotas e grupos em escala, aqui está um modelo usando a New Relic CLI. Ele cria um grupo, cria uma frota e concede ao grupo acesso a essa frota.
Crie as funções personalizadas na interface primeiro, conforme descrito no padrão avançado, e passe o ID da função para o script.
$#!/bin/bash$set -euo pipefail$
$# Prerequisites:$# - New Relic CLI installed and profile configured with a user key$# - The Authentication domain manager role, required to create access grants$# - A role created in Administration > Access management > Roles, and its ID$
$AUTH_DOMAIN_ID="YOUR_AUTH_DOMAIN_ID"$ACCOUNT_ID="YOUR_ACCOUNT_ID"$ROLE_ID="YOUR_ROLE_ID"$GROUP_NAME="fleet-architects"$FLEET_NAME="production-us-east-k8s"$
$# 1. Create the group. Note the returned group ID.$echo "Creating group ${GROUP_NAME}..."$newrelic nerdgraph query 'mutation CreateGroup($authDomainId: ID!, $displayName: String!) {$ userManagementCreateGroup(createGroupOptions: {$ authenticationDomainId: $authDomainId$ displayName: $displayName$ }) {$ group { id displayName }$ }$}' --variables "{\"authDomainId\": \"${AUTH_DOMAIN_ID}\", \"displayName\": \"${GROUP_NAME}\"}"$
$# 2. Create the fleet. Note the returned fleet GUID.$echo "Creating fleet ${FLEET_NAME}..."$newrelic nerdgraph query 'mutation CreateFleet($name: String!, $scopeId: ID!) {$ fleetControlCreateFleet(fleetEntity: {$ name: $name$ description: "Created by setup script"$ managedEntityType: KUBERNETESCLUSTER$ scope: { type: ACCOUNT, id: $scopeId }$ }) {$ entity { id name }$ }$}' --variables "{\"name\": \"${FLEET_NAME}\", \"scopeId\": \"${ACCOUNT_ID}\"}"$
$# 3. Grant the group access to the fleet, using the IDs returned above.$GROUP_ID="GROUP_ID_FROM_STEP_1"$FLEET_GUID="FLEET_GUID_FROM_STEP_2"$
$echo "Granting entity-scoped access..."$newrelic nerdgraph query 'mutation GrantFleetAccess($groupId: ID!, $fleetGuid: ID!, $roleId: ID!) {$ authorizationManagementGrantAccess(grantAccessOptions: {$ grantee: { type: GROUP, id: $groupId }$ entityAccessGrants: {$ entity: { id: $fleetGuid, type: "fleet" }$ roleId: $roleId$ }$ }) {$ accessGrants { id }$ }$}' --variables "{\"groupId\": \"${GROUP_ID}\", \"fleetGuid\": \"${FLEET_GUID}\", \"roleId\": \"${ROLE_ID}\"}"$
$echo "Setup complete."Passe valores com --variables em vez de criar strings de consulta manualmente, para que nomes contendo espaços ou aspas não quebrem a solicitação. Para executar as etapas de forma autônoma, capture cada resposta e leia os IDs dela antes da próxima chamada.
Para um conjunto mais completo de operações de frota, incluindo atualização e exclusão de frotas e gerenciamento de implantações, consulte APIs e CLI doFleet Control .
Qual é o próximo
- Gerenciar frotas para a interface de permissões de frota e aprovações de configuração
- APIs e CLI do Controle de Agentes para acesso programático
- Segurança do Controle de Agentes para saber como as configurações e credenciais são protegidas
- Permissões de usuário e conceitos de gerenciamento de usuário para saber como grupos, funções e concessões de acesso funcionam em todo o New Relic