SSO para Databricks com Keycloak

Este artigo mostra como configurar o Keycloak como o provedor de identidade para logon único (SSO) em seu Databricks account. O Keycloak é compatível com o OpenID Connect (OIDC) e o SAML 2.0. O Keycloak não é compatível com o SCIM para sincronizar usuários e grupos com o Databricks.

Aviso

Para evitar o bloqueio do Databricks durante o teste de logon único, o Databricks recomenda manter o console do account aberto em uma janela diferente do navegador. O senhor também pode configurar o acesso de emergência com chave de segurança para evitar o bloqueio. Consulte Acesso de emergência para evitar bloqueios.

Ativar o SSO do Keycloak usando o OIDC

  1. Como administrador da conta, faça login no console da conta e clique no ícone Configurações na barra lateral.

  2. Clique em Authentication (Autenticação ) tab.

  3. Ao lado de Authentication (Autenticação), clique em gerenciar.

  4. Escolha Login único com meu provedor de identidade.

  5. Clique em "Continuar".

  6. Em Protocolo de identidade, selecione OpenID Connect.

  7. Em Authentication (Autent icação) tab , anote o valorDatabricks Redirect URL (URL de redirecionamento ).

  8. Em um novo navegador tab, log in para o console de administração do Keycloak.

  9. Selecione o reino para a integração com o Databricks ou crie um novo.

  10. Crie um novo cliente:

    1. Clique em Clientes e clique em Criar cliente.

    2. Em Tipo de cliente, selecione OpenID Connect.

    3. Insira um ID e um nome do cliente.

    4. Clique em Avançar e em Salvar.

      Keycloak cria um novo cliente.
  11. Configurar o cliente Databricks:

    1. Em Access Settings (Configurações de acesso), defina Home URL (URL inicial ) como seu URL Databricks account . (Por exemplo, https://accounts.cloud.databricks.com/).

    2. Defina URIs de redirecionamento válidos para o URL de redirecionamento da Databricks que o senhor copiou acima.

    3. Na configuração de capacidade, defina a autenticação do cliente como Ativada para acesso confidencial.

    O Keycloak define as configurações de acesso.
  12. Configure o mapeamento de membros do grupo:

    1. Clique em Escopos do cliente e selecione o escopo dedicado para seu cliente.

    2. Em Mappers (Mapeadores ) tab, clique em Configure a new mapper (Configurar um novo mapeador).

    3. Em Tipo de mapeador, selecione Participação em grupo.

    4. Defina Name e tokens Claim Name como grupos.

    5. Alterne o caminho completo do grupo para Ativado ou Desativado com base em sua preferência.

    O Keycloak define as configurações do grupo.
  13. Volte ao console Databricks account Authentication tab e insira os valores que copiou do Keycloak:

    1. ID do cliente: O ID do cliente do Keycloak.

    2. Segredo do cliente: encontrado em Credentials tab do seu cliente Keycloak.

    3. URL do emissor do OpenID: Seu URL do Keycloak com domínio (por exemplo, https://keycloak.example.com/auth/realms/your-realm).

  14. Clique em Salvar.

  15. Clique em Testar SSO para validar se sua configuração de SSO está funcionando corretamente.

  16. Clique em Habilitar SSO para habilitar o login único em sua conta.

  17. Teste o login do console da conta com SSO.

  18. Configurar o login unificado

    O login unificado permite que você use a configuração de SSO do console da conta em seus workspaces do Databricks. Se sua conta foi criada depois de 21 de junho de 2023, o login unificado estará habilitado em sua conta por padrão para todos os workspaces, novos e existentes, e não poderá ser desabilitado. Para configurar o login unificado, consulte Habilitar login unificado.

Habilitar o SSO do Keycloak usando SAML

  1. Como administrador da conta, faça login no console da conta e clique no ícone Configurações na barra lateral.

  2. Clique em Authentication (Autenticação ) tab.

  3. Ao lado de Authentication (Autenticação), clique em gerenciar.

  4. Escolha Login único com meu provedor de identidade.

  5. Clique em "Continuar".

  6. Em Protocolo de identidade, selecione OpenID Connect.

  7. Em Authentication (Autent icação) tab , anote o valorDatabricks Redirect URL (URL de redirecionamento ).

    Configurar o SAML SSO.
  8. Em um novo navegador tab, log in para o console de administração do Keycloak.

  9. Selecione o reino para a integração com o Databricks ou crie um novo.

  10. Crie um novo cliente:

    1. Clique em Clientes e clique em Criar cliente.

    2. Em Client type (Tipo de cliente), selecione SAML.

    3. Insira um ID e um nome do cliente.

    4. Clique em Avançar e em Salvar.

    5. Nas configurações de login, defina URIs de redirecionamento válidos para o URL de redirecionamento da Databricks que o senhor copiou acima.

    O Keycloak cria um novo cliente SAML.
  11. Configure o cliente:

    1. Em Settin gs (Configurações) tab , emSAML capabilities (Recursos de), defina Name ID format (Formato de ID de nome) como email.

    2. Ative o formato Forçar ID do nome.

    3. Clique em Salvar.

    O Keycloak configura os atributos do SAML.
  12. Configurar o mapeamento de atributos SAML:

    1. Clique em Escopos do cliente e selecione o escopo dedicado para seu cliente.

    2. No site Mappers tab, clique em Add predefined mapper (Adicionar mapeador predefinido).

    3. Selecione X500 email, X500 givenName e X500 surname e clique em Add.

    O Keycloak configura escopos dedicados.
  13. Recuperar metadados SAML:

    1. Clique em Configurações do reino e em Geral.

    2. Clique em SAML 2.0 Identity Provider Metadata (Metadados do provedor de identidade SAML 2.0).

    3. Nos metadados, salve os seguintes valores:

    • O atributo Location no elemento SingleSignOnService (por exemplo, https://my-idp.example.com/realms/DatabricksRealm/protocol/saml). Este é o URL de logon único em Databricks

    • O atributo entityID no elemento EntityDescriptor (por exemplo, https://my-idp.example.com/realms/DatabricksRealm).

    • A tag X509Certificate.

  14. Volte ao console Databricks account Authentication tab e insira os valores que copiou do Keycloak:

    1. URL de logon único: O atributo Location no elemento SingleSignOnService que o senhor copiou acima.

    2. ID da entidade: O atributo entityID no elemento EntityDescriptor que o senhor copiou acima.

    3. X509Certificate: A tag X509Certificate que o senhor copiou acima.

  15. Clique em Salvar.

  16. Clique em Testar SSO para validar se sua configuração de SSO está funcionando corretamente.

  17. Clique em Habilitar SSO para habilitar o login único em sua conta.

  18. Teste o login do console da conta com SSO.

  19. Configurar o login unificado

    O login unificado permite que você use a configuração de SSO do console da conta em seus workspaces do Databricks. Se sua conta foi criada depois de 21 de junho de 2023, o login unificado estará habilitado em sua conta por padrão para todos os workspaces, novos e existentes, e não poderá ser desabilitado. Para configurar o login unificado, consulte Habilitar login unificado.