Share via


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

SCIM Graph decision tree

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.