As empresas usam diferentes provedores OpenID Connect (OPs) para coordenar 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 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. Nesta página, descrevemos esse processo e incluímos 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
- Considere usar 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 alternativo de conta. Caso contrário, você pode perder o 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 Google Auth. Você poderá configurar isso no processo de configuração.
- O Looker só é compatível com a 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, você precisa fornecer 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:
- Informe o URL do Looker ao provedor OpenID Connect (OP).
- Receba as informações necessárias do seu OP.
Configurar o Looker no seu OP
Seu provedor OpenID Connect (OP) vai 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 operador, informe 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 seu OP
Para configurar o Looker para autenticação do OpenID Connect, você precisa das seguintes informações do seu 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 de autenticação, um de token de ID e um de informações do usuário. Você vai precisar dos URLs que seu OP usa para cada um desses endpoints.
- Cada OP fornece informações do usuário em conjuntos chamados de escopos. É preciso saber os nomes dos escopos usados pelo seu OP. O OpenID Connect exige o escopo
openid
, mas seu OP provavelmente vai incluir outros escopos, comoemail
,profile
egroups
. - No OpenID Connect, os atributos que armazenam dados do usuário são chamados de reivindicações. Você precisa saber quais declaraçõ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 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 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, permitindo que você reúna 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 interna de autenticação.
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 configurar as definições de autenticação do OpenID Connect
Use as informações de configuração obtidas no documento de descoberta do OP, no OP ou na equipe interna de autenticação para inserir as configurações de conexão nos seguintes campos:
Identificador: o identificador do cliente exclusivo da sua instância do Looker. Isso precisa ser fornecido pelo OP.
Chave secreta: a chave secreta do cliente exclusiva da sua instância do Looker. Isso precisa ser fornecido pelo OP.
Emissor: o URL seguro que identifica seu OP.
Público-alvo: um identificador que indica ao seu OP quem é o cliente. Geralmente, é o mesmo 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 depois que ele é autorizado. Muitas vezes chamado de token_endpoint
em um documento de descoberta.
URL das 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.
Escopos: uma lista separada por vírgulas de escopos usados pelo OP para fornecer informações do usuário ao Looker. Você precisa incluir o escopo openid
e todos os escopos que incluem as informações necessárias para o Looker, como endereços de e-mail, nomes de usuário e atributos de usuário configurados na sua instância do Looker.
Como configurar as configurações de atributo do usuário
Nesta seção, você vai mapear as reivindicações do OP para os atributos do usuário do Looker.
Na seção Configurações de atributo do usuário, 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 declarações para as informações do usuário no momento do login. O Looker não tem uma forma específica de construir as declarações, mas é importante que as informações inseridas aqui correspondam à forma como elas são definidas no seu OP.
Declarações padrão
O Looker exige nome de usuário e informações de e-mail para 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 seu OP usa para endereços de e-mail do usuário, como email
.
Declaração de nome: a declaração que seu OP usa para nomes de usuários, como given_name
.
Declaração de sobrenome: a declaração que seu OP usa para sobrenomes de usuários, como family_name
.
Alguns OPs usam uma única declaração para nomes, em vez de separar o primeiro e o último nome. Se for o caso com seu OP, insira a declaração que armazena nomes nos campos Declaração de nome e Declaração de sobrenome. Para cada usuário, o Looker vai usar o conteúdo até o primeiro espaço como nome e tudo depois como sobrenome.
Pares de atributos
Se quiser, use os dados nas 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ê configurou o OpenID Connect para fazer conexões específicas do usuário com seu banco de dados, é possível 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 parear declarações com os atributos de usuário do Looker correspondentes:
- Insira a declaração conforme identificada pelo seu OP no campo Declaração e o atributo do usuário do Looker com que você quer associá-la 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 essas etapas para adicionar mais pares de declaração e atributo.
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 principal e aninhada, separadas por uma barra ( /
). Para configurar o Looker para a declaração locality
no exemplo, insira address/locality
.
Grupos e funções
Você pode fazer com que o Looker crie grupos que espelham seus grupos do OpenID Connect gerenciados externamente e, em seguida, atribuir funções 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 de grupo do Looker.
Com o espelhamento de grupos do OpenID Connect, é possível usar seu diretório do OpenID Connect definido externamente para gerenciar grupos e usuários do Looker. Isso permite gerenciar a associação a grupos 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 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. 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 chave Espelhar grupos do OpenID Connect 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 Novas funções de usuário, insira os nomes dos grupos ou funções do Looker que você quer atribuir aos novos usuários do Looker quando eles fizerem login pela primeira vez:
Esses grupos e papéis são aplicados aos novos usuários no login inicial. Eles não são aplicados a usuários que já existiam e não são reaplicados se forem removidos dos usuários após o login inicial.
Ativar o espelhamento de grupos do OpenID Connect
Se você estiver usando uma instância do Looker (Google Cloud Core), recomendamos que ative o espelhamento de grupo apenas para o método de autenticação principal e não para a autenticação OAuth de backup. Se você ativar o espelhamento de grupo para os métodos de autenticação primário e secundário, os seguintes comportamentos vão ocorrer:
- Se um usuário tiver identidades mescladas, o espelhamento de grupo vai corresponder ao método de autenticação principal, independente do método usado para fazer login.
- Se um usuário não tiver identidades mescladas, o espelhamento de grupo vai corresponder ao método de autenticação usado para fazer login.
Etapas para ativar grupos espelhados
Para espelhar seus grupos do OpenID Connect no Looker, ative a opção Espelhar grupos do OpenID Connect:
Reivindicação de grupos: insira a reivindicação que seu OP usa para armazenar nomes de grupos. O Looker vai criar um grupo para cada grupo do OpenID Connect introduzido no sistema pela declaração "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 / 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 que são atribuídos ao grupo correspondente do OpenID Connect 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 do 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 uma ou mais funções do Looker que serão atribuídas a cada usuário no grupo.
Clique em
+
para adicionar outros conjuntos de campos e configurar mais 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 desse grupo.
Se você editar um grupo espelhado que foi configurado anteriormente nessa tela, a configuração do grupo vai mudar, mas o grupo em si vai permanecer intacto. Por exemplo, você pode mudar o nome personalizado de um grupo, o que mudaria a forma como ele aparece na página Grupos do Looker, mas não alteraria as funções atribuídas e os membros do grupo. Mudar 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 fazem parte do grupo externo do OpenID Connect com o novo ID.
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 no Looker por esse grupo.
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 papéis
Se você ativou a chave Espelhar grupos do OpenID Connect, o Looker mostra essas configurações. As opções nesta seção determinam a flexibilidade dos administradores do Looker ao configurar grupos e usuários espelhados do OpenID Connect.
Por exemplo, se você quiser que a configuração de grupo e usuário do Looker corresponda estritamente à 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 a grupos espelhados e só podem atribuir papéis a usuários por grupos espelhados do OpenID Connect.
Se você quiser mais flexibilidade para personalizar ainda mais 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 ficam desativadas por padrão.
Para instâncias do Looker que já têm grupos espelhados configurados, essas opções ficam 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 papéis diretos: ao ativar essa opção, os administradores do Looker não podem atribuir papéis do Looker diretamente aos usuários do OpenID Connect. Os usuários do OpenID Connect só vão receber papéis pelas associações a grupos. Se os usuários do OpenID Connect puderem ser membros de grupos integrados (não espelhados) do Looker, eles ainda poderão herdar papéis dos grupos espelhados do OpenID Connect e dos grupos integrados do Looker. Os usuários do OpenID Connect que receberam papéis diretamente terão esses papéis removidos na próxima vez que 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 fossem usuários configurados diretamente no Looker.
Impedir a associação direta a 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 aos grupos integrados do Looker. Se os grupos espelhados do OpenID Connect puderem ser membros de grupos integrados do Looker, os usuários do OpenID Connect poderão manter a associação a qualquer grupo principal do Looker. Todos os usuários do OpenID Connect que foram atribuídos 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 papéis de grupos que não são do OpenID Connect: ao ativar essa opção, os membros de grupos espelhados do OpenID Connect não herdam papéis de grupos integrados do Looker. Os usuários do OpenID Connect que herdaram papéis de um grupo principal do Looker vão perder 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 integrado do Looker vão herdar as funções atribuídas ao grupo principal do Looker.
A 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 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 sem ter uma função atribuída. Um usuário sem função atribuída não poderá ver dados nem realizar ações no Looker, mas poderá fazer login.
Desativar o espelhamento de grupos do OpenID Connect
Se você quiser interromper o espelhamento dos grupos do OpenID Connect no Looker, desative a opção Espelhar grupos do OpenID Connect. Desativar a chave resulta no seguinte comportamento:
- Qualquer grupo espelhado do OpenID Connect sem usuários é excluído imediatamente.
- Qualquer grupo espelhado do OpenID Connect que não contenha usuários será marcado como órfão. Se nenhum usuário desse grupo fizer login em 31 dias, o grupo será excluído. Não é mais possível adicionar ou remover usuários de grupos órfãos 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 fusão para 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 comuns quando a autenticação do OpenID Connect está ativada. A opção 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 se ocorrerem problemas de configuração posteriormente 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 login do Open ID Connect pela primeira vez 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 para mesclar neste campo. O Looker vai pesquisar os usuários nos sistemas listados na ordem em que são especificados. Por exemplo, suponha que você tenha criado alguns usuários usando e-mail/senha do Looker, ativado o LDAP e agora queira usar o OpenID Connect. No exemplo anterior, o Looker faria a fusão 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 o conecta à conta atual encontrando a conta com um endereço de e-mail correspondente. Se não houver uma conta para o usuário, uma nova 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 fusão 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 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 em 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 vai estar disponível.
Ao fazer a fusão, o Looker pesquisa 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 Testar para testar a configuração do OpenID Connect.
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 rastreamento 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 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 esse teste a qualquer momento, mesmo que o OpenID Connect esteja parcialmente configurado. Executar um teste pode ser útil durante a configuração para ver 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 nenhuma das configurações nessa página.
Salvar e aplicar as configurações
Depois de inserir as informações e passar em todos os testes, marque Confirmei a configuração acima e quero ativar a aplicação global e clique em Atualizar configurações para salvar.