Partilhar via


Usando o SCIM e o Microsoft Graph juntos para provisionar usuários e enriquecer seu aplicativo com os dados de que ele precisa

Público-alvo: Este artigo é direcionado para desenvolvedores que criam aplicativos a serem integrados ao Microsoft Entra ID. Se você deseja usar aplicativos já integrados ao Microsoft Entra ID, como Zoom, ServiceNow e DropBox, pode ignorar este artigo e revisar os tutoriais específicos do aplicativo ou como o serviço de provisionamento funciona.

Cenários comuns

O Microsoft Entra ID fornece um serviço pronto para provisionamento e uma plataforma extensível para criar seus aplicativos. A árvore de decisão descreve como um desenvolvedor usaria o SCIM e o Microsoft Graph para automatizar o provisionamento.

  • Criar usuários automaticamente no meu aplicativo
  • Remover automaticamente os usuários do meu aplicativo quando eles não deveriam mais ter acesso
  • Integrar meu aplicativo com vários provedores de identidade para provisionamento
  • Enriqueça meu aplicativo com dados de serviços da Microsoft, como Teams, Outlook e Office.
  • Criar, atualizar e excluir automaticamente usuários e grupos no Microsoft Entra ID e no Ative Directory

Árvore de decisão do gráfico SCIM

Cenário 1: Criar usuários automaticamente no meu aplicativo

Hoje, os administradores de TI provisionam os usuários criando manualmente contas de usuário ou carregando periodicamente arquivos CSV no meu aplicativo. O processo é demorado para os clientes e retarda a adoção do meu aplicativo. Tudo o que preciso é de informações básicas do usuário, como nome, e-mail e userPrincipalName para criar um usuário.

Recomendação:

  • Se seus clientes usam vários IdPs e você não deseja manter um mecanismo de sincronização para integrar com cada um, ofereça suporte a um endpoint /Users compatível com SCIM. Seus clientes poderão usar facilmente esse ponto de extremidade para se integrar ao serviço de provisionamento Microsoft Entra e criar automaticamente contas de usuário quando precisarem de acesso. Você pode criar o endpoint uma vez e ele será compatível com todos os IdPs. Confira o exemplo de solicitação 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 ID do Microsoft Entra e outros dados de toda a Microsoft, considere criar um ponto de extremidade SCIM para provisionamento de 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 utilizadores da minha aplicação

Os clientes que usam meu aplicativo são focados em segurança e têm requisitos de governança para remover contas quando os funcionários não precisam mais delas. Como posso automatizar o desprovisionamento do meu aplicativo?

Recomendação: Suporte a um endpoint /Users compatível com SCIM. O serviço de provisionamento Microsoft Entra enviará solicitações para desabilitar e excluir quando o usuário não tiver mais acesso. Recomendamos o suporte para desabilitar e excluir usuários. Veja os exemplos abaixo para saber como é uma solicitação de desabilitação e exclusão.

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

Eliminar utilizador

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 acessar vários recursos e os clientes desejam reutilizar os grupos que têm no Microsoft Entra ID. Como posso importar grupos do Microsoft Entra ID e mantê-los atualizados à medida que as associações mudam?

Recomendação: Ofereça suporte a um endpoint /Groups compatível com SCIM. O serviço de provisionamento Microsoft Entra cuidará da criação de grupos e do gerenciamento de atualizações de associação em seu aplicativo.

Cenário 4: Enriquecer meu aplicativo com dados de serviços da Microsoft, como Teams, Outlook e OneDrive

A minha aplicação está integrada no Microsoft Teams e depende de dados de mensagens. Além disso, armazenamos arquivos para usuários no OneDrive. Como posso enriquecer meu aplicativo com os dados desses serviços e em toda a Microsoft?

Recomendação: O Microsoft Graph é o seu ponto de entrada para aceder aos dados da Microsoft. Cada carga de trabalho expõe APIs com os dados de que você precisa. O Microsoft graph pode ser usado junto com o provisionamento SCIM para os cenários acima. Você pode usar o SCIM para provisionar atributos básicos de usuário em seu aplicativo enquanto chama o gráfico para obter quaisquer 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 acompanhar as alterações nas mensagens do Teams e do Outlook e reagir a elas em tempo real. Como posso enviar essas alterações para o meu aplicativo?

Recomendação: O Microsoft Graph fornece notificações de alterações e controle de alterações para vários recursos. Observe as seguintes limitações das notificações de alteração:

  • Se um recetor de evento reconhecer um evento, mas não agir sobre ele por qualquer motivo, o evento pode ser perdido.
  • Não é garantido que a ordem de receção das alterações seja cronológica.
  • As notificações de alteração nem sempre contêm os dados do recurso Pelos motivos acima, os desenvolvedores costumam usar notificações de alteração junto com o controle de alterações para 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. Pode ser um aplicativo de RH que gerencia contratações, um aplicativo de comunicações que cria números de telefone para os usuários ou algum outro aplicativo que gera dados que seriam valiosos no Microsoft Entra ID. Como preencher o registro de usuário no Microsoft Entra ID com esses dados?

Recomendação O gráfico da Microsoft expõe os pontos de extremidade /Users e /Groups com os quais você pode se integrar hoje para provisionar usuários no Microsoft Entra ID. Observe que o Microsoft Entra ID não suporta a gravação desses usuários de volta no Ative Directory.

Nota

A Microsoft tem um serviço de provisionamento que obtém dados de aplicativos de RH, como Workday e SuccessFactors. Essas integrações são criadas e gerenciadas pela Microsoft. Para integrar um novo aplicativo de RH ao nosso serviço, você pode solicitá-lo no UserVoice.