Este guia mostra como configurar o Início de sessão único (SSO) entre o Keycloak e a sua conta do Cloud ID ou do Google Workspace através da federação SAML. O documento pressupõe que instalou e está a usar o Keycloak.
Objetivos
- Configure o seu servidor Keycloak para que possa ser usado como um fornecedor de identidade (IdP) pelo Cloud ID ou Google Workspace.
- Configure a sua conta do Cloud ID ou Google Workspace para que use o Keycloak para o SSO.
Antes de começar
- Se não tiver uma conta do Cloud Identity, inscreva-se para criar uma conta.
- Certifique-se de que a sua conta do Cloud ID tem privilégios de superadministrador.
- Se o seu servidor Keycloak for usado para gerir mais do que um domínio, decida que domínio quer usar para a federação.
- Certifique-se de que tem acesso de administrador ao domínio selecionado.
Crie um perfil SAML
Para configurar o Início de sessão único com o Keycloak, primeiro, crie um perfil SAML na sua conta do Cloud ID ou do Google Workspace. O perfil SAML contém as definições relacionadas com o seu servidor Keycloak, incluindo o respetivo URL e certificado de assinatura.
Posteriormente, atribui o perfil SAML a determinados grupos ou unidades organizacionais.
Para criar um novo perfil SAML na sua conta do Cloud ID ou do Google Workspace, faça o seguinte:
Na consola do administrador, aceda a Segurança > Autenticação > SSO com IdP de terceiros.
Clique em Perfis de SSO de terceiros > Adicionar perfil de SAML.
Na página Perfil de SSO de SAML, introduza as seguintes definições:
- Nome:
Keycloak
ID de entidade do IDP:
Keycloak 17 ou posterior
https://KEYCLOAK/realms/REALM
Keycloak 16 ou anterior
https://KEYCLOAK/auth/realms/REALM
URL da página de início de sessão:
Keycloak 17 ou posterior
https://KEYCLOAK/realms/REALM/protocol/saml
Keycloak 16 ou anterior
https://KEYCLOAK/auth/realms/REALM/protocol/saml
URL da página de fim de sessão:
Keycloak 17 ou posterior
https://KEYCLOAK/realms/REALM/protocol/openid-connect/logout
Keycloak 16 ou anterior
https://KEYCLOAK/auth/realms/REALM/protocol/openid-connect/logout?redirect_uri=https://KEYCLOAK/auth/realms/REALM/account/
URL para alterar a palavra-passe:
Keycloak 17 ou posterior
https://KEYCLOAK/realms/REALM/account
Keycloak 16 ou anterior
https://KEYCLOAK/auth/realms/REALM/account
Em todos os URLs, substitua o seguinte:
KEYCLOAK
: o nome do domínio totalmente qualificado do seu servidor KeycloakREALM
: o nome do reino selecionado
Não carregue ainda um certificado de validação.
- Nome:
Clique em Guardar.
A página Perfil de SSO de SAML apresentada contém dois URLs:
- ID da entidade
- URL do ACS
Precisa destes URLs na secção seguinte quando configurar o Keycloak.
Configure o Keycloak
Configura o servidor Keycloak criando um cliente.
Crie um cliente
Crie um novo cliente SAML no Keycloak:
- Inicie sessão no Keycloak e abra a consola de administração.
- Selecione o domínio que quer usar para a federação.
- No menu, selecione Clientes.
- Clique em Criar cliente.
Configure as seguintes definições para o cliente:
Keycloak 19 ou posterior
- Tipo de cliente: SAML
- ID do cliente: URL da entidade do seu perfil de SSO.
- Nome:
Google Cloud
Keycloak 18 ou anterior
- ID do cliente: URL da entidade do seu perfil de SSO.
- Protocolo do cliente: saml
- Ponto final SAML do cliente: deixe em branco
Clique em Guardar.
Especifique os detalhes do cliente configurando as seguintes definições:
Keycloak 19 ou posterior
No separador Definições:
- URIs de redirecionamento válidos: URL de ACS do seu perfil de SSO
- Formato do ID do nome: email
- Forçar formato de ID de nome: ativado
- Assinar documentos: desativado
- Assinatura de afirmações: ativada
No separador Chaves:
- Assinatura do cliente obrigatória: desativada
Keycloak 18 ou anterior
- Nome: um nome como
Google Cloud
- Assinatura de afirmações: ativada
- Assinatura do cliente obrigatória: desativada
- Forçar formato de ID de nome: ativado
- Formato do ID do nome: email
- URIs de redirecionamento válidos: URL de ACS do seu perfil de SSO
Mantenha os valores predefinidos para todas as outras definições.
Clique em Guardar.
Exporte o certificado de assinatura
Depois de o Keycloak autenticar um utilizador, transmite uma afirmação SAML ao Cloud Identity ou ao Google Workspace. Para permitir que o Cloud ID e o Google Workspace validem a integridade e a autenticidade dessa afirmação, o Keycloak assina a afirmação com uma chave de assinatura de tokens especial e fornece um certificado que permite ao Cloud ID ou ao Google Workspace verificar a assinatura.
Agora, exporte o certificado de assinatura do Keycloak:
- No menu, selecione Definições do domínio.
- Selecione o separador Chaves.
Encontre a linha para Algoritmo: RS256. Se houver mais do que uma linha, use a que tem Usar: SIG. Em seguida, selecione Certificado.
É apresentada uma caixa de diálogo que contém um certificado codificado em base64.
Copie o valor do certificado codificado em base64 para a área de transferência.
Antes de poder usar o certificado de assinatura, tem de o converter para o formato PEM adicionando um cabeçalho e um rodapé.
- Abra um editor de texto, como o Bloco de notas ou o vim.
Cole o seguinte cabeçalho, seguido de uma nova linha:
-----BEGIN CERTIFICATE-----
Cole o certificado codificado em base64 da área de transferência.
Adicione uma nova linha e cole o seguinte rodapé:
-----END CERTIFICATE-----
Após a alteração, o ficheiro tem um aspeto semelhante ao seguinte:
-----BEGIN CERTIFICATE----- MIICmzCCAYMCBgF7v8/V1TANBgkq... -----END CERTIFICATE-----
Guarde o ficheiro numa localização temporária no computador.
Conclua o perfil SAML
Use o certificado de assinatura para concluir a configuração do seu perfil SAML:
Regresse à consola do administrador e aceda a Segurança > Autenticação > SSO com IdP de terceiros.
Abra o perfil SAML
Keycloak
que criou anteriormente.Clique na secção Detalhes do IDP para editar as definições.
Clique em Carregar certificado e escolha o certificado de assinatura de tokens que transferiu anteriormente.
Clique em Guardar.
O seu perfil SAML está concluído, mas ainda tem de o atribuir.
Atribua o perfil SAML
Selecione os utilizadores aos quais o novo perfil SAML deve ser aplicado:
Na consola do administrador, na página SSO com IdPs de terceiros, clique em Gerir atribuições de perfis de SSO > Gerir.
No painel do lado esquerdo, selecione o grupo ou a unidade organizacional para os quais quer aplicar o perfil de SSO. Para aplicar o perfil a todos os utilizadores, selecione a unidade organizacional de raiz.
No painel do lado direito, selecione Outro perfil de SSO.
No menu, selecione o
Keycloak - SAML
perfil de SSO que criou anteriormente.Clique em Guardar.
Repita os passos para atribuir o perfil SAML a outro grupo ou unidade organizacional.
Teste o início de sessão único
Concluiu a configuração do Início de sessão único. Agora, pode verificar se o SSO funciona conforme previsto.
Escolha um utilizador do Keycloak que cumpra os seguintes critérios:
- O utilizador tem um endereço de email.
- O endereço de email corresponde ao endereço de email principal de um utilizador existente na sua conta do Cloud ID ou do Google Workspace.
O utilizador do Cloud Identity não tem privilégios de superadministrador.
As contas de utilizador com privilégios de superadministrador têm sempre de iniciar sessão através das credenciais Google, pelo que não são adequadas para testar o início de sessão único.
Abra uma nova janela do navegador e aceda à Google Cloud consola.
Na página de início de sessão do Google, introduza o endereço de email da conta de utilizador e, de seguida, clique em Seguinte.
É feito um redirecionamento para o Keycloak.
Introduza as suas credenciais do Keycloak e, de seguida, clique em Iniciar sessão.
Após a autenticação bem-sucedida, o Keycloak redireciona-o de volta para a Google Cloud consola. Uma vez que esta é a primeira vez que o utilizador inicia sessão, é-lhe pedido que aceite os Termos de Utilização e a Política de Privacidade da Google.
Se concordar com os termos, clique em Aceitar.
É redirecionado para a Google Cloud consola, que lhe pede para confirmar as preferências e aceitar os Google Cloud Termos de Utilização. Se aceitar os termos, clique em Sim e, de seguida, em Aceitar e continuar.
Clique no ícone de avatar e, de seguida, clique em Terminar sessão.
É feito um redirecionamento para o Keycloak.
Se tiver problemas ao iniciar sessão, tenha em atenção que as contas de utilizador com privilégios de superadministrador podem ignorar o SSO, pelo que ainda pode usar a consola do administrador para validar ou alterar as definições.
Opcional: configure redirecionamentos para URLs de serviço específicos do domínio
Quando cria uma associação à Google Cloud consola a partir de portais ou documentos internos, pode melhorar a experiência do utilizador através de URLs de serviços específicos do domínio.
Ao contrário dos URLs de serviços normais, como https://console.cloud.google.com/
,
os URLs de serviços específicos do domínio incluem o nome do seu domínio principal. Os utilizadores não autenticados que clicam num link para um URL de serviço específico do domínio são imediatamente redirecionados para o Keycloak, em vez de lhes ser apresentada primeiro uma página de início de sessão do Google.
Seguem-se alguns exemplos de URLs de serviço específicos do domínio:
Serviço Google | URL | Logótipo |
---|---|---|
Google Cloud consola | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com/ |
![]() |
Google Docs | https://docs.google.com/a/DOMAIN |
![]() |
Google Sheets | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://sheets.google.com/
|
![]() |
Google Sites | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://slides.google.com/ |
![]() |
Google Drive | https://drive.google.com/a/DOMAIN |
![]() |
Gmail | https://mail.google.com/a/DOMAIN |
![]() |
Grupos do Google | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://groups.google.com/ |
![]() |
Google Keep | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://keep.google.com/
|
![]() |
Looker Studio | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://lookerstudio.google.com/ |
![]() |
YouTube | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://www.youtube.com/
|
![]() |
Para configurar URLs de serviço específicos do domínio para que sejam redirecionados para o Keycloak, faça o seguinte:
Na consola do administrador, na página SSO com IdPs de terceiros, clique em URLs de serviço específicos do domínio > Editar.
Defina a opção Redirecione automaticamente os utilizadores para o IdP de terceiros no seguinte perfil de SSO como ativada.
Defina o perfil de SSO como
Keycloak
.Clique em Guardar.
Opcional: configure desafios de início de sessão
O início de sessão na Google pode pedir aos utilizadores uma validação adicional quando iniciam sessão a partir de dispositivos desconhecidos ou quando a respetiva tentativa de início de sessão parece suspeita por outros motivos. Estes desafios de início de sessão ajudam a melhorar a segurança e recomendamos que os deixe ativados.
Se considerar que os desafios de início de sessão causam demasiada fricção, pode desativá-los fazendo o seguinte:
- Na consola do administrador, aceda a Segurança > Autenticação > Desafios de início de sessão.
- No painel do lado esquerdo, selecione uma unidade organizacional para a qual quer desativar os desafios de início de sessão. Para desativar os desafios de início de sessão para todos os utilizadores, selecione a unidade organizacional de raiz.
- Em Definições para utilizadores que iniciam sessão com outros perfis de SSO, selecione Não pedir validações adicionais da Google aos utilizadores.
- Clique em Guardar.
O que se segue?
- Saiba mais acerca da gestão de identidade e acesso (IAM).
- Leia acerca das práticas recomendadas para configurar uma organização empresarial no Google Cloud.