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.
Este tutorial descreve como usar o validador de SCIM do Microsoft Entra para validar se o 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 identidades com o serviço de provisionamento do Microsoft Entra.
Neste tutorial, você aprenderá a:
- Selecionar um método de teste
- Configurar o método de teste
- Validar o ponto de extremidade do SCIM
Pré-requisitos
- Uma conta do Microsoft Entra com uma assinatura ativa. Crie uma conta gratuitamente.
- Um ponto de extremidade do SCIM que esteja em conformidade com o padrão SCIM 2.0 e que atenda aos requisitos do serviço de provisionamento. Para saber mais, confira Tutorial: Desenvolver e planejar o provisionamento de um ponto de extremidade SCIM no Microsoft Entra ID.
Selecionar um método de teste
A primeira etapa é selecionar um método de teste para validar o ponto de extremidade do SCIM.
Abra o navegador da Web e procure o Validador do SCIM: https://scimvalidator.microsoft.com/.
Selecione uma das três opções de teste. Você pode usar atributos padrão, descobrir o esquema automaticamente ou carregar um esquema.
Usar atributos padrão – O sistema fornece os atributos padrão, e você os modifica de acordo com suas necessidades.
Descobrir esquema – Se o ponto de extremidade oferecer suporte a /Schemas, essa opção permite que a ferramenta descubra os atributos compatíveis. Recomendamos essa opção, pois ela reduz a sobrecarga de atualização do aplicativo à medida que você o cria.
Upload de esquema do Microsoft Entra – Carregue no Microsoft Entra ID o esquema que você baixou do aplicativo de exemplo.
Configurar o método de teste
Agora que você escolheu 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 descoberta de esquema, insira a URL e o token do ponto de extremidade do SCIM.
- Se você estiver carregando um esquema, selecione o arquivo .json a ser carregado. A opção aceita um arquivo .json exportado do aplicativo de exemplo no Centro de administração do Microsoft Entra. Para saber como exportar um esquema, confira Como exportar uma configuração de provisionamento e revertê-la para um estado válido conhecido.
Observação
Para testar atributos de grupo, selecione Habilitar Testes de Grupo.
- Edite os atributos de lista conforme desejado para os tipos de usuário e de grupo usando a opção ‘Adicionar Atributo’ no final da lista de atributos e o sinal de menos (-) no lado direito da página.
- Selecione a propriedade de junção na lista de atributos de usuário e de grupo.
Observação
A propriedade de junção, também conhecida como atributo correspondente, é um atributo que os recursos de usuário e de grupo podem ser consultados exclusivamente na origem e serem correspondentes no sistema de destino.
Validar o ponto de extremidade do SCIM
Por fim, você precisa testar e validar o ponto de extremidade.
Selecione Testar Esquema para iniciar o teste.
Revise os resultados com um resumo dos testes com aprovação e com falha.
Escolha a guia Mostrar detalhes e revise e corrija os problemas.
Continue testando seu esquema até que ele seja aprovado em todos os testes.
Anotar validações executadas pelo Validador scim
Criar novo usuário
- POST /Users – Cria um novo usuário com uma carga JSON completa.
- O ponto de extremidade retorna HTTP 201
- A resposta POST contém a ID de usuário criada
- GET /Users?filter={joiningProperty} eq "value" – verifica a criação filtrando a propriedade de junção.
- GET retorna usuário criado
- Os valores retornados de GET correspondem aos valores passados da requisição POST (varia de acordo com o endpoint)
- DELETE /Users – limpa o usuário de teste. -Chamado somente se houver suporte para exclusão temporária
Criar usuário duplicado
- POST /Users – Tenta criar um usuário utilizando uma carga idêntica (com o mesmo atributo exclusivo/de junção) de um usuário já 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 de usuário
- Êxito HTTP 2xx
- PATCH /Users/{id} – usa um documento de patch JSON (com a operação de adição) 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 de usuário
- Êxito 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 foram aplicados corretamente.
- O usuário é retornado
- Os atributos atualizados estão presentes no usuário
Atualizar propriedade de junção
- POST /Users – Cria o recurso de usuário
- Êxito 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 "joining" é atualizada no usuário
Atualizar atributo ativo para false
- POST /Users/ – Cria um recurso com base no esquema
- Êxito HTTP 2xx
- O usuário desabilitado deve ser retornado na solicitação GET
- PATCH /Users/{id} – emite um documento de patch JSON que define o atributo "ativo" como false.
- Êxito HTTP 2xx
- GET /Users?filter={joiningProperty} eq "value" – recupera o usuário para confirmar se o atributo ativo agora é falso.
- O registro de usuário retornado deve ter ACTIVE=FALSE"
Criar novo grupo
- POST /Groups – Cria um novo grupo com uma carga JSON completa.
- O ponto de extremidade retorna HTTP 201
- A resposta POST contém a ID do grupo criada
- GET /Group?filter={joiningProperty} eq "value" – verifica a criação filtrando a propriedade de junção.
- GET retorna grupo criado
- Os valores retornados de GET correspondem aos valores passados da requisição POST (varia de acordo com o endpoint)
- DELETE /Groups – limpa o usuário de teste.
- Chamado somente se houver suporte para exclusão temporária
Criar grupo duplicado
- POST /Groups – Tenta criar um grupo usando uma carga idêntica (com o mesmo atributo exclusivo/de junção) para 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 de 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 de substituição para atualizar um ou mais atributos de um grupo existente (excluindo membros).
- PATCH retorna êxito (HTTP 2xx)
- GET /Groups?filter={joiningProperty} eq "value" – confirma se os atributos do grupo foram atualizados corretamente.
- GET retorna grupo corrigido
- 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 a 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 oferece suporte ao uso de expressões para gerar valores desejados para atributos.
Como usar expressões
- Vá para a página Atributos.
- Insira a expressão desejada na coluna valor do atributo que deseja personalizar.
- Executar seus testes
Observação
Essas expressões funcionam para atributos de Usuário e Grupo.
Expressões disponíveis
A tabela abaixo lista as expressões disponíveis
| Expressão | Significado | Exemplo | Resultado |
|---|---|---|---|
| generateRandomString {Número de caracteres da sequência} | Gerar uma sequência aleatória com o número especificado de caracteres do alfabeto | {%generateRandomString 6%}@contoso.com | CXJHYP@contoso.com |
| generateRandomNumber {Número de dígitos} | Gerar um número aleatório com o número especificado de dígitos | {%generateRandomNumber 4%} | 8821 |
| generateAlphaNumeric {Número de caracteres} | Gerar uma sequência aleatória composta por uma mistura de letras e números com o número de caracteres especificado | {%generateAlphaNumeric 7%} | 59Q2M9W |
| generateAlphaNumericWithSpecialCharacters {Número de caracteres} | Gerar uma sequência aleatória com uma mistura de letras, números e um caractere especial com base no número especificado de caracteres | {%generateAlphaNumericWithSpecialCharacters 8%}TESTE | D385N05’TEST |
Você pode adicionar valores antes ou depois das expressões para obter o resultado desejado, por exemplo, quando você adiciona {% generateRandomString 6 %}@contoso.com em um campo de valor do atributo userName, ele gera um novo valor userName a cada teste, mantendo o domínio contoso.com.
Limpar os recursos
Se você criou recursos do Azure nos testes que não são mais necessários, não se esqueça de excluí-los.
Problemas conhecidos com o validador de SCIM do Microsoft Entra
- Ainda não há suporte para exclusões temporárias (desabilitações).
- O formato de fuso horário é gerado aleatoriamente e falha nos sistemas que tentarem validá-lo.
- Os atributos de remoção de usuário de patch podem tentar remover atributos obrigatórios/necessários para alguns sistemas. Essas falhas devem ser ignoradas.