Como usar o SCIM e o Microsoft Graph em conjunto para provisionar usuários e enriquecer o seu aplicativo com os dados que ele precisa
Público-alvo: este artigo destina-se a desenvolvedores que criam aplicativos a serem integrados ao Microsoft Entra ID. Se você quiser usar aplicativos já integrados ao Microsoft Entra ID, como o Zoom, o ServiceNow e o Dropbox, ignore este artigo e examine os tutoriais específicos do aplicativo ou veja como o serviço de provisionamento funciona.
Cenários comuns
O Microsoft Entra ID fornece um serviço pronto para uso para provisionamento e uma plataforma extensível na qual criar os seus aplicativos. A árvore de decisão descreve como um desenvolvedor usaria o SCIM e o Microsoft Graph para automatizar o provisionamento.
- Criar automaticamente usuários no meu aplicativo
- Remover automaticamente os usuários do meu aplicativo quando eles não tiverem mais acesso
- Integrar meu aplicativo com vários provedores de identidade para provisionamento
- Enriquecer meu aplicativo com os dados de serviços da Microsoft, como o Teams, o Outlook e o Office.
- Criar, atualizar e excluir automaticamente usuários e grupos no Microsoft Entra ID e no Active Directory
Cenário 1: Criar automaticamente usuários no meu aplicativo
Hoje, os administradores de TI provisionam os usuários criando manualmente as contas de usuário ou carregando arquivos CSV periodicamente no meu aplicativo. O processo é demorado para os clientes e reduz a adoção do meu aplicativo. Tudo o que preciso é de informações básicas do usuário, como nome, email e userPrincipalName, para criar um usuário.
Recomendação:
- Se os seus clientes usam vários IdPs e você não deseja manter um mecanismo de sincronização para fazer a integração com cada um deles, dê suporte a um ponto de extremidade /Users em conformidade com SCIM. Os seus clientes poderão usar com facilidade esse ponto de extremidade para se integrar ao serviço de provisionamento do Microsoft Entra e criar automaticamente as contas de usuário quando precisarem de acesso. Você pode criar o ponto de extremidade uma vez e ele será compatível com todos os IdPs. Confira a solicitação de exemplo abaixo para saber como um usuário seria criado usando o SCIM.
- Se você precisar de dados de usuário encontrados no objeto de usuário no Microsoft Entra ID e outros dados de toda a Microsoft, considere criar um ponto de extremidade do SCIM para provisionar o usuário e chamar o Microsoft Graph para obter o restante dos dados.
POST /Users
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
"externalId": "0a21f0f2-8d2a-4f8e-bf98-7363c4aed4ef",
"userName": "BillG",
"active": true,
"meta": {
"resourceType": "User"
},
"name": {
"formatted": "Bill Gates",
"familyName": "Gates",
"givenName": "Bill"
},
"roles": []
}
Cenário 2: Remover automaticamente os usuários do meu aplicativo
Os clientes que usam o meu aplicativo são focados em segurança e têm requisitos de governança para remover as contas quando os funcionários não precisarem mais delas. Como é possível automatizar o desprovisionamento do meu aplicativo?
Recomendação: suporte a um ponto de extremidade /Users em conformidade com SCIM. O serviço de provisionamento do Microsoft Entra enviará solicitações para desabilitar e excluir quando o usuário não precisar mais de acesso. Recomendamos dar suporte à desabilitação e à exclusão de usuários. Confira os exemplos abaixo para saber a aparência de uma solicitação de desabilitação e exclusão.
Desabilitar usuário
PATCH /Users/5171a35d82074e068ce2 HTTP/1.1
{
"Operations": [
{
"op": "Replace",
"path": "active",
"value": false
}
],
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
]
}
Excluir usuário
DELETE /Users/5171a35d82074e068ce2 HTTP/1.1
Cenário 3: Automatizar o gerenciamento de associações de grupo no meu aplicativo
Meu aplicativo depende de grupos para acesso a vários recursos e os clientes desejam reutilizar os grupos que eles têm no Microsoft Entra ID. Como importar grupos do Microsoft Entra ID e mantê-los atualizados conforme as associações forem alteradas?
Recomendação: suporte a um ponto de extremidade /Groups em conformidade com SCIM. O serviço de provisionamento do Microsoft Entra realizará a criação de grupos e o gerenciamento de atualizações de associação no seu aplicativo.
Cenário 4: Enriquecer meu aplicativo com os dados de serviços da Microsoft, como o Teams, o Outlook e o OneDrive
Meu aplicativo é integrado ao Microsoft Teams e se baseia em dados de mensagens. Além disso, armazenamos arquivos para usuários no OneDrive. Como eu posso enriquecer meu aplicativo com os dados desses serviços e na Microsoft?
Recomendação: o Microsoft Graph é o seu ponto de entrada para acessar os dados da Microsoft. Cada carga de trabalho expõe as APIs com os dados de que você precisa. O Microsoft Graph pode ser usado junto com o provisionamento do SCIM nos cenários acima. Você pode usar o SCIM para provisionar atributos básicos do usuário no seu aplicativo ao mesmo tempo que chame o grafo para obter todos os outros dados necessários.
Cenário 5: Controlar alterações nos serviços da Microsoft, como Teams, Outlook e Microsoft Entra ID
Preciso ser capaz de controlar as alterações nas mensagens do Teams e do Outlook e reagir a elas em tempo real. Como fazer para que essas alterações sejam enviadas por push para meu aplicativo?
Recomendação: o Microsoft Graph fornece notificações de alteração e controle de alterações em vários recursos. Observe as seguintes limitações de notificações de alteração:
- Se um receptor de eventos reconhecer um evento, mas não agir por qualquer motivo, o evento poderá ser perdido.
- A ordem na qual as alterações são recebidas não é necessariamente cronológica.
- As notificações de alteração nem sempre contêm os dados do recurso. Pelos motivos acima, os desenvolvedores geralmente usam notificações de alteração junto com o controle de alterações em cenários de sincronização.
Cenário 6: Provisionar usuários e grupos no Microsoft Entra ID
Meu aplicativo cria informações sobre um usuário que os clientes precisam no Microsoft Entra ID. Isso pode ser um aplicativo de RH que gerencia a contratação, um aplicativo de comunicações que cria números de telefone para usuários ou algum outro aplicativo que gera dados que seriam valiosos no Microsoft Entra ID. Como popular o registro de usuário no Microsoft Entra ID com esses dados?
Recomendação: o Microsoft Graph expõe os pontos de extremidade /Users e /Groups com os quais você pode integrar atualmente para provisionar usuários no Microsoft Entra ID. Observe que o Microsoft Entra ID não dá suporte à gravação desses usuários novamente no Active Directory.
Observação
A Microsoft tem um serviço de provisionamento que efetua pull de dados dos aplicativos de RH, como o Workday e o SuccessFactors. Essas integrações são criadas e gerenciadas pela Microsoft. Para integrar um novo aplicativo de RH ao nosso serviço, solicite-o no UserVoice.