Configurações de administrador - Autenticação do OpenID Connect

As empresas usam diferentes provedores do OpenID Connect (OPs) para se coordenarem com o OpenID Connect (por exemplo, Okta ou OneLogin). Os termos usados nas instruções de configuração a seguir e na interface do Looker podem não corresponder diretamente aos usados pelo OP.

A página OpenID Connect na seção Autenticação do menu Administrador permite configurar o Looker para autenticar usuários usando o protocolo OpenID Connect. Esta página descreve esse processo e inclui instruções para vincular grupos do OpenID Connect a papéis e permissões do Looker.

Considerações sobre planejamento

  • Use a opção Login alternativo para usuários especificados se quiser permitir que os administradores do Looker acessem o Looker sem o OpenID Connect.
  • Não desative a autenticação do OpenID Connect enquanto você faz login no Looker usando esse serviço, a menos que tenha um login de conta alternativo configurado. Caso contrário, você pode ficar sem acesso ao app.
  • O Looker pode migrar contas para o OpenID Connect usando endereços de e-mail de configurações atuais de e-mail e senha, LDAP, SAML ou Google Auth. É possível definir isso no processo de configuração.
  • O Looker só oferece suporte à autenticação do OpenID Connect usando o fluxo do código de autorização do OpenID Connect. Outros fluxos de código não são compatíveis.
  • A especificação do OpenID Connect inclui um mecanismo de descoberta opcional. Como o Looker não é compatível com esse mecanismo, você precisa informar URLs explícitos na seção Configurações de autenticação do OpenID Connect, conforme descrito em Como definir as configurações de autenticação do OpenID Connect.

Como configurar o OpenID Connect

Para configurar a conexão entre o Looker e o OpenID Connect, execute as seguintes tarefas:

  1. Forneça o URL do Looker ao provedor do OpenID Connect (OP).
  2. Consiga as informações necessárias do seu OP.

Como configurar o Looker no OP

O provedor do OpenID Connect (OP) precisa do URL da sua instância do Looker. O OP pode chamar isso de URI de redirecionamento ou URI de redirecionamento de login, entre outros nomes. No site do OP, forneça ao OP o URL em que você normalmente acessa a instância do Looker em um navegador, seguido de /openidconnect. Por exemplo, https://instance_name.looker.com/openidconnect.

Recebendo informações do OP

Para configurar o Looker para a autenticação do OpenID Connect, você precisa das seguintes informações do seu OP:

  • Um identificador e uma chave secreta do cliente. Eles geralmente são fornecidos pelo OP no site da empresa quando você configura o URI de redirecionamento.
  • Durante o processo de autenticação do OpenID Connect, o Looker vai se conectar a três endpoints diferentes: de autenticação, de token de ID e de informações do usuário. Você precisará dos URLs que seu OP usa para cada um desses endpoints.
  • Cada OP vai fornecer informações do usuário em conjuntos chamados escopos. Você precisa saber os nomes dos escopos que seu OP usa. O OpenID Connect requer o escopo openid, mas seu OP provavelmente vai incluir outros escopos, como email, profile e groups.
  • No OpenID Connect, os atributos que armazenam dados do usuário são chamados de declarações. Você precisa saber quais reivindicações seu OP transmite ao Looker para fornecer as informações do usuário que você quer na sua instância do Looker. O Looker exige declarações que contenham informações de e-mail e nome. No entanto, se você tiver outros atributos do usuário, como fuso horário ou departamento, também precisará identificar quais declarações contêm essas informações. As reivindicações podem ser incluídas na resposta do endpoint de informações do usuário ou do token de ID. O Looker pode mapear declarações retornadas por qualquer endpoint para atributos do usuário do Looker.

Muitos OPs fornecem informações sobre a configuração do OpenID Connect na forma de um documento de descoberta, o que permite reunir algumas ou todas as informações necessárias para configurar o Looker para o OpenID Connect. Se você não tiver acesso a um documento de descoberta, peça as informações necessárias ao seu OP ou à equipe de autenticação interna.

A seção a seguir é de um exemplo de documento de descoberta:

