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

As empresas usam diferentes provedores do OpenID Connect (OPs) para fazer a coordenação com o OpenID Connect (por exemplo, o Okta ou o 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 seu OP.

Na página OpenID Connect, na seção Autenticação do menu "Administrador", é possível configurar o Looker para autenticar usuários com 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 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 configurado um login de conta alternativa. Caso contrário, talvez você não consiga acessar o app.
  • O Looker pode migrar contas atuais para o OpenID Connect usando endereços de e-mail das configurações atuais de e-mail/senha, LDAP, SAML ou do Google Auth. Você pode definir isso no processo de configuração.
  • O Looker só aceita a 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 OpenID Connect inclui um mecanismo de descoberta opcional. O Looker não é compatível com esse mecanismo. Por isso, você precisa 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 seu provedor do OpenID Connect (OP).
  2. Receba as informações necessárias do seu OP.

Configurar o Looker no seu OP

Seu provedor do OpenID Connect (OP) precisará do URL da sua instância do Looker. Seu OP pode chamar isso de URI de redirecionamento ou URI de redirecionamento de login, entre outros nomes. No site do seu OP, informe 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 receber 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 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 fornece informações do usuário em conjuntos chamados 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 passa para o 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, mas se você tiver outros atributos de usuário, como fuso horário ou departamento, o Looker também precisará identificar quais reivindicações contêm essas informações. As declaraçõ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 os 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 coletadas do documento de descoberta do OP, do 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. Precisa ser fornecido pelo seu OP.

Chave secreta: a chave secreta do cliente exclusiva da instância do Looker. Precisa ser fornecido pelo seu OP.

Issuer: 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 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 dele. Geralmente chamado 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. Geralmente chamado userinfo_endpoint em um documento de descoberta.

Scopes: uma lista separada por vírgulas usada pelo OP para fornecer informações do usuário ao Looker. Você precisa incluir o escopo openid e todos os escopos que incluam as informações exigidas pelo Looker, como endereços de e-mail, nomes de usuário e todos os atributos de usuário configurados na sua 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 contenha as informações correspondentes de 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, mas é importante que as informações inseridas aqui correspondam à forma como as reivindicações são definidas no seu OP.

Reivindicações padrão

O Looker exige nome de usuário e informações de e-mail para a autenticação. 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 do usuário, 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 os 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.

Pareamentos de atributos

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

Para associar reivindicações com atributos de usuário correspondentes do Looker:

  1. Insira a declaração conforme identificado 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 Obrigatório se você quiser bloquear o login de qualquer conta de usuário que não tenha um valor no campo de declaraçã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 acima, a declaração locality está aninhada dentro da declaração address. Para reivindicações aninhadas, especifique as reivindicações pai e aninhadas, separadas por uma barra ( /). Se quiser configurar o Looker para a declaração locality acima, insira address/locality.

Grupos e papéis

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

Espelhar grupos do OpenID Connect permite que você use o diretório do OpenID Connect definido externamente para gerenciar grupos e usuários do Looker. Dessa forma, você gerencia 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 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.

Grupos e papéis padrão

Por padrão, a opção Espelhar grupos do OpenID Connect fica desativada. Nesse caso, é possível definir um grupo padrão para os novos usuários do OpenID Connect. Nos campos Novos grupos de usuários e Novas funções de usuários, insira os nomes dos grupos ou funções 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 pré-existentes e não são reaplicadas se forem removidas após o login inicial.

Se você ativar grupos espelhados do OpenID Connect, esses padrões serão removidos para os usuários no próximo login e substituídos pelas funções atribuídas na seção Espelhar grupos do OpenID Connect. Essas opções padrão não vão estar mais disponíveis nem atribuídas e serão totalmente substituídas pela configuração dos grupos espelhados.

Como ativar grupos espelhados do OpenID Connect

Para espelhar seus grupos do OpenID Connect no Looker, ative a chave Espelhar grupos do OpenID Connect:

Reivindicação de grupos: insira a declaração que seu OP usa para armazenar nomes de grupos. O Looker vai criar um grupo do Looker para cada grupo do OpenID Connect que for introduzido no sistema pela declaração dos Grupos. Esses grupos podem ser acessados 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 / Funções / Nome do grupo do OpenID Connect: este 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 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, clique no X ao lado do conjunto de campos do grupo.

Se você editar um grupo espelhado configurado anteriormente nessa tela, a configuração do grupo será alterada, mas o grupo em si permanecerá intacto. Por exemplo, você pode mudar o nome personalizado de um grupo. Isso muda a forma como ele aparece na página Grupos do Looker, mas não muda as funções e os participantes atribuídos. Alterar o 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 não terão mais os papéis atribuídos a eles pelo grupo.

Todas 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 nesta seção determinam quanta flexibilidade os administradores do Looker têm ao configurar grupos e usuários do Looker que foram espelhados do OpenID Connect.

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

Desative essas opções se quiser ter mais flexibilidade para personalizar ainda mais seus grupos no Looker. Seus grupos do Looker ainda vão espelhar a configuração do OpenID Connect, mas você 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 funções do Looker diretamente aos 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 que têm grupos espelhados configurados, essas opções estão ativadas por padrão.

Ativar configurações mais restritivas vai fazer com que os usuários perdem a associação ao grupo ou os papéis atribuídos que foram configurados diretamente no Looker. Isso vai acontecer na próxima vez que essas pessoas fizerem login no Looker.

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

Impedir que usuários individuais do OpenID Connect recebam funções diretas: quando essa opção está ativada, os administradores do Looker não conseguem atribuir papéis do Looker diretamente aos usuários do OpenID Connect. Os usuários do OpenID Connect receberão funções somente durante as associações a grupos. Se os usuários do OpenID Connect tiverem permissão para participar em grupos nativos (não espelhados) do Looker, eles ainda poderão herdar os papéis dos grupos espelhados do OpenID Connect e dos grupos nativos do Looker. Todos os usuários do OpenID Connect que receberam funções anteriormente de forma 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 de forma nativa no Looker.

Impedir a associação direta em grupos do Connect que não sejam do OpenID: ativar essa opção impede que os administradores do Looker adicionem usuários do OpenID Connect diretamente aos grupos nativos do Looker. Se os grupos espelhados do OpenID Connect puderem ser membros de grupos nativos 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 foram atribuídos a grupos nativos 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 nativos do Looker.

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

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

O Auth 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 que não tiverem 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 poderão se autenticar no Looker mesmo que não tenham nenhum papel atribuído. Um usuário sem um papel atribuído não poderá acessar os dados nem realizar ações no Looker, mas poderá fazer login no Looker.

Como desativar grupos espelhados do OpenID Connect

Se você 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 serão excluídos.

Os grupos 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 por e-mail/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 o login alternativo baseado em e-mail usando /login/email para administradores e usuários especificados com a permissão login_special_email.

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

Para ativar logins alternativos usando a API Looker, consulte a página de documentação Como ativar a opção de login alternativo.

Especificar 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 a 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

Se você tiver vários sistemas de autenticação, especifique mais de um sistema para mesclar neste campo. O Looker vai procurar 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 quer usar o OpenID Connect. No exemplo acima, o Looker se mescla primeiro por e-mail/senha 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 ao usar o Looker (Google Cloud Core)

Com 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 for 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ê concluiu as duas etapas a seguir:

    1. Identidades federadas de usuários 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 estará disponível.

Durante a mesclagem, o Looker busca 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.

Leia os resultados do teste com atenção. Algumas partes podem ser bem-sucedidas mesmo se outras falharem.

Os testes vão redirecionar para os endpoints e abrir uma nova guia do navegador. A guia mostra:

  • Se o Looker conseguiu se comunicar com os vários endpoints e validar
  • Um trace 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 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 solucionar 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 saber quais parâmetros precisam ser definidos.
  • O teste usa as configurações inseridas na página Autenticação do OpenID Connect, mesmo que essas configurações não tenham sido salvas. O teste não afetará nem mudará as configurações dessa página.

Salvar e aplicar configurações

Primeiro, teste sua configuração e leia os resultados com atenção para verificar se todas as partes do teste foram bem-sucedidas. Salvar informações incorretas de configuração do OpenID Connect poderá impedir você e outras pessoas do Looker.

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