Logon único e provisionamento de usuários B2B do Microsoft Entra ID (antigo Azure AD)

Last reviewed 2023-02-27 UTC

Neste documento, mostramos como estender o provisionamento de usuários e o logon único do Microsoft Entra ID (antigo Azure AD) para ativar o Logon único (SSO) para Usuários de colaboração do Microsoft Entra ID B2B.

O documento pressupõe que você usa o Microsoft Office 365 ou o Microsoft Entra ID na sua organização e que já configurou o provisionamento de usuários e o Logon único do Microsoft Entra ID como no diagrama a seguir.

Como configurar o provisionamento de usuários e o Logon único do Microsoft Entra ID.

Neste diagrama, os usuários de provedores de identidade externos (IdPs) e de outros locatários do Microsoft Entra ID fazem login no locatário do Microsoft Entra ID por meio do logon B2B.

Objetivos

  • Estenda a configuração do provisionamento de usuários do Microsoft Entra ID para abranger os usuários convidados do Microsoft Entra B2B.
  • Amplie a configuração do SSO do Microsoft Entra ID para abranger os usuários convidados do Microsoft Entra B2B.
  • Configurar o Cloud Identity para limitar a duração da sessão para usuários convidados.

Antes de começar

Verifique se você configurou o provisionamento de usuários e o Logon único do Microsoft Entra ID.

Usuários convidados do Microsoft Entra B2B

Com o Microsoft Entra ID, é possível convidar usuários externos para seu locatário do Microsoft Entra ID. Quando você convida um usuário externo, o Microsoft Entra ID cria uma conta de usuário convidado no seu locatário. Essas contas de usuário convidado diferem das contas de usuário normais do Microsoft Entra ID de várias maneiras:

  • Os usuários convidados não têm uma senha. Para fazer login, os usuários convidados são automaticamente redirecionados para o locatário inicial ou para o provedor de identidade externo (IdP) de onde foram convidados.
  • O nome principal do usuário (UPN) da conta de usuário convidado usa um prefixo derivado do endereço de e-mail do convidado, combinado com o domínio inicial do locatário. Por exemplo: prefix#EXT#@tenant.onmicrosoft.com.
  • Se você convidar um usuário de um locatário diferente do Microsoft Entra ID e ele for excluído posteriormente no locatário inicial, a conta de usuário convidado permanecerá ativa no locatário do Microsoft Entra ID.

Essas diferenças afetam a maneira como você configura o provisionamento de usuários e o logon único:

  • Como onmicrosoft.com é um domínio DNS de propriedade da Microsoft, não é possível adicionar tenant.onmicrosoft.com como um domínio secundário à sua conta do Cloud Identity ou do Google Workspace. Essa limitação significa que não é possível usar o UPN do usuário convidado como endereço de e-mail principal ao provisionar o usuário para o Cloud Identity ou o Google Workspace.

    Para provisionar usuários convidados para o Cloud Identity ou o Google Workspace, configure um mapeamento que transforme o UPN do usuário convidado em um domínio usado pela conta do Cloud Identity ou do Google Workspace.

    Neste documento, você configura um mapeamento UPN conforme indicado na tabela a seguir.

    UPN original no Microsoft Entra ID Endereço de e-mail principal no Cloud Identity ou no Google Workspace
    Usuário regular alice@example.com alice@example.com
    Convidado com Microsoft Entra ID charlie@altostrat.com charlie_altostrat.com@example.com
    Convidado externo user@hotmail.com user_hotmail.com@example.com
  • Quando um usuário é excluído no locatário inicial, o Microsoft Entra ID não suspende o usuário correspondente no Cloud Identity ou no Google Workspace. Isso representa um risco à segurança. Embora qualquer tentativa de usar o logon único falhe para esse usuário, as sessões do navegador e os tokens de atualização existentes, incluindo aqueles usados pela Google Cloud CLI, podem permanecer ativos por dias ou semanas, permitindo que o usuário continue acessando os recursos.

    Usando a abordagem apresentada neste documento, é possível reduzir esse risco provisionando usuários convidados para uma unidade organizacional dedicada no Cloud Identity ou no Google Workspace e aplicando uma política que restringe a duração da sessão a 8. horas. A política garante que as sessões do navegador e os tokens de atualização atuais sejam invalidados no máximo oito horas depois que o usuário tiver sido excluído no locatário inicial, revogando efetivamente todo o acesso. No entanto, o usuário no Cloud Identity ou no Google Workspace permanece ativo até que você o exclua da conta do Microsoft Entra ID.

