Configurações do administrador: autenticação do OpenID Connect

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

Na página OpenID Connect na seção Autenticação do menu Administrador, é possível configurar o Looker para autenticar os usuários usando o protocolo OpenID Connect. Nesta página, descrevemos esse processo e incluímos instruções para vincular grupos do OpenID Connect a papéis e permissões do Looker.

Considerações de planejamento

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

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. Receba as informações necessárias do OP.

Configurar o Looker no seu OP

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

Como conseguir informações do OP

Para configurar a autenticação do Looker para 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 quando você configura o URI de redirecionamento conforme descrito acima.
  • Durante o processo de autenticação do OpenID Connect, o Looker vai se conectar a três endpoints diferentes: um endpoint de autenticação, um endpoint de token de ID e um endpoint de informações do usuário. Você precisará dos URLs que o OP usa para cada um desses endpoints.
  • Cada OP fornece informações do usuário em conjuntos chamados de escopos. Você precisa saber os nomes dos escopos usados pelo OP. O OpenID Connect exige o escopo openid, mas seu OP provavelmente 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 declarações seu OP transmite para o Looker para fornecer ao usuário as informações que você quer na instância do Looker. O Looker exige declarações que contenham e-mail e informações de nome, mas se você tiver outros atributos de usuário, como fuso horário ou departamento, o Looker 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 associar as declarações retornadas por qualquer endpoint aos atributos de usuário do Looker.

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

A seção a seguir é de um exemplo de um 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 obtidas do documento de descoberta do OP, do OP ou da equipe de autenticação interna para inserir configurações de conexão nos seguintes campos:

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

Secret: a chave secreta do cliente exclusiva para sua instância do Looker. Ele 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 geralmente é igual ao valor do identificador, mas pode ser diferente.

URL de autorização: o URL do OP em que a sequência de autenticação começa. Muitas vezes 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. Muitas vezes chamado de token_endpoint em um documento de descoberta.

URL de informações do usuário: o URL em que o Looker vai recuperar informações detalhadas do usuário. Muitas vezes chamado de userinfo_endpoint em um documento de descoberta.

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

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

Nesta seção, você vai associar as declarações do OP aos atributos de usuário do Looker.

Na seção Configurações de atributo do usuário, insira 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 reivindicações são construídas. O importante é que as informações inseridas aqui correspondam à maneira como as declarações são definidas na sua proposta.

Declarações padrão

O Looker exige nome de usuário e informações de 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 de 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 declaração para nomes, em vez de separar nomes e sobrenomes. Se esse for o caso, insira a reivindicaçã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 todo o conteúdo depois como o sobrenome.

Pareamento de atributos

Outra opção é usar os dados nas declarações do OpenID Connect para preencher automaticamente os valores nos atributos de usuário do Looker quando um usuário fizer login. Por exemplo, se você configurou o OpenID Connect para fazer conexões específicas do usuário ao seu banco de dados, é possível parear as 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 atributos de usuário do Looker correspondentes:

  1. Insira a reivindicação conforme identificada pelo seu OP no campo Claim e o atributo de usuário do Looker com que você quer parear no campo Looker User Attributes.
  2. Marque a opção Obrigatório se você quiser bloquear o login de qualquer conta de usuário sem um valor nesse 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 declaraçõ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 é aninhada dentro da declaração address. Para reivindicações aninhadas, especifique as declarações pai e aninhadas, separadas por uma barra ( /). Para configurar o Looker para a declaração locality no exemplo, insira address/locality.

Grupos e papéis

O Looker pode criar grupos que espelham os 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.

Espelhar grupos do OpenID Connect permite usar o diretório do OpenID Connect definido externamente para gerenciar grupos e usuários do Looker. Dessa forma, você pode gerenciar a associação a várias ferramentas de software como serviço (SaaS), como o Looker, em um só lugar.

Se você ativar Espelhar grupos do OpenID Connect, o Looker vai criar um grupo do Looker para cada grupo do OpenID Connect introduzido no sistema. Esses grupos do Looker podem ser visualizados na página Grupos da seção Administrador do Looker. É possível usar os grupos para atribuir funções aos participantes, configurar controles de acesso ao conteúdo e atribuir atributos do usuário.

Grupos e papéis padrão

Por padrão, a opção Espelhar grupos do OpenID Connect fica desativada. Nesse caso, você pode definir um grupo padrão para os novos usuários do OpenID Connect. Nos campos Novos grupos de usuários e Novos papéis do usuário, insira os nomes dos grupos ou papéis do Looker a que você quer atribuir novos usuários do Looker quando eles fizerem login pela primeira vez no Looker:

Esses grupos e funções são aplicados aos novos usuários no login inicial. Elas não são aplicadas a usuários preexistentes e não serão reaplicadas se forem removidas de 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:

Reivindicação de grupos: insira a declaração que o 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 visualizados 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 de grupo preferencial / Funções / Nome do grupo do OpenID Connect: esse conjunto de campos permite atribuir um nome de grupo personalizado e uma ou mais funções atribuídas 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 que estiverem incluídos no grupo do OpenID Connect serão adicionados ao grupo espelhado no Looker.

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

  3. No campo à direita do campo Nome personalizado, selecione um ou mais papéis do Looker que vão ser atribuídos a cada usuário do 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.

