Personalizar declarações de token SAML
A plataforma de identidade da Microsoft oferece suporte ao logon único (SSO) com a maioria dos aplicativos pré-integrados na galeria de aplicativos e aplicativos personalizados. Quando um usuário se autentica em um aplicativo por meio da plataforma de identidade da Microsoft usando o protocolo SAML 2.0, um token é enviado para o aplicativo. O aplicativo valida e usa o token para entrar o usuário em vez de solicitar um nome de usuário e senha.
Esses tokens SAML contêm informações sobre o usuário conhecidas como declarações. Uma declaração é uma informação que um provedor de identidade declara sobre um usuário dentro do token que ele emite para esse usuário. Em um token SAML, os dados de declarações normalmente estão contidos na Declaração de Atributo SAML. O ID exclusivo do usuário é normalmente representado no assunto SAML, que também é conhecido como o identificador de nome (nameID
).
Por padrão, a plataforma de identidade da Microsoft emite um token SAML para um aplicativo que contém uma declaração com um valor do nome de usuário do usuário (também conhecido como nome principal do usuário), que pode identificar exclusivamente o usuário. O token SAML também contém outras declarações que incluem o endereço de e-mail, nome e sobrenome do usuário.
Ver ou editar declarações
Para exibir ou editar as declarações emitidas no token SAML para o aplicativo:
- Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
- Navegue até Identity>Applications>Enterprise applications>Todos os aplicativos.
- Selecione o aplicativo, selecione Logon único no menu à esquerda e, em seguida, selecione Editar na seção Atributos & Declarações .
Talvez seja necessário editar as declarações emitidas no token SAML pelos seguintes motivos:
- O aplicativo requer que a
NameIdentifier
declaração ounameID
seja algo diferente do nome de usuário (ou nome principal do usuário). - A aplicação foi escrita para exigir um conjunto diferente de URIs de afirmação ou valores de afirmação.
Editar nameID
Para editar a declaração de valor do identificador de nome:
- Abra a página Valor do identificador de nome.
- Selecione o atributo ou a transformação que você deseja aplicar ao atributo. Opcionalmente, você pode especificar o formato que deseja que a
nameID
declaração tenha.
Formato NameID
Se a solicitação SAML contiver o elemento NameIDPolicy
com um formato específico, a plataforma de identidade da Microsoft honrará o formato na solicitação.
Se a solicitação SAML não contiver um elemento para NameIDPolicy
, a plataforma de identidade da Microsoft emitirá o nameID
formato especificado. Se nenhum formato for especificado, a plataforma de identidade da Microsoft usará o formato de origem padrão associado à fonte de declaração selecionada. Se uma transformação resultar em um valor nulo ou ilegal, o nameID
ID do Microsoft Entra enviará um identificador de par persistente no .
Na lista suspensa Escolher formato do identificador de nome, selecione uma das opções na tabela a seguir.
nameID Formato |
Description |
---|---|
Predefinição | A plataforma de identidade da Microsoft usa o formato de origem padrão. |
Persistente | A plataforma de identidade da Microsoft usa Persistent como formato nameID . |
Endereço de e-mail | A plataforma de identidade da Microsoft usa EmailAddress como formato nameID . |
Não especificado | A plataforma de identidade da Microsoft usa Unspecified como formato nameID . |
Nome qualificado de domínio do Windows | A plataforma de identidade da Microsoft usa o WindowsDomainQualifiedName formato. |
nameID
O transitório também tem suporte, mas não está disponível no menu suspenso e não pode ser configurado no lado do Azure. Para saber mais sobre o NameIDPolicy
atributo, consulte Protocolo SAML de logon único.
Atributos
Gorjeta
As etapas neste artigo podem variar ligeiramente com base no portal a partir do qual você começou.
Selecione a fonte desejada para a NameIdentifier
(ou nameID
) declaração. Você pode selecionar entre as opções na tabela a seguir.
Nome | Descrição |
---|---|
Email |
O endereço de e-mail do utilizador. |
userprincipalName |
O nome principal de utilizador (UPN). |
onpremisessamaccountname |
O nome da conta SAM que foi sincronizado a partir do Microsoft Entra ID local. |
objectid |
A ID do objeto do usuário no Microsoft Entra ID. |
employeeid |
O ID do funcionário do usuário. |
Directory extensions |
As extensões de diretório sincronizadas do Ative Directory local usando o Microsoft Entra Connect Sync. |
Extension Attributes 1-15 |
Os atributos de extensão local usados para estender o esquema do Microsoft Entra. |
pairwiseid |
A forma persistente de identificador de usuário. |
Para obter mais informações sobre valores de identificador, consulte a tabela que lista os valores de ID válidos por fonte mais adiante nesta página.
Qualquer valor constante (estático) pode ser atribuído a qualquer reivindicação. Use as seguintes etapas para atribuir um valor constante:
- Na folha Atributos & Declarações, selecione a declaração necessária que você deseja modificar.
- Insira o valor constante sem aspas no atributo Source de acordo com sua organização e selecione Salvar. O valor constante é exibido.
Extensões de esquema de diretório
Você também pode configurar atributos de extensão de esquema de diretório como atributos não condicionais/condicionais. Use as seguintes etapas para configurar o atributo de extensão de esquema de diretório de valor único ou múltiplo como uma declaração:
- Na folha Atributos & Declarações, selecione Adicionar nova declaração ou editar uma declaração existente.
- Selecione o aplicativo de origem no seletor de aplicativos onde a propriedade de extensão está definida.
- Selecione Adicionar para adicionar a seleção às declarações.
- Clique em Salvar para confirmar as alterações.
Transformações de sinistros especiais
Você pode usar as seguintes funções de transformações de declarações especiais.
Function | Description |
---|---|
ExtractMailPrefix() | Remove o sufixo de domínio do endereço de e-mail ou do nome principal do usuário. Esta função extrai apenas a primeira parte do nome de usuário que está sendo passado (por exemplo, "joe_smith" em vez de joe_smith@contoso.com). |
ToLower() | Converte os caracteres do atributo selecionado em caracteres minúsculos. |
ToUpper() | Converte os caracteres do atributo selecionado em caracteres maiúsculos. |
Adicionar declarações específicas do aplicativo
Para adicionar declarações específicas do aplicativo:
- Na folha Atributos & Declarações, selecione Adicionar nova declaração para abrir a página Gerenciar declarações de usuário.
- Insira o nome das declarações. O valor não precisa seguir estritamente um padrão de URI, de acordo com a especificação SAML. Se você precisar de um padrão de URI, poderá colocá-lo no campo Namespace .
- Selecione a Origem onde a declaração vai recuperar seu valor. Você pode selecionar um atributo de usuário na lista suspensa de atributos de origem ou aplicar uma transformação ao atributo de usuário antes de emiti-lo como uma declaração.
Adicionar uma declaração de grupo
As declarações de grupo são usadas para tomar decisões de autorização para acessar um recurso por um aplicativo ou um provedor de serviços. Para adicionar declarações de grupo;
- Navegue até Registos de aplicações e selecione a aplicação à qual pretende adicionar uma reivindicação de grupo.
- Selecione Adicionar declaração de grupos.
- Selecione os tipos de grupo a serem incluídos no seu token. Você pode adicionar grupos de segurança, grupos de diretórios ou grupos atribuídos a um aplicativo específico.
- Escolha os valores que deseja incluir na declaração do seu grupo e, em seguida, selecione Adicionar.
Transformações de declaração
Para aplicar uma transformação a um atributo de usuário:
- Em Gerenciar declaração, selecione Transformação como a fonte da declaração para abrir a página Gerenciar transformação .
- Selecione a função na lista suspensa de transformação. Dependendo da função selecionada, forneça parâmetros e um valor constante para avaliar na transformação.
- Selecione a origem do atributo clicando no botão de opção apropriado.
- Selecione o nome do atributo na lista suspensa.
- Tratar origem como multivalorado é uma caixa de seleção que indica se a transformação deve ser aplicada a todos os valores ou apenas ao primeiro. Por padrão, as transformações são aplicadas apenas ao primeiro elemento em uma declaração de vários valores, marcando essa caixa ela garante que ela seja aplicada a todos. Essa caixa de seleção só pode ser habilitada para atributos de vários valores, por exemplo
user.proxyaddresses
. - Para aplicar várias transformações, selecione Adicionar transformação. Você pode aplicar um máximo de duas transformações a uma declaração. Por exemplo, você pode primeiro extrair o prefixo de e-mail do
user.mail
. Em seguida, coloque a string em maiúsculas.
Você pode usar as seguintes funções para transformar declarações.
Function | Description |
---|---|
ExtractMailPrefix() | Remove o sufixo de domínio do endereço de e-mail ou do nome principal do usuário. Esta função extrai apenas a primeira parte do nome de usuário que está sendo transmitido. Por exemplo, joe_smith em vez de joe_smith@contoso.com . |
Aderir() | Cria um novo valor unindo dois atributos. Opcionalmente, você pode usar um separador entre os dois atributos. Para a transformação de nameID declaração, a função Join() tem um comportamento específico quando a entrada de transformação tem uma parte de domínio. Ele remove a parte do domínio da entrada antes de juntá-la com o separador e o parâmetro selecionado. Por exemplo, se a entrada da transformação é joe_smith@contoso.com e o separador é @ e o parâmetro é fabrikam.com , essa combinação de entrada resulta em joe_smith@fabrikam.com . |
ToMinúsculas() | Converte os caracteres do atributo selecionado em caracteres minúsculos. |
ToMaiúsculas() | Converte os caracteres do atributo selecionado em caracteres maiúsculos. |
Contém() | Gera um atributo ou constante se a entrada corresponder ao valor especificado. Caso contrário, você pode especificar outra saída se não houver correspondência. Por exemplo, se você quiser emitir uma declaração em que o valor é o endereço de e-mail do usuário se ele contiver o domínio @contoso.com , caso contrário, você deseja gerar o nome principal do usuário. Para executar essa função, configure os seguintes valores: Parameter 1(input): user.email , Value: "@contoso.com" , Parameter 2 (output): user.email e Parameter 3 (output if there's no match): user.userprincipalname . |
Fim() | Gera um atributo ou constante se a entrada terminar com o valor especificado. Caso contrário, você pode especificar outra saída se não houver correspondência. Por exemplo, se você quiser emitir uma declaração em que o valor é o ID de funcionário do usuário se o ID do funcionário terminar com 000 , caso contrário, você deseja gerar um atributo de extensão. Para executar essa função, configure os seguintes valores: Parameter 1(input): user.employeeid , Value: "000" , Parameter 2 (output): user.employeeid e Parameter 3 (output if there's no match): user.extensionattribute1 . |
Começar com() | Gera um atributo ou constante se a entrada começar com o valor especificado. Caso contrário, você pode especificar outra saída se não houver correspondência. Por exemplo, se você quiser emitir uma declaração em que o valor é o ID de funcionário do usuário se o país/região começar com US , caso contrário, você deseja gerar um atributo de extensão. Para executar essa função, configure os seguintes valores: Parameter 1(input): user.country , Value: "US" , Parameter 2 (output): user.employeeid e Parameter 3 (output if there's no match): user.extensionattribute1 |
Extract() - Após correspondência | Retorna a substring depois que ela corresponde ao valor especificado. Por exemplo, se o valor da entrada for Finance_BSimon , o valor correspondente for Finance_ , então a saída da declaração será BSimon . |
Extract() - Antes de combinar | Retorna a substring até que ela corresponda ao valor especificado. Por exemplo, se o valor da entrada for BSimon_US , o valor correspondente for _US , então a saída da declaração será BSimon . |
Extract() - Entre correspondência | Retorna a substring até que ela corresponda ao valor especificado. Por exemplo, se o valor da entrada for Finance_BSimon_US , o primeiro valor correspondente for Finance_ , o segundo valor correspondente for _US , então a saída da declaração será BSimon . |
ExtractAlpha() - Prefixo | Retorna a parte alfabética do prefixo da cadeia de caracteres. Por exemplo, se o valor da entrada for BSimon_123 , ela retornará BSimon . |
ExtractAlpha() - Sufixo | Retorna a parte alfabética do sufixo da cadeia de caracteres. Por exemplo, se o valor da entrada for 123_Simon , ela retornará Simon . |
ExtractNumeric() - Prefixo | Retorna a parte numérica do prefixo da cadeia de caracteres. Por exemplo, se o valor da entrada for 123_BSimon , ela retornará 123 . |
ExtractNumeric() - Sufixo | Retorna a parte numérica do sufixo da cadeia de caracteres. Por exemplo, se o valor da entrada for BSimon_123 , ela retornará 123 . |
IfEmpty() | Gera um atributo ou constante se a entrada for nula ou vazia. Por exemplo, se você quiser gerar um atributo armazenado em um atributo de extensão se o ID de funcionário de um usuário estiver vazio. Para executar essa função, configure os seguintes valores: Parameter 1(input): user.employeeid , Parameter 2 (output): user.extensionattribute1 e Parameter 3 (output if there's no match): user.employeeid . |
IfNotEmpty() | Gera um atributo ou constante se a entrada não for nula ou vazia. Por exemplo, se você quiser gerar um atributo armazenado em um atributo de extensão se o ID do funcionário de um usuário não estiver vazio. Para executar essa função, configure os seguintes valores: Parameter 1(input): user.employeeid e Parameter 2 (output): user.extensionattribute1 . |
Substring() - Comprimento Fixo | Extrai partes de um tipo de declaração de cadeia de caracteres, começando no caractere na posição especificada, e retorna o número especificado de caracteres. O sourceClaim é a fonte de declaração da transformação que deve ser executada. A StartIndex é a posição de caractere inicial baseada em zero de uma substring neste caso. O Length é o comprimento em caracteres da substring. Por exemplo, sourceClaim - PleaseExtractThisNow , StartIndex - 6 , e Length - 11 produz uma saída de ExtractThis . |
Substring() - EndOfString | Extrai partes de um tipo de declaração de cadeia de caracteres, começando no caractere na posição especificada, e retorna o restante da declaração do índice inicial especificado. O sourceClaim é a fonte de declaração da transformação que deve ser executada. A StartIndex é a posição de caractere inicial baseada em zero de uma substring neste caso. Por exemplo, sourceClaim - PleaseExtractThisNow e StartIndex - 6 produz uma saída de ExtractThisNow . |
RegexReplace() | Para obter mais informações sobre a transformação de declarações baseada em regex, consulte a próxima seção. |
Transformação de sinistros baseada em Regex
A imagem a seguir mostra um exemplo do primeiro nível de transformação:
As ações listadas na tabela a seguir fornecem informações sobre o primeiro nível de transformações e correspondem aos rótulos na imagem anterior. Selecione Editar para abrir a folha de transformação de declarações.
Ação | Campo | Descrição |
---|---|---|
1 |
Transformation |
Selecione a opção RegexReplace() nas opções de Transformação para usar o método de transformação de declarações baseado em regex para transformação de declarações. |
2 |
Parameter 1 |
A entrada para a transformação da expressão regular. Por exemplo, user.mail que tem um endereço de e-mail de usuário como admin@fabrikam.com . |
3 |
Treat source as multivalued |
Alguns atributos de usuário de entrada podem ser atributos de usuário de vários valores. Se o atributo de usuário selecionado oferecer suporte a vários valores e o usuário quiser usar vários valores para a transformação, ele precisará selecionar Tratar origem como multivalorado. Se selecionado, todos os valores são usados para a correspondência de regex, caso contrário, apenas o primeiro valor é usado. |
4 |
Regex pattern |
Uma expressão regular que é avaliada em relação ao valor do atributo de usuário selecionado como Parâmetro 1. Por exemplo, uma expressão regular para extrair o alias do usuário do endereço de e-mail do usuário seria representada como (?'domain'^.*?)(?i)(\@fabrikam\.com)$ . |
5 |
Add additional parameter |
Mais de um atributo de usuário pode ser usado para a transformação. Os valores dos atributos seriam então mesclados com a saída de transformação regex. Até mais cinco parâmetros são suportados. |
6 |
Replacement pattern |
O padrão de substituição é o modelo de texto, que contém espaços reservados para o resultado regex. Todos os nomes de grupo devem ser embrulhados dentro das chaves encaracoladas, como {group-name} . Digamos que a administração queira usar o alias do usuário com algum outro nome de domínio, por exemplo xyz.com , e mesclar o nome do país com ele. Neste caso, o padrão de substituição seria {country}.{domain}@xyz.com , onde {country} é o valor do parâmetro de entrada e {domain} é a saída do grupo da avaliação de expressão regular. Nesse caso, o resultado esperado é US.swmal@xyz.com . |
A imagem a seguir mostra um exemplo do segundo nível de transformação:
A tabela a seguir fornece informações sobre o segundo nível de transformações. As ações listadas na tabela correspondem aos rótulos da imagem anterior.
Ação | Campo | Descrição |
---|---|---|
1 |
Transformation |
As transformações de declarações baseadas em Regex não se limitam à primeira transformação e também podem ser usadas como a transformação de segundo nível. Qualquer outro método de transformação pode ser usado como a primeira transformação. |
2 |
Parameter 1 |
Se RegexReplace() for selecionado como uma transformação de segundo nível, a saída da transformação de primeiro nível será usada como uma entrada para a transformação de segundo nível. Para aplicar a transformação, a expressão regex de segundo nível deve corresponder à saída da primeira transformação. |
3 |
Regex pattern |
O padrão Regex é a expressão regular para a transformação de segundo nível. |
4 |
Parameter input |
Entradas de atributos de usuário para as transformações de segundo nível. |
5 |
Parameter input |
Os administradores podem excluir o parâmetro de entrada selecionado se não precisarem mais dele. |
6 |
Replacement pattern |
O padrão de substituição é o modelo de texto, que contém espaços reservados para o nome do grupo de resultados regex, o nome do grupo de parâmetros de entrada e o valor de texto estático. Todos os nomes de grupo devem ser embrulhados dentro das chaves encaracoladas, como {group-name} . Digamos que a administração queira usar o alias do usuário com algum outro nome de domínio, por exemplo xyz.com , e mesclar o nome do país com ele. Neste caso, o padrão de substituição seria {country}.{domain}@xyz.com , onde {country} é o valor do parâmetro de entrada e {domain} é a saída do grupo da avaliação da expressão regular. Nesse caso, o resultado esperado é US.swmal@xyz.com . |
7 |
Test transformation |
A transformação RegexReplace() é avaliada somente se o valor do atributo de usuário selecionado para o Parâmetro 1 corresponder à expressão regular fornecida na caixa de texto do padrão Regex. Se eles não corresponderem, o valor da declaração padrão será adicionado ao token. Para validar a expressão regular em relação ao valor do parâmetro de entrada, uma experiência de teste está disponível na folha de transformação. Esta experiência de teste opera apenas com valores fictícios. Quando mais parâmetros de entrada são usados, o nome do parâmetro é adicionado ao resultado do teste em vez do valor real. Para acessar a seção de teste, selecione Transformação de teste. |
A imagem a seguir mostra um exemplo de teste das transformações:
A tabela a seguir fornece informações sobre como testar as transformações. As ações listadas na tabela correspondem aos rótulos da imagem anterior.
Ação | Campo | Descrição |
---|---|---|
1 |
Test transformation |
Selecione o botão fechar ou (X) para ocultar a seção de teste e renderizar novamente o botão de transformação de teste novamente na folha. |
2 |
Test regex input |
Aceita a entrada usada para a avaliação do teste de expressão regular. Caso a transformação de declarações baseada em regex seja configurada como uma transformação de segundo nível, forneça um valor que seja a saída esperada da primeira transformação. |
3 |
Run test |
Depois que a entrada regex de teste é fornecida e o padrão Regex, o padrão de substituição e os parâmetros de entrada são configurados, a expressão pode ser avaliada selecionando Executar teste. |
4 |
Test transformation result |
Se a avaliação for bem-sucedida, uma saída da transformação de teste será processada em relação ao rótulo de resultado da transformação de teste. |
5 |
Remove transformation |
A transformação de segundo nível pode ser removida selecionando Remover transformação. |
6 |
Specify output if no match |
Quando um valor de entrada regex é configurado em relação ao Parâmetro 1 que não corresponde à expressão Regular, a transformação é ignorada. Nesses casos, o atributo de usuário alternativo pode ser configurado, que é adicionado ao token para a declaração marcando Especificar saída se nenhuma correspondência. |
7 |
Parameter 3 |
Se um atributo de usuário alternativo precisar ser retornado quando não houver correspondência e Especificar saída se nenhuma correspondência estiver marcada, um atributo de usuário alternativo poderá ser selecionado usando a lista suspensa. Esta lista suspensa está disponível em relação ao Parâmetro 3 (saída se não houver correspondência). |
8 |
Summary |
Na parte inferior da folha, é exibido um resumo completo do formato que explica o significado da transformação em texto simples. |
9 |
Add |
Depois que as definições de configuração para a transformação forem verificadas, ela poderá ser salva em uma política de declarações selecionando Adicionar. Selecione Salvar na folha Gerenciar declaração para salvar as alterações. |
A transformação RegexReplace() também está disponível para as transformações de declarações de grupo.
Validações de transformação RegexReplace()
Quando as seguintes condições ocorrem após Adicionar ou Executar teste é selecionado, uma mensagem é exibida que fornece mais informações sobre o problema:
- Parâmetros de entrada com atributos de usuário duplicados não são permitidos.
- Parâmetros de entrada não utilizados encontrados. Os parâmetros de entrada definidos devem ter o respetivo uso no texto do padrão de substituição.
- A entrada de regex de teste fornecida não corresponde à expressão regular fornecida.
- A origem dos grupos no padrão de substituição não foi encontrada.
Adicionar a declaração UPN aos tokens SAML
A http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
reivindicação faz parte do conjunto de reivindicações restritas SAML. Se você tiver uma chave de assinatura personalizada configurada, poderá adicioná-la na seção Atributos & Declarações .
Caso não haja nenhuma chave de assinatura personalizada configurada, consulte o conjunto de declarações SAML Restrito. Você pode adicioná-lo como uma declaração opcional por meio de registros de aplicativo no portal do Azure.
Abra o aplicativo em Registros de aplicativos, selecione Configuração de token e selecione Adicionar declaração opcional. Selecione o tipo de token SAML , escolha upn na lista e clique em Adicionar para adicionar a declaração ao token.
A personalização feita na seção Atributos & Declarações pode substituir as declarações opcionais no Registro do aplicativo.
Emita reclamações com base em condições
Pode especificar a origem de uma afirmação com base no tipo de utilizador e no grupo a que o utilizador pertence.
O tipo de usuário pode ser:
- Qualquer - Todos os utilizadores têm permissão para aceder à aplicação.
- Membros: Membro nativo do inquilino
- Todos os convidados: O usuário é trazido de uma organização externa com ou sem ID do Microsoft Entra.
- Convidados do Microsoft Entra: o usuário convidado pertence a outra organização que usa a ID do Microsoft Entra.
- Convidados externos: o usuário convidado pertence a uma organização externa que não tem o Microsoft Entra ID.
Um cenário em que o tipo de usuário é útil é quando a origem de uma declaração é diferente para um convidado e um funcionário que acessam um aplicativo. Você pode especificar que, se o usuário for um funcionário, o NameID será originário de user.email. Se o usuário for um convidado, o NameID será originado de user.extensionattribute1.
Para adicionar uma condição de reivindicação:
- Em Gerenciar declaração, expanda as Condições de declaração.
- Selecione o tipo de usuário.
- Selecione o(s) grupo(s) ao qual o usuário deve pertencer. Você pode selecionar até 50 grupos exclusivos em todas as declarações para um determinado aplicativo.
- Selecione a Origem onde a declaração vai recuperar seu valor. Você pode selecionar um atributo de usuário na lista suspensa para o atributo de origem ou aplicar uma transformação ao atributo de usuário. Você também pode selecionar uma extensão de esquema de diretório antes de emiti-la como uma declaração.
A ordem em que você adiciona as condições é importante. O Microsoft Entra primeiro avalia todas as condições com a fonte Attribute
e, em seguida, avalia todas as condições com a fonte Transformation
para decidir qual valor emitir na declaração. As condições com a mesma fonte são avaliadas de cima para baixo. O último valor, que corresponde à expressão, é emitido na declaração. Transformações como IsNotEmpty
e Contains
agem como restrições.
Por exemplo, Brenda Fernandes é um usuário convidado no locatário da Contoso. Britta pertence a outra organização que também usa o Microsoft Entra ID. Dada a seguinte configuração para o aplicativo Fabrikam, quando Britta tenta entrar na Fabrikam, a plataforma de identidade da Microsoft avalia as condições.
Primeiro, a plataforma de identidade da Microsoft verifica se o tipo de usuário de Britta é Todos os convidados. Como o tipo é Todos os convidados, a plataforma de identidade da Microsoft atribui a origem da declaração ao user.extensionattribute1
. Em segundo lugar, a plataforma de identidade da Microsoft verifica se o tipo de usuário de Britta é convidado do Microsoft Entra. Como o tipo é Todos os convidados, a plataforma de identidade da Microsoft atribui a origem da declaração ao user.mail
. Por fim, a reivindicação é emitida com um valor de user.mail
para Britta.
Como outro exemplo, considere quando Brenda Fernandes tenta entrar e a configuração a seguir é usada. Todas as condições são primeiro avaliadas com a fonte de Attribute
. Como o tipo de usuário de Britta é convidado do Microsoft Entra, user.mail
é atribuído como a fonte para a declaração. Em seguida, avaliam-se as transformações. Porque Britta é um convidado, user.extensionattribute1
é agora a nova fonte para a afirmação. Porque Britta está em convidados Microsoft Entra, user.othermail
é agora a fonte para esta afirmação. Por fim, a reivindicação é emitida com um valor de user.othermail
para Britta.
Como exemplo final, considere o que acontece se a Britta não user.othermail
tiver configuração ou estiver vazia. Em ambos os casos, a entrada da condição é ignorada e a reivindicação recai em user.extensionattribute1
vez disso.
Opções avançadas de declarações SAML
As opções avançadas de declarações podem ser configuradas para aplicativos SAML2.0 para expor a mesma declaração a tokens OIDC e vice-versa para aplicativos que pretendem usar a mesma declaração para tokens de resposta SAML2.0 e OIDC.
As opções avançadas de declaração podem ser configuradas marcando a caixa em Opções avançadas de declarações SAML na folha Gerenciar declarações .
A tabela a seguir lista outras opções avançadas que podem ser configuradas para um aplicativo.
Opção | Description |
---|---|
Anexar ID do aplicativo ao emissor | Adiciona automaticamente o ID do aplicativo à declaração do emissor. Essa opção garante um valor de declaração exclusivo para cada instância quando há várias instâncias do mesmo aplicativo. Essa configuração será ignorada se uma chave de assinatura personalizada não estiver configurada para o aplicativo. |
Substituir reivindicação de audiência | Permite a substituição da declaração de audiência enviada para o aplicativo. O valor fornecido deve ser um URI absoluto válido. Essa configuração será ignorada se uma chave de assinatura personalizada não estiver configurada para o aplicativo. |
Incluir formato de nome de atributo | Se selecionado, o Microsoft Entra ID adiciona um atributo chamado NameFormat que descreve o formato do nome para declarações restritas, principais e opcionais para o aplicativo. Para obter mais informações, consulte Tipo de política de mapeamento de declarações |