Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este tutorial descreve como usar o Microsoft Entra SCIM Validator para validar se seu servidor de provisionamento é compatível com o cliente SCIM do Azure. O tutorial destina-se a desenvolvedores que desejam criar um servidor compatível com SCIM para gerenciar suas identidades com o serviço de provisionamento Microsoft Entra.
Neste tutorial, irá aprender a:
- Selecione um método de teste
- Configurar o método de teste
- Valide seu endpoint SCIM
Pré-requisitos
- Uma conta Microsoft Entra com uma subscrição ativa. Crie uma conta gratuitamente.
- Um ponto de extremidade SCIM que está em conformidade com o padrão SCIM 2.0 e atende aos requisitos de serviço de provisão. Para saber mais, consulte Tutorial: Desenvolver e planejar o provisionamento para um ponto de extremidade SCIM no Microsoft Entra ID.
Selecione um método de teste
A primeira etapa é selecionar um método de teste para validar seu endpoint SCIM.
Abra o navegador da Web e navegue até o Validador SCIM: https://scimvalidator.microsoft.com/.
Selecione uma das três opções de teste. Você pode usar atributos padrão, descobrir automaticamente o esquema ou carregar um esquema.
Usar atributos padrão - O sistema fornece os atributos padrão e você os modifica para atender às suas necessidades.
Descobrir esquema - Se o seu ponto final suportar /Schemas, esta opção permite que a ferramenta descubra os atributos suportados. Recomendamos essa opção, pois reduz a sobrecarga de atualizar seu aplicativo à medida que você o cria.
Carregar o esquema do Microsoft Entra - Carregue o esquema que você baixou do seu aplicativo de exemplo na ID do Microsoft Entra.
Configurar o método de teste
Agora que você selecionou um método de teste, a próxima etapa é configurá-lo.
- Se você estiver usando a opção de atributos padrão, preencha todos os campos indicados.
- Se você estiver usando a opção de esquema de descoberta, insira a URL e o token do ponto de extremidade SCIM.
- Se você estiver carregando um esquema, selecione o arquivo .json para carregar. A opção aceita um arquivo de .json exportado do seu aplicativo de exemplo no centro de administração do Microsoft Entra. Para saber como exportar um esquema, consulte Como exportar a configuração de provisionamento e reverter para um estado em boas condições.
Nota
Para testar atributos de grupo, certifique-se de selecionar Ativar testes de grupo.
- Edite os atributos da lista conforme desejado para os tipos de usuário e grupo usando a opção 'Adicionar atributo' no final da lista de atributos e sinal de menos (-) no lado direito da página.
- Selecione a propriedade de associação na lista de atributos de usuário e grupo.
Nota
A propriedade de junção, também conhecida como atributo de correspondência, é um atributo no qual os recursos de usuário e grupo podem ser consultados exclusivamente na origem e correspondidos no sistema de destino.
Valide seu endpoint SCIM
Finalmente, você precisa testar e validar seu endpoint.
Selecione Test Schema (Esquema de teste ) para iniciar o teste.
Analise os resultados com um resumo dos testes aprovados e reprovados.
Selecione a guia mostrar detalhes e revise e corrija problemas.
Continue a testar seu esquema até que todos os testes sejam aprovados.
Validações de notas realizadas pelo Validador SCIM
Criar novo usuário
- POST /Users – Cria um novo usuário com uma carga JSON completa.
- O endpoint retorna HTTP 201
- A resposta POST contém o ID de usuário criado
- GET /Users?filter={joiningProperty} eq "value" – Confirma a criação ao filtrar pela propriedade de ligação.
- GET retorna usuário criado
- Os valores retornados de GET são iguais aos valores passados da solicitação POST (varia de acordo com o endpoint)
- DELETE /Users - Limpa o usuário de teste. Chamado apenas se a exclusão rígida for suportada
Criar usuário duplicado
- POST /Users – Tenta criar um utilizador usando uma carga idêntica (com o mesmo atributo único/de junção) igual a um utilizador existente.
- Retornar HTTP 201 na primeira solicitação de criação
- Retornar HTTP 409 na segunda solicitação de criação
Adicionar atributos
- POST /Users - Cria o recurso do usuário
- Sucesso HTTP 2xx
- PATCH /Users/{id} – Usa um documento JSON Patch (com a operação add) para inserir atributos adicionais não necessários.
- GET /Users?filter={joiningProperty} eq "value" – Recupera o usuário para verificar os atributos adicionados.
- O usuário é retornado
- Os atributos inseridos agora estão presentes no usuário
Substituir atributos de usuário
- POST /Users - Cria o recurso do usuário
- Sucesso HTTP 2xx
- PATCH /Users/{id} – Envia um documento de patch JSON (usando a operação de substituição) para atualizar um ou mais atributos.
- GET /Users?filter={joiningProperty} eq "value" – Verifica se os atributos atualizados são aplicados corretamente.
- O usuário é retornado
- Atributos atualizados estão presentes no usuário
Atualizar propriedade de associação
- POST /Users - Cria o recurso do usuário
- Sucesso HTTP 2xx
- PATCH /Users/{id} – Atualiza a propriedade de junção (por exemplo, userName) por meio de um documento de patch JSON.
- GET /Users?filter={joiningProperty} eq "newValue" – Confirma que a propriedade de junção foi atualizada.
- "A propriedade de associação é atualizada para o usuário"
Atualizar atributo ativo para falso
- POST /Users/ - Cria um recurso com base no esquema
- Sucesso HTTP 2xx
- O utilizador desativado deve ser retornado na solicitação GET
- PATCH /Users/{id} – Emite um documento JSON Patch que define o atributo "ativo" como false.
- Sucesso HTTP 2xx
- GET /Users?filter={joiningProperty} eq "value" – Recupera o usuário para confirmar que o atributo ativo agora é false.
- O registo de utilizador retornado deve ter ATIVO=FALSO
Criar novo grupo
- POST /Groups – Cria um novo grupo com uma carga JSON completa.
- O endpoint retorna HTTP 201
- A resposta POST contém o ID de grupo criado
- GET /Group?filter={joiningProperty} eq "value" – Verifica a criação com base na propriedade de junção.
- GET retorna o grupo criado
- Os valores retornados de GET são iguais aos valores passados da solicitação POST (varia de acordo com o endpoint)
- DELETE /groups - limpa o usuário de teste.
- Chamado apenas se a exclusão rígida for suportada
Criar grupo duplicado
- POST /Groups – Tenta criar um grupo usando uma carga idêntica (com o mesmo atributo exclusivo/junção) a um grupo existente.
- Retornar HTTP 201 na primeira solicitação de criação
- Retornar HTTP 409 na segunda solicitação de criação
Atualizar atributos do grupo
- POST /Groups - Cria um novo recurso de grupo para atualizar atributos em
- POST retorna HTTP 2xx
- PATCH /Groups/{id} – Envia um documento de patch JSON usando a operação replace para atualizar um ou mais atributos de um grupo existente (excluindo membros).
- PATCH retorna sucesso (HTTP 2xx)
- GET /Groups?filter={joiningProperty} eq "value" – Confirma que os atributos do grupo foram atualizados corretamente.
- GET retorna grupo corrigido
- Os atributos no grupo retornado correspondem aos atributos alterados na solicitação PATCH
Criar um novo recurso de grupo
- POST /Groups - Cria um novo recurso de grupo para adicionar membro
- POST retorna HTTP 2xx
- POST /Users – Cria um novo recurso de usuário para ser usado como membro do grupo.
- POST retorna HTTP 2xx
- PATCH /Groups/{id} – Adiciona o identificador do usuário recém-criado ao grupo usando um documento de patch JSON.
- PATCH Retorna sucesso
Usando expressões no validador SCIM
O Validador SCIM suporta o uso de expressões para gerar os valores desejados para atributos.
Como usar expressões
- Vá para a página Atributos.
- Insira a expressão desejada na coluna de valor do atributo que você deseja personalizar.
- Execute o teste
Nota
Essas expressões funcionam para atributos Usuário e Grupo.
Expressões disponíveis
A tabela abaixo lista as expressões disponíveis
| Expressão | Significado | Exemplo | Resultado |
|---|---|---|---|
| generateRandomString {Contagem de caracteres de cadeia de caracteres} | Gerar uma cadeia de caracteres aleatória com a contagem especificada de caracteres do alfabeto | {%generateRandomString 6%}@contoso.com | CXJHYP@contoso.com |
| generateRandomNumber {Contagem de Números} | Gere um número aleatório com a contagem especificada de dígitos | {%generateRandomNumber 4%} | 8821 |
| generateAlphaNumeric {Contagem de caracteres} | Gere uma sequência aleatória com uma mistura de alfabetos e números, com a contagem especificada de caracteres | {%generateAlphaNumeric 7%} | 59Q2M9W |
| generateAlphaNumericWithSpecialCharacters {Contagem de caracteres} | Gere uma cadeia de caracteres aleatória com uma mistura de alfabetos, números e um caractere especial, com base na contagem especificada de caracteres | {%generateAlphaNumericWithSpecialCharacters 8%}TESTE | D385N05'TESTE |
Você pode adicionar valores antes ou depois das expressões para alcançar o resultado desejado, por exemplo, quando você adiciona {% generateRandomString 6 %}@contoso.com em um campo de valor do atributo userName, ele gerará um novo valor userName a cada teste, mantendo o domínio contoso.com.
Clean up resources (Limpar recursos)
Se você criou recursos do Azure em seu teste que não são mais necessários, não se esqueça de excluí-los.
Problemas conhecidos com o Microsoft Entra SCIM Validator
- As exclusões suaves (desativações) ainda não são suportadas.
- O formato de fuso horário é gerado aleatoriamente e falha para sistemas que tentam validá-lo.
- O usuário do patch remover atributos pode tentar remover atributos obrigatórios/necessários para determinados sistemas. Tais falhas devem ser ignoradas.