Como preparar sua conta do Cloud Identity ou do Google Workspace

Crie uma unidade organizacional na conta do Cloud Identity ou do Google Workspace para que todos os usuários convidados sejam provisionados.

  1. Abra o Admin Console e faça login usando o usuário superadministrador criado quando você se inscreveu no Cloud Identity ou no Google Workspace.
  2. No menu, acesse Diretório > Unidades organizacionais.
  3. Clique em Criar unidade organizacional e forneça um nome e uma descrição para a unidade organizacional:
    1. Nome da unidade organizacional: guests
    2. Descrição: Microsoft Entra B2B guest users
  4. Clique em Criar.

Aplique uma política à unidade organizacional que limita a duração da sessão a 8 horas. A duração da sessão não se aplica apenas às sessões do navegador, mas também restringe o ciclo de vida dos tokens de atualização do OAuth.

  1. No Admin Console, acesse Segurança > Controle de dados e acesso > Controle de sessão do Google Cloud.
  2. Selecione a unidade organizacional convidados e aplique as seguintes configurações:

    • Política de reautenticação: exija reautenticação
    • Frequência de reautenticação: 8 horas.

      Essa duração reflete a quantidade máxima de tempo que um usuário convidado ainda pode acessar os recursos do Google Cloud após serem suspensos no Microsoft Entra ID.

    • Método de reautenticação: senha.

      Essa configuração garante que os usuários precisem se autenticar outra vez usando o Microsoft Entra ID após a expiração de uma sessão.

  3. Clique em Substituir.

Configurar o provisionamento do Microsoft Entra ID

Agora está tudo pronto para ajustar a configuração atual do Microsoft Entra ID para oferecer suporte ao provisionamento de usuários convidados B2B.

  1. No portal do Azure, acesse Microsoft Entra ID > Aplicativos empresariais.
  2. Selecione o aplicativo empresarial Google Cloud (Provisioning), que você usa para o provisionamento de usuários.
  3. Clique em Gerenciar > Provisionamento.
  4. Clique em Editar provisionamento.
  5. Em Mapeamentos, clique em Provisionar usuários do Microsoft Entra ID.
  6. Selecione a linha userPrincipalName.
  7. Na caixa de diálogo Editar atributo, aplique as seguintes alterações:

    1. Tipo de mapeamento: altere de Direto para Expressão.
    2. Expressão:

      Replace([originalUserPrincipalName], "#EXT#@TENANT_DOMAIN", , , "@PRIMARY_DOMAIN", , )

      Substitua:

      • TENANT_DOMAIN: o domínio .onmicrosoft.com do locatário do Microsoft Entra ID, como tenant.onmicrosoft.com.
      • PRIMARY_DOMAIN: o nome de domínio principal usado pela sua conta do Cloud Identity ou do Google Workspace, como example.org.
  8. Clique em OK.

  9. Selecione Adicionar novo mapeamento.

  10. Na caixa de diálogo Editar atributo, defina as configurações a seguir:

    1. Tipo de mapeamento: expressão.
    2. Expressão:

      IIF(Instr([originalUserPrincipalName], "#EXT#", , )="0", "/", "/guests")

    3. Atributo de destino: OrgUnitPath

  11. Clique em OK.

  12. Clique em Save.

  13. Clique em Sim para confirmar que salvar as alterações resultará em usuários e grupos sincronizados novamente.

  14. Feche a caixa de diálogo Mapeamento de atributos.

