É possível configurar a conta do Cloud Identity ou do Google Workspace para usar o Logon único (SSO). Ao ativar o SSO, os usuários não são solicitados a inserir uma senha quando tentam acessar os serviços do Google. Em vez disso, eles são redirecionados para um provedor de identidade externo (IdP) a fim de realizar a autenticação.
O uso do SSO oferece diversas vantagens:
- Você oferece uma experiência melhor aos usuários porque eles podem usar as credenciais atuais para autenticar e não precisam inserir as credenciais com frequência.
- Você garante que o IdP atual continue sendo o sistema de registro para autenticar usuários.
- Não é necessário sincronizar senhas com o Cloud Identity ou o Google Workspace.
Para usar o SSO, um usuário precisa ter uma conta de usuário no Cloud Identity ou no Google Workspace e uma identidade correspondente no IdP externo. Por isso, o SSO é muito usado com uma fonte autoritativa externa que provisiona automaticamente os usuários para o Cloud Identity ou o Google Workspace.
Processo de logon único
O Cloud Identity e o Google Workspace são compatíveis com a Linguagem de marcação para autorização de segurança (SAML, na sigla em inglês) 2.0 no logon único. O SAML é um padrão aberto para a troca de dados de autenticação e autorização entre um IdP SAML e provedores de serviços SAML. Quando você usa o SSO para o Cloud Identity ou o Google Workspace, seu IdP externo é o IdP SAML, e o Google é o provedor de serviços SAML.
O Google implementa a vinculação do POST HTTP SAML 2.0. Essa vinculação especifica como as informações de autenticação são trocadas entre o IdP SAML e o provedor de serviços SAML. O diagrama a seguir ilustra um exemplo de como esse processo funciona quando você usa o SSO para acessar o console do Google Cloud.
- Aponte seu navegador para o console do Google Cloud (ou qualquer outro recurso do Google que exija autenticação).
- Como você ainda não está autenticado, o console do Google Cloud redireciona seu navegador para o Login do Google.
- O Login do Google retorna uma página de login, solicitando que você insira seu endereço de e-mail.
- Você insere seu endereço de e-mail e envia o formulário.
- O Login do Google procura a conta do Cloud Identity ou do Google Workspace associada ao seu endereço de e-mail.
Como a conta do Cloud Identity ou do Google Workspace associada tem o logon único ativado, o Login do Google redireciona o navegador para o URL do IdP externo configurado. Antes de emitir o redirecionamento, ele adiciona dois parâmetros ao URL,
RelayState
eSAMLRequest
.RelayState
contém um identificador que espera que o IdP externo transmita esses dados posteriormente.SAMLRequest
contém a solicitação de autenticação SAML, um documento XML que foi esvaziado, codificado em base64 e codificado em URL. No formato decodificado, a solicitação de autenticação SAML é semelhante a esta:<samlp:AuthnRequest ProviderName="google.com" IsPassive="false" AssertionConsumerServiceURL="https://www.google.com/a/example.com/acs" ...> <saml:Issuer xmlns:saml="...">google.com</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/> </samlp:AuthnRequest>
Este exemplo de solicitação instrui o IdP externo a autenticar o usuário, criar uma declaração SAML para o público-alvo
google.com
e publicá-la no serviço de declaração de consumidor (ACS) emhttps://www.google.com/a/example.com/acs
.O domínio incorporado ao URL do ACS (
example.com
) corresponde ao domínio principal da conta do Google Workspace ou do Cloud Identity.Se você usar o recurso emissor específico do domínio ao configurar o SSO, o emissor será
google.com/a/DOMAIN
em vez degoogle.com
, em queDOMAIN
é o domínio principal da conta do Cloud Identity ou do Google Workspace.As etapas executadas pelo IdP externo para executar a autenticação dependem do IdP e da configuração dele. Por exemplo, talvez ele exiba uma caixa de diálogo de login ou uma solicitação de MFA ou impressão digital. Após a conclusão dessas etapas, a troca SAML continuará:
O IdP externo retorna uma página HTML especialmente criada que faz com que o navegador envie imediatamente uma solicitação HTTP POST para o URL do ACS. Essa solicitação contém dois parâmetros:
RelayState
, que contém o valor originalmente transmitido para o IdP na solicitação de autenticação SAML.SAMLResponse
, que contém a declaração SAML codificada em base64. A asserção SAML é um documento XML que declara que o IdP autenticou o usuário com sucesso. No formato decodificado, a declaração SAML é semelhante a esta:<samlp:Response ...> ... <Assertion x...> <Issuer>https://idp.example.org/</Issuer> <Signature ...> ... </Signature> <Subject> <NameID Format="...:nameid-format:emailAddress">bob@example.org</NameID> ... </Subject> <Conditions NotBefore="..." NotOnOrAfter="..."> <AudienceRestriction> <Audience>google.com</Audience> </AudienceRestriction> </Conditions> <AttributeStatement> ... </AttributeStatement> <AuthnStatement AuthnInstant="..." ...> <AuthnContext> <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef> </AuthnContext> </AuthnStatement> </Assertion> </samlp:Response>
Essa declaração de exemplo foi emitida para o público-alvo
google.com
, que corresponde ao emissor da solicitação de autenticação SAML, e declara que o IdPhttps://idp.example.org/
autenticou o usuáriobob@example.org
.A asserção SAML também contém uma assinatura digital. O IdP cria essa assinatura usando a chave privada de um certificado de assinatura. A chave privada é conhecida somente pelo IdP. A chave pública correspondente faz parte da configuração do SSO no Cloud Identity ou no Google Workspace e é compartilhada com o Login do Google.
A declaração SAML também contém uma assinatura digital que permite que o provedor de serviços SAML verifique a autenticidade da declaração.
O navegador publica a asserção SAML no endpoint de ACS do Google.
O endpoint de ACS verifica a assinatura digital da asserção SAML. Essa verificação é feita para garantir que a declaração seja originada no IdP externo confiável e que não tenha sido adulterada. Supondo que a assinatura seja válida, o endpoint do ACS analisa o conteúdo da declaração, o que inclui verificar as informações do público e ler o atributo
NameID
.O endpoint do ACS procura sua conta de usuário fazendo a correspondência de
NameID
da asserção SAML com o endereço de e-mail principal do usuário. O endpoint inicia uma sessão.Com base nas informações codificadas no parâmetro
RelayState
, o endpoint determina o URL do recurso que você pretendia acessar anteriormente, e você é redirecionado para o console do Google Cloud.
Login iniciado pelo IdP
O processo descrito na seção anterior às vezes é chamado de logon iniciado pelo provedor de serviços porque ele começa no provedor de serviços, que no exemplo anterior é o console do Google Cloud.
O SAML também define um fluxo alternativo chamado Logon iniciado pelo IdP, que começa no IdP. O Google não oferece suporte a esse fluxo, mas é possível conseguir resultados semelhantes usando o seguinte URL para iniciar um logon iniciado pelo provedor de serviços:
https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com/
Neste exemplo, DOMAIN
é o domínio principal
da conta do Cloud Identity ou do Google Workspace.
Autenticação multifator
Para proteger contas de usuários contra acesso não autorizado, você pode exigir que os usuários forneçam um segundo fator durante a autenticação. Há duas maneiras de implementar a autenticação multifator ao usar logon único:
- Se o IdP externo for compatível com a autenticação multifator, será possível fazer a autenticação multifator como parte do processo de logon baseado em SAML. Neste caso, nenhuma configuração extra é necessária no Cloud Identity ou no Google Workspace.
- Se o IdP não for compatível com a autenticação multifator, configure a conta do Cloud Identity ou do Google Workspace para fazer a verificação em duas etapas imediatamente após a autenticação de um usuário com o IdP externo.
Rede
Na vinculação de redirecionamento HTTP de SAML 2.0, o IdP e o provedor de serviços não se comunicam diretamente. Em vez disso, toda a comunicação é redirecionada por meio do navegador do usuário, como mostrado no diagrama a seguir:
Com essa arquitetura, não é necessário que o IdP seja exposto pela Internet ou tenha acesso à Internet, desde que os usuários possam acessá-lo pela rede corporativa.
Configuração do IdP externo
O Cloud Identity e o Google Workspace permitem configurar o Logon único usando os seguintes recursos:
Perfis SAML: você pode criar um perfil SAML para cada IdP que queira integrar. Para cada usuário, grupo ou unidade organizacional na sua conta do Cloud Identity ou do Google Workspace, você decide se eles precisarão usar o SSO e qual perfil SAML usarão.
Perfis organizacionais clássicos de SSO: é possível criar um único perfil organizacional para integrar a um único IdP. Para cada usuário, grupo ou unidade organizacional na sua conta do Cloud Identity ou do Google Workspace, você decide se eles precisarão ou não usar o SSO.
A maneira correta de configurar o IdP depende do uso de perfis SAML ou de perfis organizacionais clássicos. A tabela a seguir resume as configurações que normalmente precisam ser definidas em um IdP externo para ajudar a garantir a compatibilidade.
Configuração | Configuração necessária para perfis organizacionais clássicos |
Configuração necessária para perfis SAML |
Comentários |
---|---|---|---|
ID de nome | Endereço de e-mail principal de um usuário | Endereço de e-mail principal de um usuário | |
Formato do código de nome | urn:oasis:names:tc:SAML:1.1: |
urn:oasis:names:tc:SAML:1.1: |
|
ID da entidade |
Se o recurso do emissor específico do domínio estiver ativado:
Se o recurso do emissor específico do domínio estiver desativado (padrão):
Use o recurso do emissor específico do domínio se quiser integrar várias contas do Google Workspace ou do Cloud Identity ao mesmo IdP. Caso contrário, deixe o recurso desativado. |
ID de entidade exclusivo do seu perfil SAML. Dependendo da data de criação do perfil SAML, o ID da entidade usa um dos seguintes formatos:
|
|
Padrão do URL do ACS (ou URL de redirecionamento) | https://www.google.com/a/* |
URL do ACS exclusivo do seu perfil SAML. Dependendo da data de criação do seu perfil SAML, o URL usará um dos seguintes formatos:
|
|
Solicitar assinatura | Desativado | Desativado | As solicitações de autenticação SAML emitidas pelo Login do Google nunca são assinadas |
Assinatura de declaração | Ativado | Ativado | As declarações de SAML precisam ser assinadas para permitir que o Login do Google verifique a
autenticação. Ao configurar o SSO no Admin Console, faça upload da chave pública do par de chaves de assinatura de tokens. |
Criptografia de declarações | Desativado | Desativado | |
Algoritmo de assinatura | RSA-SHA256 | RSA-SHA256 | RSA-SHA256 (às vezes abreviado como RS256) |
A seguir
- Analise as arquiteturas de referência para integração com um IdP externo.
- Saiba como configurar o provisionamento de contas e o SSO com o Azure AD ou o Active Directory.
- Leia nossas Práticas recomendadas para federar o Google Cloud com um IdP externo.