Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A ID do Microsoft Entra pode provisionar automaticamente usuários e grupos em qualquer aplicativo ou sistema fronted por um serviço Web com a interface definida na especificação de protocolo SCIM (System for Cross-Domain Identity Management) 2.0.
O suporte do Microsoft Entra para o protocolo SCIM 2.0 é descrito em Usar o SCIM (System for Cross-Domain Identity Management) para provisionar automaticamente usuários e grupos da ID do Microsoft Entra para aplicativos, que lista as partes específicas do protocolo que ele implementa para provisionar automaticamente usuários e grupos da ID do Microsoft Entra para aplicativos que dão suporte ao SCIM 2.0.
Este artigo descreve os problemas atuais e anteriores com a aderência ao serviço de provisionamento do usuário do Microsoft Entra ao protocolo SCIM 2.0 e como trabalhar nesses problemas.
Noções básicas sobre o trabalho de provisionamento
O serviço de provisionamento usa o conceito de um trabalho para operar em um aplicativo. O jobID pode ser encontrado na barra de progresso. Todos os novos aplicativos de provisionamento são criados com uma jobID começando com scim. O trabalho SCIM representa o estado atual do serviço. Trabalhos mais antigos têm a ID customappsso. Esse trabalho representa o estado do serviço em 2018.
Se você estiver usando um aplicativo na galeria, o trabalho geralmente conterá o nome do aplicativo (como zoom snowFlake ou dataBricks). Você pode ignorar esta documentação ao usar um aplicativo da galeria. Isso se aplica principalmente a aplicativos fora da galeria com a jobID SCIM ou customAppSSO.
Problemas de conformidade de SCIM 2.0 e o status
No item, qualquer item marcado como fixo significa que o comportamento adequado pode ser encontrado no trabalho SCIM. Trabalhamos para garantir a compatibilidade com versões anteriores das alterações que fizemos. É recomendável usar o novo comportamento das novas implementações e atualizar as implementações existentes. O comportamento customappSSO que era o padrão antes de dezembro de 2018 não tem mais suporte.
Observação
Para as alterações feitas em 2018, é possível reverter para o comportamento customappsso. Para as alterações feitas desde 2018, você pode usar as URLs para reverter para o comportamento mais antigo. Trabalhamos para garantir a compatibilidade com versões anteriores das alterações que fizemos, permitindo que você reverta para a jobID antiga ou usando um sinalizador. No entanto, como mencionado anteriormente, não recomendamos implementar o comportamento antigo, pois ele não tem mais suporte. É recomendável usar o novo comportamento das novas implementações e atualizar as implementações existentes.
| Problema de conformidade do SCIM 2.0 | Fixo? | Data da correção | Compatibilidade |
|---|---|---|---|
| O Microsoft Entra ID requer "/scim" para estar na raiz da URL do ponto de extremidade do SCIM do aplicativo | Sim | 18 de dezembro de 2018 | faça downgrade para customappSSO |
Atributos de extensão usam notação de ponto . antes de nomes de atributo em vez de notação de dois-pontos ":" |
Sim | 18 de dezembro de 2018 | faça downgrade para customappSSO |
| As solicitações de patch para atributos com vários valores contêm a sintaxe de filtro de caminho inválido | Sim | 18 de dezembro de 2018 | faça downgrade para customappSSO |
| As solicitações de criação de grupo contêm um URI de esquema inválido | Sim | 18 de dezembro de 2018 | faça downgrade para customappSSO |
| Atualizar o comportamento do PATCH para garantir a conformidade (por exemplo, ativo como booleano e remoções adequadas de associações do grupo) | Não | TBD | usar sinalizador de recursos |
Sinalizadores para alterar o comportamento de SCIM
Use os sinalizadores na URL do locatário do aplicativo para alterar o comportamento padrão do cliente SCIM.
Usar a URL a seguir para atualizar o comportamento de PATCH e garantir a conformidade do SCIM. O sinalizador altera os seguintes comportamentos:
- Solicitações feitas para desabilitar usuários
- Solicitações para adicionar um atributo de cadeia de caracteres de valor único
- Solicitações para substituir vários atributos
- Solicitações para remover um membro do grupo
Esse comportamento está disponível apenas no momento de usar o sinalizador, mas se tornará o comportamento padrão nos próximos meses. Observe que esse sinalizador de recurso atualmente não funciona com provisionamento sob demanda.
- URL (Compatível com SCIM): aadOptscim062020
- Referências do SCIM RFC:
Solicitações de exemplo para ajudar a descrever o que o mecanismo de sincronização envia no momento em comparação com as solicitações que são enviadas depois que o sinalizador de recurso está habilitado.
Solicitações feitas para desabilitar os usuários:
Sem sinalizador de recurso
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Replace",
"path": "active",
"value": "False"
}
]
}
Com o sinalizador de recurso
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "replace",
"path": "active",
"value": false
}
]
}
Solicitações feitas para adicionar um atributo de cadeia de caracteres de valor único:
Sem sinalizador de recurso
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Add",
"path": "nickName",
"value": "Babs"
}
]
}
Com o sinalizador de recurso
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "add",
"path": "nickName",
"value": "Babs"
}
]
}
Solicitações para substituir vários atributos:
Sem sinalizador de recurso
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Replace",
"path": "displayName",
"value": "Pvlo"
},
{
"op": "Replace",
"path": "emails[type eq \"work\"].value",
"value": "TestBcwqnm@test.microsoft.com"
},
{
"op": "Replace",
"path": "name.givenName",
"value": "Gtfd"
},
{
"op": "Replace",
"path": "name.familyName",
"value": "Pkqf"
},
{
"op": "Replace",
"path": "externalId",
"value": "Eqpj"
},
{
"op": "Replace",
"path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber",
"value": "Eqpj"
}
]
}
Com o sinalizador de recurso
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "replace",
"path": "emails[type eq \"work\"].value",
"value": "TestMhvaes@test.microsoft.com"
},
{
"op": "replace",
"value": {
"displayName": "Bjfe",
"name.givenName": "Kkom",
"name.familyName": "Unua",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber": "Aklq"
}
}
]
}
Solicitações feitas para remover um membro do grupo:
Sem sinalizador de recurso
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Remove",
"path": "members",
"value": [
{
"value": "u1091"
}
]
}
]
}
Com o sinalizador de recurso
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "remove",
"path": "members[value eq \"7f4bc1a3-285e-48ae-8202-5accb43efb0e\"]"
}
]
}
- URL de downgrade: Depois que o novo comportamento compatível com SCIM se tornar o padrão no aplicativo que não é da galeria, você poderá usar a seguinte URL para reverter para o comportamento antigo e não compatível com SCIM: AzureAdScimPatch2017
Atualizar o trabalho customappsso mais antigo para o trabalho SCIM
Exclua seu trabalho existente customappsso e crie um novo trabalho SCIM.
Entre no Centro de administração do Microsoft Entra como pelo menos um Administrador de Aplicativos.
Navegue até aplicativos Entra ID>Enterprise.
Localize e selecione seu aplicativo SCIM existente.
Na seção Propriedades do aplicativo SCIM existente, copie a ID do Objeto.
Em uma nova janela do navegador da Web, acesse https://developer.microsoft.com/graph/graph-explorer e entre como o administrador do locatário do Microsoft Entra o qual o aplicativo foi adicionado.
No Explorador do Graph, execute o comando a seguir para localizar a ID do seu trabalho de provisionamento. Substitua "[object-id]" pelo serviço de ID da entidade (ID de objeto) copiado da terceira etapa.
GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs
Nos resultados, copie a cadeia de caracteres completa de "ID" que começa com "customappsso" ou "scim".
Execute o comando a seguir para recuperar a configuração de mapeamento de atributo, para que você possa fazer um backup. Use o mesmo [object-id] como antes e substitua [job-id] pela ID de trabalho de provisionamento copiada da última etapa.
GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]/schemaCopie a saída JSON da última etapa e salve-a em um arquivo de texto. O JSON contém qualquer mapeamento de atributo personalizado que você adicionou ao aplicativo antigo e deve ser de aproximadamente alguns milhares de linhas de JSON.
Execute o comando a seguir para excluir o trabalho de provisionamento:
DELETE https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]Execute o comando a seguir para criar um novo trabalho de provisionamento que tenha as correções mais recentes do serviço.
POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs
{ "templateId": "scim" }
- Nos resultados da última etapa, copie a cadeia de caracteres completa de "ID" que começa com "scim". Opcionalmente, reaplique os mapeamentos de atributos antigos, executando o comando abaixo, substituindo [new-job-id] pela nova ID de trabalho que você copiou e inserindo a saída JSON da etapa 7 como o corpo da solicitação.
PUT https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[new-job-id]/schema
{ <your-schema-json-here> }
- Retorne à primeira janela do navegador da Web e selecione a guia Provisionamento para seu aplicativo.
- Verifique a configuração e, em seguida, inicie o trabalho de provisionamento.
Fazer downgrade do trabalho SCIM para o trabalho customappsso (não recomendado)
Permitimos que você faça downgrade de volta para o comportamento antigo, mas não o recomendamos, pois o customappsso não se beneficia de algumas das atualizações que fazemos e pode não ter suporte para sempre.
Entre no Centro de administração do Microsoft Entra como pelo menos um Administrador de Aplicativos.
Navegue até aplicativos Entra ID>Enterprise.
Na seção Criar aplicativo , crie um novo aplicativo que não seja da galeria .
Na seção Propriedades do novo aplicativo personalizado, copie a ID do objeto.
Em uma nova janela do navegador da Web, acesse https://developer.microsoft.com/graph/graph-explorer e entre como o administrador do locatário do Microsoft Entra o qual o aplicativo foi adicionado.
No Graph Explorer, execute o comando a seguir para inicializar a configuração de provisionamento para seu aplicativo. Substitua "[object-id]" pelo serviço de ID da entidade (ID de objeto) copiado da terceira etapa.
POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs{ templateId: "customappsso" }Retorne à primeira janela do navegador da Web e selecione a guia Provisionamento para seu aplicativo.
Conclua o configuração de provisionamento de usuário conforme faria normalmente.
Próximas etapas
Saiba mais sobre provisionamento e desprovisionamento para aplicativos SaaS