{
  "issuer": "https://accounts.google.com",
  "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
  "token_endpoint": "https://www.googleapis.com/oauth2/v4/token",
  "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo",
  "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke",
  "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
  "response_types_supported": [
    "code",
    "token",
    "id_token",
    "code token"
    "code id_token",
    "token id_token",
    "code token id_token",
    "none"
  ],
  "subject_types_supported": [
    "public"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "scopes_supported": [
    "openid",
    "email",
    "profile"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_post",
    "client_secret_basic"
  ],
  "claims_supported": [
    "aud",
    "email",
    "email_verified",
    "exp",
    "family_name",
    "given_name",
    "iat",
    "iss",
    "locale",
    "name",
    "picture",
    "sub"
  ],

Como definir as configurações de autenticação do OpenID Connect

Use as informações de configuração que você recebeu do documento de descoberta do seu OP, do seu OP ou da equipe de autenticação interna para inserir as configurações de conexão nos seguintes campos:

Identificador: o identificador do cliente exclusivo da sua instância do Looker. Isso deve ser fornecido pelo seu OP.

Secret: a chave secreta do cliente exclusiva para sua instância do Looker. Isso deve ser fornecido pelo seu OP.

Emissor: o URL seguro que identifica seu OP.

Público-alvo: um identificador que indica ao seu OP quem é o cliente. Ele costuma ser igual ao valor do Identificador, mas pode ter um valor diferente.

URL de autorização: o URL do OP em que a sequência de autenticação começa. Geralmente chamado de authorization_endpoint em um documento de descoberta.

URL do token: o URL em que o Looker recupera um token OAuth após a autorização do Looker. Geralmente chamado de token_endpoint em um documento de descoberta.

URL de informações do usuário: é o URL em que o Looker recupera informações detalhadas do usuário. Geralmente chamado de userinfo_endpoint em um documento de descoberta.

Escopos: uma lista separada por vírgulas de escopos usados pelo OP para fornecer informações do usuário ao Looker. Inclua o escopo openid e todos os escopos que incluam as informações exigidas pelo Looker, como endereços de e-mail, nomes e atributos do usuário configurados na instância do Looker.

Como definir configurações de atributos do usuário

Nesta seção, você vai mapear as declarações do OP para os atributos do usuário do Looker.

Na seção Configurações de atributo do usuário, digite o nome da reivindicação do OP que contém as informações correspondentes para cada campo. Isso informa ao Looker como mapear essas declarações para as informações do usuário do Looker no momento do login. O Looker não é específico sobre como as declarações são construídas, é importante que as informações de declaração inseridas aqui correspondam à maneira como as declarações são definidas no seu OP.

Reivindicações padrão

O Looker exige informações de nome de usuário e e-mail para a autenticação do usuário. Insira as informações de reivindicação correspondentes do seu OP nesta seção:

Reivindicação por e-mail: a reivindicação que seu OP usa para endereços de e-mail de usuários, como email.

Reivindicação de nome: a reivindicação que seu OP usa para nomes de usuários, como given_name.

Reivindicação de sobrenome: a reivindicação que seu OP usa para sobrenomes de usuários, como family_name.

Observe que alguns OPs usam uma única reivindicação para os nomes, em vez de separar nomes e sobrenomes. Se esse é o caso da sua OP, insira a declaração que armazena nomes nos campos First Name Claim e Last Name Claim. Para cada usuário, o Looker vai usar o conteúdo até o primeiro espaço como o Nome e tudo depois como o Sobrenome.

Pareamentos de atributos

Você também pode usar os dados nas declarações do OpenID Connect para preencher automaticamente os valores nos atributos do usuário do Looker quando alguém fizer login. Por exemplo, se você tiver configurado o OpenID Connect para fazer conexões específicas do usuário com seu banco de dados, poderá parear suas declarações do OpenID Connect com os atributos de usuário do Looker para tornar suas conexões de banco de dados específicas do usuário no Looker.

Para parear declarações com os atributos de usuário correspondentes do Looker:

  1. Insira a declaração conforme identificado pelo OP no campo Claim e o atributo de usuário do Looker com que você quer pareá-la no campo Looker User Attributes.
  2. Marque Obrigatório se quiser bloquear o login de qualquer conta de usuário que não tenha um valor definido no campo de reivindicação.
  3. Clique em + e repita essas etapas para adicionar mais pares de reivindicações e atributos.

Observe que alguns OPs podem ter reivindicações "aninhadas". Exemplo:

"zoneinfo": "America/Los Angeles",
"phone_number": "555-1235",
"address": {
  "street_address": "1234 Main Street",
  "locality": "Anyton",
  "region": "IL",
  "postal_code": "60609",
  "country": "US"
},

No exemplo anterior, a declaração locality está aninhada na declaração address. Para reivindicações aninhadas, especifique as reivindicações mãe e aninhadas, separadas por uma barra ( / ). Para configurar o Looker para a declaração locality no exemplo, insira address/locality.

Grupos e funções

O Looker pode criar grupos que espelhem seus grupos do OpenID Connect gerenciados externamente e, em seguida, atribuir papéis do Looker aos usuários com base nos grupos espelhados do OpenID Connect. Quando você faz mudanças na associação ao grupo do OpenID Connect, elas são propagadas automaticamente para a configuração do grupo do Looker.

O espelhamento de grupos do OpenID Connect permite usar seu diretório definido externamente para gerenciar grupos e usuários do Looker. Com isso, é possível gerenciar a associação ao grupo de várias ferramentas de software como serviço (SaaS), como o Looker, em um só lugar.

Se você ativar a opção Espelhar grupos do OpenID Connect, o Looker vai criar um grupo do Looker para cada grupo do OpenID Connect que for introduzido no sistema. Esses grupos do Looker podem ser acessados na página Grupos da seção Administrador do Looker. Os grupos podem ser usados para atribuir funções aos participantes, definir controles de acesso ao conteúdo e atribuir atributos de usuário.

Papéis e grupos padrão

A opção Espelhar grupos do OpenID Connect fica desativada por padrão. Nesse caso, você pode definir um grupo padrão para novos usuários do OpenID Connect. Nos campos Novos grupos de usuários e Novas funções do usuário, insira os nomes dos grupos ou funções do Looker a que você quer atribuir novos usuários ao fazer login pela primeira vez:

Esses grupos e funções são aplicados aos novos usuários no login inicial. Elas não são aplicadas a usuários pré-existentes e não serão reaplicadas se forem removidas dos usuários após o login inicial.

Como ativar grupos espelhados do OpenID Connect

Para espelhar seus grupos do OpenID Connect no Looker, ative a opção Espelhar grupos do OpenID Connect:

Declaração de grupos: insira a declaração que seu OP usa para armazenar nomes de grupos. O Looker vai criar um grupo para cada grupo do OpenID Connect que for introduzido no sistema pela declaração dos Grupos. Esses grupos do Looker podem ser consultados na página Grupos da seção Administrador do Looker. Os grupos podem ser usados para definir controles de acesso ao conteúdo e atribuir atributos de usuário.

Nome do grupo preferencial / papéis / nome do grupo do OpenID Connect: esse conjunto de campos permite atribuir um nome de grupo personalizado e um ou mais papéis atribuídos ao grupo correspondente do OpenID Connect no Looker:

  1. Digite o nome do grupo do OpenID Connect no campo Nome do grupo do OpenID Connect. Os usuários do OpenID Connect incluídos no grupo vão ser adicionados ao grupo espelhado no Looker.

  2. Digite um nome personalizado para o grupo espelhado no campo Nome personalizado. Esse é o nome que vai aparecer na página Grupos da seção Administrador do Looker.

  3. No campo à direita de Nome personalizado, selecione um ou mais papéis do Looker que serão atribuídos a cada usuário no grupo.

  4. Clique em + para adicionar outros conjuntos de campos e configurar outros grupos espelhados. Se você tiver vários grupos configurados e quiser remover a configuração de um grupo, clique no X ao lado do conjunto de campos desse grupo.

Ao editar um grupo espelhado que foi configurado anteriormente nesta tela, a configuração do grupo será alterada, mas o grupo em si permanecerá intacto. Por exemplo, é possível mudar o nome personalizado de um grupo, o que muda a forma como o grupo aparece na página Grupos do Looker, mas não as funções atribuídas nem os participantes do grupo. A alteração do ID do grupo do OpenID Connect mantém o nome e as funções do grupo, mas os membros são reatribuídos com base nos usuários que são membros do grupo externo do OpenID Connect que tem o novo ID do grupo do OpenID Connect.

Se você excluir um grupo nesta página, ele não será mais espelhado no Looker, e os membros dele não terão mais as funções atribuídas a eles no Looker.

As edições feitas em um grupo espelhado serão aplicadas aos usuários desse grupo na próxima vez que eles fizerem login no Looker.

Gerenciamento avançado de funções

Se você tiver ativado a opção Espelhar grupos do OpenID Connect, o Looker vai mostrar essas configurações. As opções desta seção determinam quanta flexibilidade os administradores do Looker têm ao configurar grupos e usuários do Looker que foram espelhados no OpenID Connect.

Por exemplo, se você quiser que o grupo do Looker e a configuração de usuário correspondam exatamente à configuração do OpenID Connect, ative estas opções. Quando as três primeiras opções estão ativadas, os administradores do Looker não podem modificar a associação de grupos espelhados e só podem atribuir papéis aos usuários usando grupos espelhados do OpenID Connect.

Se quiser mais flexibilidade para personalizar ainda mais seus grupos no Looker, desative essas opções. Seus grupos do Looker ainda espelham sua configuração do OpenID Connect, mas você pode fazer outras tarefas de gerenciamento de grupos e usuários no Looker, como adicionar usuários do OpenID Connect a grupos específicos do Looker ou atribuir funções do Looker diretamente a usuários do OpenID Connect.

Para novas instâncias do Looker ou instâncias que não têm grupos espelhados configurados anteriormente, essas opções ficam desativadas por padrão.

Para instâncias atuais do Looker que têm grupos espelhados configurados, essas opções estão ativadas por padrão.

A seção Gerenciamento avançado de funções contém estas opções:

Impedir que usuários individuais do OpenID Connect recebam funções diretas: ativar essa opção impede que os administradores do Looker atribuam funções diretamente aos usuários do OpenID Connect. Os usuários do OpenID Connect receberão funções somente por meio das associações a grupos. Se os usuários do OpenID Connect tiverem permissão para participar de grupos integrados do Looker (não espelhados), eles ainda poderão herdar os papéis de grupos do OpenID Connect espelhados e de grupos integrados do Looker. Todos os usuários do OpenID Connect que receberam funções anteriormente vão ter essas funções removidas no próximo login.

Se essa opção estiver desativada, os administradores do Looker vão poder atribuir papéis do Looker diretamente aos usuários do OpenID Connect como se fossem usuários configurados diretamente no Looker.

Impedir a associação direta em grupos que não são do OpenID Connect: ativar essa opção impede que os administradores do Looker adicionem usuários do OpenID Connect diretamente aos grupos integrados do Looker. Se os grupos espelhados do OpenID Connect tiverem permissão para fazer parte de grupos integrados do Looker, os usuários do OpenID Connect poderão manter a associação em qualquer grupo pai do Looker. Todos os usuários do OpenID Connect que já foram atribuídos a grupos integrados do Looker serão removidos desses grupos no próximo login.

Se essa opção estiver desativada, os administradores do Looker poderão adicionar usuários do OpenID Connect diretamente aos grupos integrados do Looker.

Impedir a herança de papéis de grupos que não são do OpenID Connect: ativar essa opção impede que membros de grupos espelhados do OpenID Connect herdem papéis de grupos integrados do Looker. Todos os usuários do OpenID Connect que herdaram papéis de um grupo pai do Looker vão perder esses papéis no próximo login.

Se essa opção estiver desativada, os grupos espelhados ou os usuários do OpenID Connect adicionados como participantes de um grupo integrado vão herdar os papéis atribuídos ao grupo pai.

A autenticação exige o papel: se esta opção estiver ativada, os usuários do OpenID Connect precisarão ter uma função atribuída. Os usuários do OpenID Connect sem uma função atribuída não vão conseguir fazer login no Looker.

Se essa opção estiver desativada, os usuários do OpenID Connect poderão fazer a autenticação no Looker mesmo que não tenham nenhum papel atribuído. Usuários sem funções atribuídas não podem acessar dados nem realizar ações no Looker, mas podem fazer login na plataforma.

Como desativar grupos espelhados do OpenID Connect

Se quiser parar de espelhar seus grupos do OpenID Connect no Looker, desative a opção Espelhar grupos do OpenID Connect. Todos os grupos espelhados do OpenID Connect vazios serão excluídos.

Os grupos espelhados do OpenID Connect não vazios vão continuar disponíveis para uso no gerenciamento de conteúdo e na criação de funções. No entanto, os usuários não podem ser adicionados ou removidos de grupos espelhados do OpenID Connect.

Como configurar opções de migração

Conforme explicado nesta seção, o Looker recomenda que você ative o Login alternativo e forneça uma estratégia de mesclagem para os usuários atuais.

Login alternativo para usuários especificados

Os logins com e-mail e senha do Looker são sempre desativados para usuários comuns quando a autenticação do OpenID Connect está ativada. A opção Login alternativo para usuários especificados ativa um login alternativo baseado em e-mail usando /login/email para administradores e para usuários especificados com a permissão login_special_email.

Ativar esta opção é útil como substituto durante a configuração do OpenID Connect caso problemas de configuração do OpenID Connect ocorram mais tarde ou se você precisar oferecer suporte a alguns usuários que não têm contas no seu diretório do OpenID Connect.

Especificar o método usado para mesclar usuários do OpenID Connect a uma conta do Looker

No campo Merge Users Using, especifique o método a ser usado para mesclar um primeiro login do Open ID Connect a uma conta de usuário existente. Você pode mesclar usuários dos seguintes sistemas:

  • E-mail/senha do Looker (não disponível para o Looker (Google Cloud Core))
  • Google
  • LDAP (não disponível para o Looker (Google Cloud Core))
  • SAML (link em inglês)

Se você tiver vários sistemas de autenticação em vigor, poderá especificar mais de um sistema para mesclar neste campo. O Looker pesquisa usuários nos sistemas listados na ordem em que são especificados. Por exemplo, suponha que você criou alguns usuários usando o e-mail/senha do Looker, ativou o LDAP e agora quer usar o OpenID Connect. No exemplo anterior, o Looker mesclava primeiro por e-mail e senha, depois por LDAP.

Quando um usuário fizer login pela primeira vez com o OpenID Connect, essa opção conectará o usuário à conta dele localizando a conta com um endereço de e-mail correspondente. Se não houver uma conta para o usuário, uma nova conta será criada.

Como mesclar usuários ao usar o Looker (Google Cloud Core)

Ao usar o Looker (Google Cloud Core) e o OpenID Connect, a mesclagem funciona conforme descrito na seção anterior. No entanto, isso só é possível quando uma das duas condições a seguir é atendida:

  • Condição 1: os usuários estão fazendo a autenticação no Looker (Google Cloud Core) usando as identidades do Google com o protocolo OpenID Connect.
  • Condição 2: antes de selecionar a opção de mesclagem, você precisa concluir as duas etapas a seguir:

    1. Identidades de usuários federados no Google Cloud usando o Cloud Identity.
    2. Configure a autenticação OAuth como o método de autenticação alternativo usando os usuários federados.

Se a configuração não atender a uma dessas duas condições, a opção Mesclar usuários usando não vai estar disponível.

Ao fazer a mesclagem, o Looker pesquisa registros de usuários que têm exatamente o mesmo endereço de e-mail.

Como testar a autenticação do usuário

Ao especificar essa configuração, clique no botão Testar para testar sua configuração do OpenID Connect.

Os testes serão redirecionados para os endpoints e uma nova guia do navegador será aberta. A guia vai mostrar:

  • Se o Looker conseguiu se comunicar com os vários endpoints e validar
  • Um rastro da resposta do endpoint de autenticação
  • As informações do usuário que o Looker coleta do endpoint de informações do usuário
  • Versões decodificadas e brutas do token de ID recebidas

Use esse teste para verificar se as informações recebidas dos vários endpoints estão corretas e para resolver erros.

Dicas:

  • Você pode executar este teste a qualquer momento, mesmo se o OpenID Connect estiver parcialmente configurado. A execução de um teste pode ser útil durante a configuração para saber quais parâmetros precisam ser configurados.
  • O teste usa as configurações inseridas na página Autenticação do OpenID Connect, mesmo que elas não tenham sido salvas. O teste não vai afetar nem mudar as configurações da página.

Salvar e aplicar configurações

Quando terminar de inserir as informações e todos os testes forem aprovados, marque Confirmei a configuração acima e quero ativar a aplicação global e clique em Atualizar configurações para salvar.