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 aos usados pelo seu 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 funções e permissões do Looker.
Requisitos
O Looker mostra a página OpenID Connect na seção Autenticação do menu Administrador somente se as seguintes condições forem atendidas:
- Você tem a função de administrador.
- Sua instância do Looker está ativada para usar o OpenID Connect.
Se essas condições forem atendidas e a página OpenID Connect não aparecer, abra uma solicitação de suporte para ativar o OpenID Connect na sua instância.
Considerações sobre 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 alternativo. Caso contrário, você pode ficar bloqueado do app.
- O Looker pode migrar contas para o OpenID Connect usando endereços de e-mail que vêm de configurações atuais de e-mail e senha, LDAP, SAML ou Google Auth. Você poderá configurar 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. O Looker não oferece suporte a esse mecanismo. Portanto, forneça URLs explícitos na seção Configurações de autenticação do OpenID Connect, conforme descrito em Configurar 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, faça o seguinte:
- Envie o URL do Looker para seu provedor do OpenID Connect (OP).
- Receba as informações necessárias do seu OP.
Configurar o Looker na sua OP
O provedor do OpenID Connect (OP) vai precisar do URL da sua instância do Looker. O operador pode chamar isso de URI de redirecionamento ou URI de redirecionamento de login, entre outros nomes. No site do operador, informe o URL em que você normalmente acessa a instância do Looker em um navegador, seguido por /openidconnect
. Por exemplo, https://instance_name.looker.com/openidconnect
.
Como receber informações do seu OP
Para configurar o Looker para autenticação do OpenID Connect, você precisa das seguintes informações do OP:
- Um identificador e uma chave secreta do cliente. Geralmente, eles são fornecidos pelo OP no site dele quando você configura o URI de redirecionamento.
- Durante o processo de autenticação do OpenID Connect, o Looker se conecta 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ê vai precisar dos URLs que o OP usa para cada um desses endpoints.
- Cada OP vai fornecer 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 o OP provavelmente inclui outros escopos, comoemail
,profile
egroups
. - 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 ao Looker para fornecer as informações de usuário que você quer na 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 declaraçõ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 endpoint de token de ID. O Looker pode mapear as declarações retornadas por qualquer endpoint para os 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, permitindo que você colete 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, precisará receber as informações necessárias do seu OP ou da equipe de autenticação interna.
A seção a seguir é 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 configurar as configurações de autenticação do OpenID Connect
Use as informações de configuração que você recebeu 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. Essa informação precisa ser fornecida pelo seu OP.
Secret: a chave secreta do cliente exclusiva para sua instância do Looker. Essa informação precisa ser fornecida pelo seu OP.
Emissor: o URL seguro que identifica seu OP.
Público-alvo: um identificador que indica ao OP quem é o cliente. Muitas vezes, é o mesmo que o valor 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 ser autorizado. Muitas vezes chamado de token_endpoint
em um documento de descoberta.
URL de informações do usuário: o URL em que a Looker vai extrair informações detalhadas do usuário. Muitas vezes 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. É necessário incluir o escopo openid
e todos os escopos que incluem as informações necessárias para o Looker, incluindo endereços de e-mail, nomes de usuário e todos os atributos de usuário configurados na sua instância do Looker.
Como configurar atributos de usuários
Nesta seção, você vai mapear as reivindicações do OP para os atributos do usuário do Looker.
Na seção User Attribute Settings, insira o nome da declaração do OP que contém as informações correspondentes para cada campo. Isso informa ao Looker como mapear essas reivindicações para as informações do usuário do Looker no momento do login. O Looker não se preocupa com a forma como as reivindicações são criadas. O importante é que as informações inseridas aqui correspondam à forma como as reivindicações são definidas no OP.
Declaraçõ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 OP nesta seção:
Declaração de e-mail: a declaração que o OP usa para endereços de e-mail do usuário, como email
.
Reivindicando o nome: a reivindicação que o OP usa para os nomes dos usuários, como given_name
.
Reivindicação de sobrenome: a reivindicação que o OP usa para sobrenomes de usuários, como family_name
.
Alguns OPs usam uma única declaração para nomes, em vez de separar o nome e o sobrenome. Se esse for 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 nome e tudo depois disso como sobrenome.
Pares de atributos
Você também pode 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 faz 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á associar as declarações do OpenID Connect aos atributos do usuário do Looker para tornar as conexões do banco de dados específicas do usuário no Looker.
Para associar declarações a atributos de usuário do Looker correspondentes:
- Insira a reivindicação identificada pelo OP no campo Reivindicação e o atributo do usuário do Looker que você quer vincular a ela no campo Atributos do usuário do Looker.
- Marque Obrigatório se quiser bloquear o login de qualquer conta de usuário que não tenha um valor nesse campo de declaração.
- Clique em + e repita estas etapas para adicionar mais pares de declarações e atributos.
Algumas 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
está aninhada na declaração address
. Para declarações aninhadas, especifique as declarações pai e aninhadas, separadas por um caractere de barra ( /
). Para configurar o Looker para a declaração locality
no exemplo, insira address/locality
.
Grupos e funções
Você tem a opção de o Looker criar grupos que espelham seus grupos do OpenID Connect gerenciados externamente e, em seguida, atribuir papéis do Looker aos usuários com base nos grupos do OpenID Connect espelhados. Quando você faz mudanças na associação ao grupo do OpenID Connect, essas mudanças são propagadas automaticamente para a configuração de grupo do Looker.
O espelhamento de grupos do OpenID Connect permite usar seu diretório do OpenID Connect definido externamente para gerenciar grupos e usuários do Looker. Isso permite gerenciar a associação do grupo em 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 para cada grupo do OpenID Connect que for introduzido no sistema. Esses grupos do Looker podem ser visualizados 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 do usuário.
Grupos e funções padrão
Por padrão, a opção Mirror OpenID Connect Groups está desativada. Nesse caso, é possível definir um grupo padrão para novos usuários do OpenID Connect. Nos campos Novos grupos de usuários e Novos papéis de usuários, digite 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:
Esses grupos e funções são aplicados a novos usuários no primeiro login. Elas não são aplicadas a usuários anteriores e não são reaplicadas se forem removidas dos usuários após o login inicial.
Como ativar grupos de OpenID Connect espelhados
Para espelhar seus grupos do OpenID Connect no Looker, ative a chave Mirror OpenID Connect Groups:
Reivindicação de grupos: insira a reivindicaçã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 de 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 do usuário.
Nome do grupo preferido / 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 do OpenID Connect correspondente no Looker:
Insira 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 OpenID Connect serão adicionados ao grupo espelhado no Looker.
Insira 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.
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.
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 deles, clique emX
ao lado do conjunto de campos do grupo.
Se você editar um grupo espelhado que foi configurado anteriormente nesta tela, a configuração do grupo vai mudar, mas o grupo vai permanecer intacto. Por exemplo, você pode 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 muda as funções atribuídas e os membros do grupo. A mudança do ID do grupo do OpenID Connect mantém o nome e os papéis do grupo, mas os membros do grupo 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 nessa página, ele não será mais espelhado no Looker, e os membros não terão mais as funções atribuídas a eles nesse grupo.
Todas as edições feitas em um grupo espelhado serão aplicadas aos usuários dele na próxima vez que fizerem login no Looker.
Gerenciamento avançado de funções
Se você tiver ativado a chave Mirror OpenID Connect Groups, o Looker vai mostrar essas configurações. As opções desta seção determinam o nível de flexibilidade dos administradores do Looker ao configurar grupos e usuários do Looker espelhados do OpenID Connect.
Por exemplo, se você quiser que o grupo do Looker e a configuração do usuário correspondam exatamente à 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 participação em grupos espelhados e só podem atribuir funções aos usuários por grupos espelhados do OpenID Connect.
Se você quiser ter mais flexibilidade para personalizar seus grupos no Looker, desative essas opções. Seus grupos do Looker ainda vão espelhar a configuração do OpenID Connect, mas você poderá fazer mais 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 estão desativadas por padrão.
Para instâncias do Looker configuradas com grupos espelhados, essas opções estão ativadas por padrão.
A seção Gerenciamento avançado de função contém estas opções:
Impedir que usuários individuais do OpenID Connect recebam papéis diretos: ao ativar essa opção, os administradores do Looker não podem atribuir papéis do Looker diretamente a usuários do OpenID Connect. Os usuários do OpenID Connect vão receber papéis apenas por meio de associações a grupos. Se os usuários do OpenID Connect tiverem permissão para participar de grupos do Looker integrados (não espelhados), eles ainda poderão herdar as funções dos grupos do OpenID Connect espelhados e dos grupos do Looker integrados. Os papéis atribuídos diretamente a usuários do OpenID Connect serão removidos na próxima vez que eles fizerem login.
Se essa opção estiver desativada, os administradores do Looker poderão atribuir funções do Looker diretamente aos usuários do OpenID Connect como se eles tivessem sido configurados diretamente no Looker.
Impedir a participação direta em grupos que não são do OpenID Connect: ao ativar essa opção, os administradores do Looker não podem adicionar usuários do OpenID Connect diretamente a grupos integrados do Looker. Se os grupos espelhados do OpenID Connect tiverem permissão para ser membros de grupos do Looker integrados, 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 anteriormente a grupos integrados do Looker serão removidos desses grupos na próxima vez que fizerem 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 função de grupos que não são do OpenID Connect: ao ativar essa opção, os membros de grupos do OpenID Connect espelhados não herdam funções 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 na próxima vez que fizerem login.
Se essa opção estiver desativada, os grupos ou usuários do OpenID Connect espelhados que forem adicionados como membros de um grupo do Looker integrado vão herdar as funções atribuídas ao grupo pai do Looker.
Autenticação exige função: 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 têm uma função atribuída não podem 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 sem ter uma função atribuída. Um usuário sem função atribuída não pode acessar dados nem realizar ações no Looker, mas pode fazer login.
Como desativar grupos de OpenID Connect espelhados
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 vazios do OpenID Connect serão excluídos.
Os grupos de OpenID Connect espelhados não vazios vão continuar 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 OpenID Connect espelhados.
Como configurar as opções de migração
Conforme explicado nesta seção, o Looker recomenda ativar o Login alternativo e fornecer uma estratégia de mesclagem para usuários atuais.
Login alternativo para usuários específicos
Os logins de 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 Fazer login alternativo para usuários especificados permite o login alternativo com base 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 alternativa durante a configuração do OpenID Connect caso ocorram problemas de configuração 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 Mesclar usuários usando, especifique o método a ser usado para mesclar um primeiro login do OpenID 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))
- LDAP (não disponível para o Looker (Google Cloud Core))
- SAML
Se você tiver vários sistemas de autenticação, poderá especificar mais de um sistema para mesclagem neste campo. O Looker vai procurar usuários nos sistemas listados na ordem especificada. Por exemplo, suponha que você tenha criado alguns usuários usando o e-mail/senha do Looker, ativado o LDAP e agora queira usar o OpenID Connect. No exemplo anterior, o Looker mesclaria primeiro por e-mail e senha e depois por LDAP.
Quando um usuário faz login pela primeira vez com o OpenID Connect, essa opção conecta o usuário à conta existente, encontrando a conta com um endereço de e-mail correspondente. Se não houver uma conta de usuário, uma nova será criada.
Como mesclar usuários ao usar o Looker (Google Cloud Core)
Quando você usa o Looker (núcleo do Google Cloud) 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 se autenticando no Looker (Google Cloud Core) usando as identidades do Google pelo protocolo OpenID Connect.
Condição 2: antes de selecionar a opção de mesclagem, você concluiu as duas etapas a seguir:
- Identidades de usuários federados no Google Cloud usando o Cloud Identity.
- Configure a autenticação OAuth como o método de autenticação de backup 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.
Ao mesclar, o Looker procura registros de usuários que compartilham o mesmo endereço de e-mail.
Como testar a autenticação do usuário
Ao especificar essa configuração, clique no botão Test para testar a configuração do OpenID Connect.
Os testes serão redirecionados para os endpoints e uma nova guia do navegador será aberta. 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 recebe do endpoint de informações do usuário
- Versões decodificadas e brutas do token de ID recebido
Você pode usar esse teste para verificar se as informações recebidas dos vários endpoints estão corretas e resolver erros.
Dicas:
- Você pode 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 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 afeta nem muda nenhuma das configurações da página.
Salvar e aplicar configurações
Depois de inserir suas informações e todos os testes serem aprovados, marque Confirmei a configuração acima e quero ativar a aplicação global e clique em Atualizar configurações para salvar.