Partilhar via


Guia de início rápido: introdução ao provisionamento de entrada controlado por API usando cURL

Introdução

cURL é uma ferramenta de linha de comando popular, gratuita e de código aberto usada por desenvolvedores de API, e está disponível por padrão no Windows 10/11. Este tutorial descreve como você pode testar rapidamente de provisionamento de entrada orientada por API com cURL.

Pré-requisitos

Carregar dados do usuário para a API de provisionamento de entrada

  1. Recupere o client_id e o client_secret da entidade de serviço que tem acesso à API de provisionamento de entrada.
  2. Utilize o fluxo de concessão de credenciais do cliente 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 seguinte comando cURL. Copie o valor do token de acesso gerado
    curl -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"
    
  3. Copie a solicitação em massa com o SCIM Enterprise User Schema e salve os conteúdos em um arquivo chamado scim-bulk-upload-users.json.
  4. 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 seguinte comando curl para carregar a solicitação em massa para o 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"
    
  5. Após o upload bem-sucedido, você receberá o código de resposta HTTP 202 Aceito.
  6. O serviço de provisionamento começa a processar a carga útil de 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 da carga útil da solicitação em massa

  1. Inicie sessão no centro de administração Microsoft Entra como pelo menos um Administrador de Aplicações.

  2. Navegue até Microsoft Entra ID -> Aplicações -> Aplicações empresariais.

  3. Em todos os aplicativos, use a caixa de texto do filtro de pesquisa para localizar e abrir seu aplicativo de provisionamento controlado por API.

  4. Abra o painel de Provisionamento. A página de destino exibe o status da última execução.

  5. Clique em Exibir logs de provisionamento para abrir a folha de logs de provisionamento. Como alternativa, você pode clicar na opção de menu Monitor -> Provisionamento logs.

    Captura de ecrã dos logs de provisionamento no menu.

  6. Clique em qualquer registro nos logs de provisionamento para visualizar mais detalhes de processamento.

  7. 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 os detalhes dos dados do usuário provenientes da solicitação em massa.
    • A etapa Correspondência de usuário mostra detalhes de qualquer correspondência de usuário com base no identificador correspondente. 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 Verificar se o utilizador está no escopo mostra os 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, processar apenas usuários pertencentes ao departamento de vendas), os detalhes da avaliação do filtro de escopo serão exibidos nesta etapa.
    • A etapa Provisionar Usuário destaca a fase final de processamento e as alterações aplicadas à conta do utilizador.
    • Utilize a guia Propriedades modificadas para exibir atualizações de atributos.

Apêndice

Consulte esta seção para obter informações sobre a solicitação em massa com o SCIM Enterprise User Schema.

Solicitação em massa com o SCIM Enterprise User Schema

A solicitação em massa mostrada abaixo usa o esquema padrão SCIM Core User e Enterprise User.

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
}

Próximos passos