Como configurar o Microsoft Entra ID para Logon único

Para garantir que os usuários convidados possam se autenticar usando o Logon único, estenda a configuração do Microsoft Entra ID para ativar o Logon único para convidados:

  1. No portal do Azure, acesse Microsoft Entra ID > Aplicativos empresariais.
  2. Selecione o aplicativo empresarial do Google Cloud, que você usa para o logon único.
  3. Clique em Gerenciar > Logon único.
  4. Na tela de votação, clique no cartão SAML.
  5. No card Atributos e declarações do usuário, clique em Editar.
  6. Selecione a linha Identificador de usuário único (ID do nome).
  7. Selecione Condições de reivindicação.
  8. Adicione uma reivindicação condicional para convidados externos:
    • Tipo de usuário: convidados externos
    • Origem: transformação
    • Transformação: RegexReplace()
    • Parâmetro 1: Atributo
    • Atributo: user.userprincipalname
    • Padrão Regex: (?'username'^.*?)#EXT#@(?i).*\.onmicrosoft\.com$
    • Padrão de substituição: {username}@PRIMARY_DOMAIN, substituindo PRIMARY_DOMAIN pelo nome de domínio principal usado pela sua conta do Cloud Identity ou do Google Workspace.
  9. Clique em Adicionar.
  10. Adicione uma reivindicação condicional para convidados do Microsoft Entra ID de diferentes locatários:

    • Tipo de usuário: convidados do Microsoft Entra
    • Origem: transformação
    • Transformação: RegexReplace()
    • Parâmetro 1: Atributo
    • Atributo: user.localuserprincipalname

    • Padrão Regex: (?'username'^.*?)#EXT#@(?i).*\.onmicrosoft\.com$

    • Padrão de substituição: {username}@PRIMARY_DOMAIN, substituindo PRIMARY_DOMAIN pelo nome de domínio principal usado pela sua conta do Cloud Identity ou do Google Workspace.

  11. Clique em Adicionar.

  12. Adicione uma reivindicação condicional para usuários regulares do Microsoft Entra ID:

    • Tipo de usuário: assinantes
    • Origem: atributo
    • Valor: user.userprincipalname
  13. Clique em Save.

Como testar o logon único

Para verificar se a configuração funciona corretamente, você precisa de três usuários de teste no locatário do Microsoft Entra ID:

  • Um usuário comum do Microsoft Entra ID.
  • Um usuário convidado do Microsoft Entra ID. Esse é um usuário que foi convidado de um locatário diferente do Microsoft Entra ID.
  • Um usuário convidado externo. Este é um usuário que foi convidado usando um endereço de e-mail que não é do Microsoft Entra ID, como um endereço @hotmail.com.

Faça o seguinte teste para cada usuário:

  1. Abra uma nova janela anônima no navegador e acesse https://console.cloud.google.com/.
  2. Na página de login do Google, insira o endereço de e-mail do usuário como ele aparece na coluna Endereço de e-mail principal no Cloud Identity ou Google Workspace da tabela anterior. Consulte essa tabela para ver como o endereço de e-mail no Cloud Identity ou no Google Workspace deriva do nome principal do usuário.

    Você será redirecionado para o Microsoft Entra ID e verá outra solicitação de login.

  3. Na solicitação de login, insira o UPN do usuário e siga as instruções para autenticar.

    Após a autenticação, o Microsoft Entra ID redireciona você de volta para o Login do Google. Como esta é a primeira vez que você faz login usando esse usuário, será preciso aceitar a Política de Privacidade e os Termos de Serviço do Google.

  4. Se você concordar, clique em Aceitar.

    Você será redirecionado para o console do Google Cloud, que solicitará a confirmação das preferências e aprovação dos Termos de Serviço do Google Cloud.

  5. Se você concordar com os termos, selecione Sim e clique em Concordar e continuar.

  6. Clique no ícone do avatar e em Sair.

    Você será redirecionado para uma página do Microsoft Entra ID confirmando que foi desconectado com sucesso.

A seguir