Se você editar um grupo espelhado configurado anteriormente nessa tela, a configuração dele vai mudar, mas o grupo em si permanecerá intacto. Por exemplo, é possível mudar o nome personalizado de um grupo. Isso mudaria a forma como ele aparece na página Grupos do Looker, mas não alteraria as funções e os participantes atribuídos. 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 os papéis atribuídos no Looker.

Todas as edições feitas em um grupo espelhado serão aplicadas aos usuários desse grupo no próximo 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 a flexibilidade que os administradores do Looker têm ao configurar grupos e usuários do Looker espelhados do OpenID Connect.

Por exemplo, se você quiser que a configuração do usuário e do grupo do Looker corresponda exatamente à sua configuração do OpenID Connect, ative essas 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 a usuários nos grupos espelhados do OpenID Connect.

Se você quiser ter mais flexibilidade para personalizar ainda mais seus grupos no Looker, desative essas opções. Seus grupos do Looker ainda vão refletir a configuração do OpenID Connect, mas você vai poder fazer gerenciamento adicional de grupos e usuários no Looker, como adicionar usuários do OpenID Connect a grupos específicos do Looker ou atribuir papéis 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 estão desativadas por padrão.

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

A seção Gerenciamento de papéis avançado contém as seguintes 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 papéis do Looker diretamente aos usuários do OpenID Connect. Os usuários do OpenID Connect receberão funções somente por meio de suas associações a grupos. Se os usuários do OpenID Connect tiverem permissão para associação em grupos integrados (não espelhados) do Looker, eles ainda poderão herdar os papéis dos grupos espelhados do OpenID Connect e dos grupos integrados do Looker. Todos os usuários do OpenID Connect que receberam funções anteriormente de maneira direta terão 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 eles fossem usuários configurados diretamente no Looker.

Impedir a associação direta em grupos do Connect que não são do OpenID: ativar essa opção impede que os administradores do Looker adicionem usuários do OpenID Connect diretamente a grupos integrados do Looker. Se os grupos espelhados do OpenID Connect tiverem permissão para fazer parte dos 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 atribuídos a grupos integrados do Looker serão removidos deles no próximo login.

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

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

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

A autenticação exige um papel: se essa 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 poderão fazer login no Looker.

Se essa opção estiver desativada, os usuários do OpenID Connect vão poder se autenticar no Looker mesmo que não tenham uma função atribuída. Um usuário sem função atribuída não tem acesso aos dados nem realiza ações no Looker, mas pode fazer login nele.

Como desativar grupos espelhados do OpenID Connect

Se você quiser parar de espelhar os 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 do OpenID Connect espelhados não vazios continuarão disponíveis para uso no gerenciamento de conteúdo e na criação de funções. No entanto, não é possível adicionar ou remover usuários de grupos do OpenID Connect espelhados.

Como configurar opções de migração

Como explicado nesta seção, o Looker recomenda ativar o Login alternativo e fornecer uma estratégia de mesclagem para os usuários atuais.

Login alternativo para usuários especificados

Os logins por e-mail e senha do Looker são sempre desativados para usuários normais 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 específicos com a permissão login_special_email.

A ativação desse recurso é útil como substituto durante a configuração do OpenID Connect, caso problemas de configuração do OpenID Connect ocorram no futuro ou se você precisar oferecer suporte a alguns usuários que não têm contas no seu diretório do OpenID Connect.

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

No campo Mesclar usuários usando, especifique o método a ser usado para mesclar um primeiro login do Open ID Connect com uma conta de usuário existente. É possível 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 (em inglês)

Se você tiver vários sistemas de autenticação em vigor, poderá especificar mais de um sistema neste campo. O Looker procura usuários dos sistemas listados na ordem em que são especificados. Por exemplo, imagine 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 seria mesclado por e-mail e senha primeiro e depois LDAP.

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

Mesclar usuários com 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) com as identidades do Google no protocolo OpenID Connect.
  • Condição 2: antes de selecionar a opção de mesclagem, você concluiu as duas etapas a seguir:

    1. Identidades de usuários federados no Google Cloud usando o Cloud Identity.
    2. Defina 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 estará disponível.

Durante a mesclagem, o Looker procura registros de usuários que compartilhem 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 vão ser redirecionados para os endpoints e abrirão uma nova guia do navegador. A guia mostra:

  • 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
  • As versões decodificada e bruta do token de ID recebido

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

Dicas:

  • É possível executar esse teste a qualquer momento, mesmo que o OpenID Connect esteja parcialmente configurado. A execução de um teste pode ser útil durante a configuração para identificar quais parâmetros precisam ser definidos.
  • 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 afetará nem mudará as configurações dessa página.

Salvar e aplicar configurações

Quando terminar de inserir suas informações e todos os testes forem aprovados, marque a opção Eu confirmei a configuração acima e quero ativá-la globalmente e clique em Atualizar configurações para salvar.