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 funções 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 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 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, execute as seguintes tarefas:
- 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) 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 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 a 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 vai se conectar a três endpoints diferentes: de autenticação, de token de ID e 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. 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 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, 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 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. Isso deve ser fornecido pelo seu OP.
Emissor: o URL seguro que identifica seu OP.
Público-alvo: um identificador que indica à sua 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. 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 ser autorizado. 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 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 instância do Looker.
Como definir configurações de atributos do usuário
Nesta seção, você vai associar as reivindicações do OP aos 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 declaraçõ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 seu 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
.
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
.
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 o Nome e tudo depois como o Sobrenome.
Pareamentos de atributos
Também é possível 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 o 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 parear declarações com os atributos de usuário correspondentes do Looker:
- Insira a declaração identificada pelo OP no campo Claim e o atributo de usuário do Looker com que você quer pareá-la no campo Looker User Attributes.
- 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.
- Clique em + e repita estas etapas para adicionar mais pares de declarações e atributos.
Alguns OPs podem ter "aninhado" reivindicações. 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 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 Novas funções do usuário, insira os nomes dos grupos ou funções do Looker a que você quer atribuir novos usuários do Looker quando eles fizerem login no Looker 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:
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 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 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:
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 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 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.
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, você pode mudar o nome personalizado de um grupo, o que altera a forma como o grupo aparece na página Grupos do Looker, mas não altera as funções atribuídas e os membros do grupo. 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 dele não terão mais as funções atribuídas a eles no Looker.
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 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 a configuração do usuário e do grupo do Looker 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 participação em grupos espelhados e só podem atribuir funções aos usuários por 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 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çõ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 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. Todos os usuários do OpenID Connect com funções atribuídas anteriormente terão essas funções removidas no próximo 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 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 OpenID Connect espelhados puderem ser membros de grupos 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 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.
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. 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, não é possível adicionar ou remover usuários de grupos OpenID Connect espelhados.
Como configurar 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 os 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 fazer login alternativo com base em e-mail usando /login/email
para administradores e usuários especificados com a permissão login_special_email
.
Ativar esta opção é útil como substituto durante a configuração do OpenID Connect se problemas de configuração do OpenID Connect ocorrerem mais tarde ou se você precisar oferecer suporte a alguns usuários que não têm contas em 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 em vigor, poderá especificar mais de um sistema para mesclar 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)
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 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:
- Usuários federados identidades no Google Cloud usando o Cloud Identity.
- 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.
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 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 este teste a qualquer momento, mesmo que o OpenID Connect esteja parcialmente configurado. Executar 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
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.