Início Rápido: Introdução ao provisionamento de entrada controlado por API usando cURL
Introdução
O cURL é uma ferramenta de linha de comando popular, gratuita, de código aberto, usada por desenvolvedores de API e está disponível por padrão no Windows 10/11. Esse tutorial descreve como você pode testar rapidamente o provisionamento de entrada controlado por API com o cURL.
Pré-requisitos
- Você configurou o aplicativo de provisionamento de entrada controlado por API.
- Você configurou uma entidade de serviço e ela tem acesso à API de provisionamento de entrada. Anote o
ClientId
eClientSecret
do aplicativo da entidade de serviço para uso neste tutorial.
Carregar dados do usuário na API de provisionamento de entrada
- Recupere client_id e client_secret da entidade de serviço que tem acesso à API de provisionamento de entrada.
- Use o fluxo de concessão client_credentials do OAuth para obter um token de acesso. Substitua as variáveis
[yourClientId]
,[yourClientSecret]
e[yourTenantId]
por valores aplicáveis à sua configuração e execute o comando cURL a seguir. Copiar o valor do token de acesso geradocurl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=[yourClientId]&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret=[yourClientSecret]&grant_type=client_credentials" "https://login.microsoftonline.com/[yourTenantId]/oauth2/v2.0/token"
- Copie a solicitação em massa com o Esquema de Usuário Empresarial do SCIM e salve o conteúdo em um arquivo chamado
scim-bulk-upload-users.json
. - Substitua a variável
[InboundProvisioningAPIEndpoint]
pelo ponto de extremidade da API de provisionamento associado ao seu aplicativo de provisionamento. Use o valor[AccessToken]
da etapa anterior e execute o comando curl a seguir para carregar a solicitação em massa no ponto de extremidade da API de provisionamento.curl -v "[InboundProvisioningAPIEndpoint]" -d @scim-bulk-upload-users.json -H "Authorization: Bearer [AccessToken]" -H "Content-Type: application/scim+json"
- Após o upload bem-sucedido, você receberá o código de resposta ACEITO HTTP 202.
- O serviço de provisionamento começa a processar o conteúdo da solicitação em massa imediatamente e você pode ver os detalhes de provisionamento acessando os logs de provisionamento do aplicativo de provisionamento de entrada.
Verificar o processamento do conteúdo da solicitação em massa
Faça logon no centro de administração do Microsoft Entra como pelo menos um Administrador de aplicativos.
Navegue até Microsoft Entra ID –> Aplicativos –> Aplicativos empresariais.
Em todos os aplicativos, use a caixa de texto de filtro de pesquisa para localizar e abrir seu aplicativo de provisionamento controlado por API.
Abra a folha Provisionamento. A página de aterrissagem mostra o status da última execução.
Clique em Exibir logs de provisionamento para abrir a folha de logs de provisionamento. Como alternativa, você pode clicar na opção de menu Monitoramento –> Logs de provisionamento.
Clique em qualquer registro nos logs de provisionamento para exibir mais detalhes de processamento.
A tela de detalhes do log de provisionamento exibe todas as etapas executadas para um usuário específico.
- Na etapa Importar da API, consulte detalhes dos dados do usuário extraídos da solicitação em massa.
- A etapa Corresponder usuário mostra detalhes de qualquer correspondência de usuário com base no identificador de correspondência. Se ocorrer uma correspondência de usuário, o serviço de provisionamento executará uma operação de atualização. Se não houver correspondência de usuário, o serviço de provisionamento executará uma operação de criação.
- A etapa Determinar se o Usuário está no escopo mostra detalhes da avaliação do filtro de escopo. Por padrão, todos os usuários são processados. Se você tiver definido um filtro de escopo (por exemplo, processe somente usuários pertencentes ao departamento de Vendas), os detalhes de avaliação do filtro de escopo serão exibidos nesta etapa.
- A etapa Provisionar Usuário chama a etapa final de processamento e as alterações aplicadas à conta de usuário.
- Utilize a aba Propriedades Modificadas para exibir atualizações de atributo.
Apêndice
Exiba esta seção para obter informações sobre a solicitação em massa com o Esquema de Usuário Corporativo do SCIM.
Solicitação em massa com o esquema de usuário do SCIM Enterprise
A solicitação em massa mostrada abaixo usa o esquema de usuário principal padrão do SCIM e do Enterprise.
Corpo da solicitação
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
"Operations": [
{
"method": "POST",
"bulkId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
"externalId": "701984",
"userName": "bjensen@example.com",
"name": {
"formatted": "Ms. Barbara J Jensen, III",
"familyName": "Jensen",
"givenName": "Barbara",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Babs Jensen",
"nickName": "Babs",
"emails": [
{
"value": "bjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "100 Universal City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91608",
"country": "USA",
"formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA",
"primary": true
}
],
"phoneNumbers": [
{
"value": "555-555-5555",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Guide",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active":true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "89607",
"displayName": "John Smith"
}
}
}
},
{
"method": "POST",
"bulkId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
"externalId": "701985",
"userName": "Kjensen@example.com",
"name": {
"formatted": "Ms. Kathy J Jensen, III",
"familyName": "Jensen",
"givenName": "Kathy",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Kathy Jensen",
"nickName": "Kathy",
"emails": [
{
"value": "kjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "100 Oracle City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91618",
"country": "USA",
"formatted": "100 Oracle City Plaza\nHollywood, CA 91618 USA",
"primary": true
}
],
"phoneNumbers": [
{
"value": "555-555-5545",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Lead",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active":true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701985",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "701984",
"displayName": "Barbara Jensen"
}
}
}
}
],
"failOnErrors": null
}