Este tutorial irá guiá-lo através de alguns procedimentos comuns para gerenciar usuários por meio de nossa API SCIM. A API SCIM permite visualizar, criar, atualizar e excluir usuários e grupos de forma programática, fora da interface de gerenciamento de usuários.
Requisitos
Este tutorial se aplica a usuários em nosso modelo de usuário mais recente e não em nosso modelo de usuário original.
Antes de usar este tutorial, recomendamos que você leia:
- Os requisitos para gerenciamento automatizado de usuários e uso da API SCIM.
- Conceitos importantes de gerenciamento de usuários
- A principal referência da API SCIM
Outros recursos relacionados:
- Alguns documentos SCIM 2.0 RFC da Internet Engineering Task Force que são mais relevantes: RFC 7643 - SCIM Core Resources and Extensions, RFC 7643 - JSON Representation e RFC 7644 - SCIM Protocol.
Visão geral
Este tutorial mostra como realizar algumas das tarefas mais comuns necessárias para adicionar usuários ao New Relic a partir de um serviço de provedor de identidade e gerenciá-los a partir daí. Destina-se a complementar nosso principal recurso da API SCIM.
Observe que usar o gerenciamento automatizado de usuários significa que seus grupos de usuários serão importados para o New Relic. Isso significa que você não pode usar nossa interface de gerenciamento de usuários para adicionar usuários a grupos. Os grupos são criados e gerenciados pelo seu provedor de identidade.
Quando terminar de colocar seus grupos de usuários no New Relic, você deverá usar nossa interface de usuário Access management para conceder a esses grupos acesso a funções e contas. Para obter mais informações, consulte Conceitos de gerenciamento de usuários.
Configure seu domínio de autenticação para SCIM
Antes de poder usar a API SCIM, você deve primeiro ativar o SCIM para seu domínio de autenticação. Observe que o token de acesso da API é exibido apenas uma vez após você salvar a configuração, portanto, salve-o em algum lugar seguro para o usuário posterior.
Dica
Se você precisar visualizar um token ao portador posteriormente, a única maneira de fazer isso é gerar um novo, e isso invalidará o antigo e qualquer integração usando o token antigo.
Crie usuários e grupos de usuários em seu sistema
A API SCIM normalmente é usada por script para importar usuários e grupos para o New Relic a partir de um banco de dados ou de um provedor de identidade de terceiros que não tenha configurações pré-configuradas para o New Relic.
Se você quiser usar o aplicativo personalizado da API SCIM ou para solicitações ad hoc, aprenda como se conectar à API SCIM.
Conecte-se à API SCIM
A API SCIM está disponível em https://scim-provisioning.service.newrelic.com/scim/v2
e esse URL pode ser visualizado na página de configurações do domínio de autenticação. Para acessar a API SCIM, seu cliente deve incluir um bearer token em cada solicitação. O token é exibido após salvar a configuração do seu domínio de autenticação.
Se você estiver usando um provedor de identidade de terceiros, configure-o para usar Bearer token authorization e conecte seu token de acesso à API. Consulte a documentação do seu provedor de identidade para obter ajuda na configuração. Uma vez configurado, você está pronto para importar usuários e grupos.
Em vez de ler todas as RFCs do protocolo SCIM, há três seções específicas que você pode achar valiosas: Consulte RFC 7643 - Recursos e extensões principais do SCIM e RFC 7643 - Representação JSON para obter detalhes. Consulte RFC 7644 – Protocolo SCIM para obter mais informações sobre o protocolo usado neste tutorial.
Para todas as solicitações à API SCIM, você deve fornecer o token do portador em um cabeçalho Authorization
. Aqui está um exemplo com curl
:
curl -X 'GET' -H 'Accept: application/json' -H "Authorization: Bearer $TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users'
Qualquer solicitação no restante deste tutorial receberá uma resposta 401 Unauthorized se o token de acesso à API estiver ausente ou for inválido.
Exemplo de resposta:
Crie um usuário no seu domínio de autenticação
Você pode usar a API SCIM para enviar uma solicitação POST
a /scim/v2/Users
para criar um usuário. Os seguintes atributos de usuário são required:
userName
Este identificadormust
será exclusivo dentro de um domínio de autenticação. Use o endereço de e-mail do usuário.
emails
O mesmo queuserName
. O endereço de e-mail do usuário. (Apesar de ser chamadoemails
, para este procedimento insira apenas um.)active
Booleano que indica se o usuário deve ou não estar ativo ou inativo no New Relic.
Recomendamos fornecer o seguinte atributo para a melhor experiência do usuário:
name.givenName
O nome próprio ou próprio do usuário.name.familyName
O sobrenome ou sobrenome do usuário.timezone
O fuso horário do usuário no formato de banco de dados de fuso horário da IANA.
curl -X 'POST' -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users' --data-binary @- <<EOF{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "bjensen@example.com", "name": { "familyName": "Jensen", "givenName": "Barbara" }, "emails": [ { "primary": true, "value": "bjensen@example.com" } ], "active": true, "timezone": "America/Los_Angeles"}EOF
Importante
Anote o usuário retornado id
. Para atualizar um usuário no futuro, você precisará fornecer o mesmo ID da solicitação.
Exemplos de respostas
Crie grupos no seu domínio de autenticação
Você pode usar a API SCIM para enviar uma solicitação POST
a /scim/v2/Groups
para criar um grupo. O único atributo de grupo required é:
displayName
O nome do grupo.
curl -X 'POST' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups' --data-binary @- <<EOF{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], "displayName": "Example Group"}EOF
Importante
Anote o grupo retornado id
. Para atualizar um grupo ou seus membros no futuro, você precisará fornecer o mesmo ID na solicitação.
Exemplos de respostas
Visualize usuários e grupos em seu domínio de autenticação
Depois de criar alguns usuários e grupos, você os verá na interface de gerenciamento de usuários. Você também pode recuperá-los da API SCIM.
Neste tutorial, você procurará usuários e grupos específicos, mas essa não é a única maneira de visualizar usuários e grupos. Consulte a referência da API SCIM e RFC 7644 para todas as opções de consulta disponíveis.
Para recuperar um usuário por email, envie uma solicitação GET
para /scim/v2/Users
com um parâmetro de consulta filter
. O parâmetro filter
deve ser codificado por URL.
curl -X 'GET' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users' --get --data-urlencode 'filter=userName eq "bjensen@example.com"'
Exemplo de resposta:
Da mesma forma, envie uma solicitação GET
para /scim/v2/Groups
com um parâmetro de consulta filter
para recuperar um grupo por nome.
curl -X 'GET' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups' --get --data-urlencode 'filter=displayName eq "Example Group"'
Exemplo de resposta:
Atualizar o atributo de um usuário
A API SCIM oferece suporte aos métodos PUT
e PATCH
para atualização do usuário. Consulte as ações suportadas pela API SCIM e RFC 7644 para obter detalhes sobre como usar PATCH
. Este tutorial demonstra a atualização do atributo de um usuário com o método PUT
.
O New Relic não exige que todos os atributos do usuário sejam incluídos no corpo da solicitação, apenas os atributos que você deseja atualizar são necessários. Envie uma solicitação PUT
para /scim/v2/Users/${ID}
para atualizar o usuário.
curl -X 'PUT' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users/5a1d580f-323c-450c-8c62-479b5c9085d6' --data-binary @- <<EOF{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "timezone": "America/Chicago"}EOF
Exemplos de respostas
Atualizar os membros de um grupo
A API SCIM oferece suporte aos métodos PUT
e PATCH
para atualização de grupos. Este tutorial mostrará como atualizar os membros de um grupo com o método PATCH
. Consulte as ações suportadas pela API SCIM e RFC 7644 para obter detalhes sobre como usar PUT
.
PATCH
é conveniente para adicionar ou remover membros do grupo sem a necessidade de especificar a lista completa de membros na solicitação. Para adicionar um usuário a um grupo, use o seguinte parâmetro de operação:
op
definido comoAdd
path
definido comomembers
value
definido como uma lista de{"value": "${USER_ID}"}
com cada ID de usuário para adicionar ao grupo
Envie uma solicitação PATCH
para /scim/v2/Groups/${ID}
para atualizar os membros do grupo.
curl -X 'PATCH' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups/df2b9a04-0426-4a3e-bf5f-54d5341f4e5b' --data-binary @- <<EOF{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "Add", "path": "members", "value": [{ "value": "5a1d580f-323c-450c-8c62-479b5c9085d6" }] }]}EOF
Exemplo de resposta:
Para remover um usuário de um grupo, use o seguinte parâmetro de operação:
op
definido comoRemove
path
definido comomembers
value
definido como uma lista de{"value": "${USER_ID}"}
com cada ID de usuário para remover do grupo
curl -X 'PATCH' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups/df2b9a04-0426-4a3e-bf5f-54d5341f4e5b' --data-binary @- <<EOF{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "Remove", "path": "members", "value": [{ "value": "5a1d580f-323c-450c-8c62-479b5c9085d6" }] }]}EOF
Exemplo de resposta:
Excluir usuário e grupos
Para remover um usuário de um domínio de autenticação, envie uma solicitação DELETE
para /scim/v2/Users/${ID}
.
curl -X 'DELETE' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users/d0f4d8e3-5413-4894-a8f9-de709994e18c'
Exemplo de resposta:
204 No Content
Da mesma forma, para remover um grupo do seu domínio de autenticação, envie uma solicitação DELETE
para /scim/v2/Groups/${ID}
.
curl -X 'DELETE' -H 'Accept: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Groups/df2b9a04-0426-4a3e-bf5f-54d5341f4e5b'
Exemplo de resposta:
204 No Content
Próximos passos
Assim que sua integração for concluída, as próximas etapas possíveis incluem:
- Por padrão, seu usuário New Relic começará como usuário básico e você terá a opção de atualizá-lo. Para obter mais informações, consulte Gerenciar tipo de usuário.
- Configure o SSO SAML.
- Depois que seus grupos de usuários estiverem no New Relic, você precisará atribuir a eles funções e contas específicas. Saiba mais sobre como funciona o acesso do usuário.
Opcional: Gerenciar tipo de usuário
Depois que a integração da API SCIM for concluída, todos os usuários trazidos para o New Relic começarão como usuários básicos. Você pode usar nosso método padrão para gerenciar o tipo de usuário, que é usando a interface de gerenciamento de usuários. Opcionalmente, você pode usar nossa API SCIM. Para fazer isso, você pode definir a atualização da configuração do domínio de autenticação para Delegar o controle do tipo de usuário ao seu provedor de identidade ou aplicativo personalizado.
O atributo type do usuário é definido no esquema customizado urn:ietf:params:scim:schemas:extension:newrelic:2.0:User
. Inclua esse esquema e o atributo de string nrUserType
em sua solicitação de criação ou atualização para definir o tipo de usuário.
Os valores válidos para nrUserType
incluem:
Full User
Core User
Basic User
Para criar um novo Basic user
envie uma solicitação POST
/scim/v2/Users
e inclua a extensão de esquema New Relic personalizada:
curl -X 'POST' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users' --data-binary @- <<EOF{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:newrelic:2.0:User" ], "userName": "jbenson@example.com", "name": { "givenName": "James", "familyName": "Benson" }, "emails": [{ "primary": true, "value": "jbenson@example.com", "type": "work" }], "active": true, "timezone": "America/Chicago", "urn:ietf:params:scim:schemas:extension:newrelic:2.0:User": { "nrUserType": "Basic User" }}EOF
Exemplos de respostas
Para atualizar o tipo de um usuário, envie uma PUT
solicitação scim/v2/Users/${ID}
e inclua a extensão de esquema personalizada do New Relic:
curl -X 'PUT' -H 'Content-Type: application/json' -H "Authorization: Bearer $YOUR_TOKEN" 'https://scim-provisioning.service.newrelic.com/scim/v2/Users' --data-binary @- <<EOF{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:newrelic:2.0:User" ], "urn:ietf:params:scim:schemas:extension:newrelic:2.0:User": { "nrUserType": "Full User" }}EOF