Usar o OAuth do Google para autenticação de usuários do Looker (Google Cloud Core)

O OAuth do Google é usado em conjunto com o Identity and Access Management (IAM) para autenticar usuários do Looker (Google Cloud Core).

Ao usar o OAuth para autenticação, o Looker (Google Cloud Core) autentica os usuários pelo protocolo OAuth 2.0. Você pode usar qualquer cliente OAuth 2.0. Por exemplo, esta página mostra as etapas para configurar a autenticação de uma instância do Looker (Google Cloud Core) usando o console Google Cloud para criar credenciais OAuth.

Se outro método for a forma principal de autenticação, o Google OAuth será, por padrão, o método de autenticação alternativo.

Autenticação e autorização com OAuth e IAM

Quando usados com o OAuth, os papéis do IAM do Looker (Google Cloud Core) fornecem os seguintes níveis de autenticação e autorização para todas as instâncias do Looker (Google Cloud Core) em um determinado projeto do Google Cloud . Atribua um dos seguintes papéis do IAM a cada um dos seus principais, dependendo dos níveis de acesso que você quer que eles tenham:

Papel do IAM Autenticação Autorização
Usuário da instância do Looker (roles/looker.instanceUser)

Pode fazer login em instâncias do Looker (Google Cloud Core)

No primeiro login no Looker (Google Cloud Core), o conjunto de papéis padrão do Looker é concedido em Papéis para novos usuários.

Não é possível acessar os recursos do Looker (Google Cloud Core) no console Google Cloud .

Leitor do Looker (roles/looker.viewer) Pode fazer login em instâncias do Looker (Google Cloud Core) No primeiro login no Looker (Google Cloud Core), o papel padrão do Looker definido em Papéis para novos usuários é concedido.

Pode consultar a lista de instâncias do Looker (Google Cloud Core) e os detalhes da instância no console do Google Cloud
Administrador do Looker (roles/looker.admin) Pode fazer login em instâncias do Looker (Google Cloud Core) No primeiro login no Looker (Google Cloud Core), o papel padrão do Looker definido em Papéis para novos usuários é concedido.

Verificado em cada login no Looker (Google Cloud Core) que usa o OAuth principal ou o OAuth de backup e sempre que o usuário faz uma chamada para a API Looker, essa função (ou uma função personalizada que inclui a permissão looker.instances.update) também concede a função Administrador via IAM na instância.

O papel Administrador via IAM contém todas as permissões e recursos do papel Administrador do Looker. Esse papel não pode ser removido nem reatribuído na instância do Looker (Google Cloud Core). Para remover a função Administrador via IAM, reatribua o principal a uma função do IAM diferente de Administrador do Looker (roles/looker.admin). As mudanças nas funções do IAM são sincronizadas automaticamente com a instância do Looker (Google Cloud Core), mesmo que o usuário faça login com um provedor de identidade terceirizado após a mudança. Para mais informações, consulte a seção Papel de administrador do Looker x papel de administrador via IAM do Looker.

Enquanto o token de atualização do OAuth de um usuário for válido, o papel dele vai aparecer como Administrador pelo IAM no Looker (Google Cloud Core), mesmo que esse usuário faça login posteriormente com um provedor de identidade de terceiros. Se o token de atualização do OAuth expirar ou for revogado, o usuário precisará usar o OAuth para fazer login na instância novamente e recuperar o papel de administrador via IAM.

Pode realizar todas as tarefas administrativas do Looker (Google Cloud Core) no console do Google Cloud .

Além disso, as contas de usuário com o papel owner em um projeto podem fazer login e administrar qualquer instância do Looker (Google Cloud Core) nesse projeto. Esses usuários vão receber a função Administrador do Looker.

Se os papéis predefinidos não fornecerem o conjunto de permissões desejado, você também poderá criar seus próprios papéis personalizados.

As contas do Looker (Google Cloud Core) são criadas no momento do primeiro login em uma instância do Looker (Google Cloud Core).

Papel de administrador do Looker x papel de administrador do Looker via IAM

Há dois papéis em uma instância do Looker (Google Cloud Core) que usam o conjunto de permissões de administrador e concedem os mesmos privilégios de administrador na instância. A tabela a seguir resume as semelhanças e diferenças entre as duas funções.

Propriedade Função de administrador do Looker Papel de administrador do Looker via IAM
Fonte confiável Concedido por outro administrador na instância do Looker (Google Cloud Core) Diretamente vinculado ao papel de administrador do Looker no IAM
Podem ser adicionados ou removidos em uma instância do Looker (Google Cloud Core)? Sim Não
Pode ser adicionado ou removido com o IAM? Não Sim
Permissões no Looker (Google Cloud Core) Todas as permissões Todas as permissões
Permissões no console do Google Cloud Nenhum Acesso total a todos os recursos do Looker (Google Cloud Core)
Validação de função Continuamente na instância do Looker (Google Cloud Core) A cada login na instância do Looker (Google Cloud Core) e a cada chamada da API Looker.

As mudanças em um papel com o IAM podem levar vários minutos para serem propagadas.
Escopo Instância individual do Looker (Google Cloud Core) Todas as instâncias do Looker (Google Cloud Core) em um projeto do Google Cloud

Um usuário pode ter os papéis de Administrador e Administrador pelo IAM do Looker. Portanto, se você quiser revogar os privilégios de administrador, remova o papel do IAM e o papel de Administrador na instância do Looker (Google Cloud Core).

Configurar o OAuth na instância do Looker (Google Cloud Core)

Na instância do Looker (Google Cloud Core), a página Autenticação do Google na seção Autenticação do menu Administrador permite definir algumas configurações do OAuth do Google. Você precisa ter o papel de administrador do Looker.

Mesclar contas de usuário

No campo Mesclar usuários usando, especifique o método que será usado para mesclar um primeiro login do OAuth com uma conta de usuário atual. Quando um usuário faz login pela primeira vez usando o OAuth, essa opção conecta o usuário à conta atual dele ao encontrar o endereço de e-mail correspondente. Se não houver uma conta para o usuário, uma nova será criada.

Você pode mesclar usuários dos seguintes sistemas:

  • SAML
  • OIDC

Se você tiver mais de um sistema em vigor, poderá especificar mais de um sistema para mesclar neste campo. O Looker (Google Cloud Core) vai pesquisar os usuários nos sistemas listados na ordem em que eles são especificados. Por exemplo, se você criou alguns usuários usando o OIDC e depois usou o SAML, quando um usuário tentar fazer login com o OAuth pela primeira vez, o Looker (Google Cloud Core) vai procurar o usuário usando o OIDC e, se não encontrar uma correspondência para o usuário com o OIDC, vai procurar o usuário usando o SAML.

Se você não quiser que o Looker (Google Cloud Core) mescle usuários, deixe esse campo em branco.

Migrar entre provedores de identidade OIDC

Ao migrar de um provedor de identidade OIDC para outro (por exemplo, ao fazer a transição do PingFederate para o Okta), a opção de mesclagem de contas descrita em Mesclar contas de usuário não se aplica. A mesclagem só é aplicada quando você está fazendo a transição entre tipos de autenticação diferentes (como SAML para OIDC).

O Looker (Google Cloud Core) usa a declaração sub do payload do OIDC para preencher o atributo do usuário oidc_user_id, que identifica de forma exclusiva as contas de usuário do OIDC. Para evitar que o Looker (Google Cloud Core) gere contas de usuário duplicadas durante uma migração do OIDC, configure seu novo provedor de identidade do OIDC para garantir que a declaração sub enviada no payload do OIDC corresponda ao oidc_user_id estabelecido pelo provedor anterior (por exemplo, a declaração sub precisa conter o endereço de e-mail do usuário em vez de um UUID recém-gerado).

Se não for possível manter as mesmas declarações de sub no novo provedor de identidade, novas contas de usuário serão criadas. Nesse cenário, você pode usar a API Looker para recuperar o conteúdo favorito e reatribuir os programações das contas de usuário anteriores às novas antes de excluir as antigas.

Espelhar Grupos do Google

Se você tiver Grupos do Google gerenciados, o Looker (Google Cloud Core) poderá criar grupos do Looker que espelham a associação dos seus Grupos do Google. Isso significa que você não precisa configurar usuários diretamente no Looker (Google Cloud Core), mas pode gerenciar o acesso deles gerenciando a associação aos Grupos do Google. Além disso, os grupos do Looker podem ser usados para atribuir papéis aos membros do grupo, definir controles de acesso ao conteúdo, controlar o acesso a recursos e dados e atribuir atributos de usuário.

Para que o espelhamento de grupos funcione corretamente, os usuários precisam ter a permissão VIEW_MEMBERSHIP, que permite visualizar a participação nos grupos do Google a que pertencem. Para conceder essa permissão nas configurações da interface do Grupos do Google, defina o campo Quem pode ver os participantes como Participantes do grupo.

Os grupos espelhados do Looker (e todos os papéis e acessos associados) são aplicados aos novos usuários no login inicial na instância do Looker (Google Cloud Core). Os grupos não são aplicados a usuários que já existiam e não são reaplicados se forem removidos da conta de um usuário no Looker (Google Cloud Core) após o login inicial.

O papel do Looker Administrador via IAM, que é concedido automaticamente aos usuários com o papel Administrador do Looker no sistema do IAM, substitui o espelhamento de grupo. Os usuários com o papel de administrador do Looker no sistema do IAM recebem automaticamente o papel de administrador via IAM no Looker (Google Cloud Core), independentemente das associações a grupos que tenham. Além disso, esses usuários serão atribuídos a grupos espelhados e vão receber funções e acesso pelo processo de espelhamento padrão.

Recomendamos que você ative o espelhamento de grupos apenas para o método de autenticação principal do Looker (Google Cloud Core). Se você estiver usando o OAuth como método de autenticação alternativo, não ative o espelhamento de grupos para o OAuth. 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, independentemente do método de autenticação 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 ativar o espelhamento de grupo, siga estas etapas:

  1. No console do Google Cloud , ative a API Cloud Identity no projeto do Google Cloud que contém seu cliente OAuth. É preciso ter o papel do IAM de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin) para ativar as APIs.

    Ativar a API

  2. No console do Google Cloud , atualize a tela de permissão do cliente OAuth para adicionar o escopo https://www.googleapis.com/auth/cloud-identity.groups.readonly. Você precisa ter a permissão clientauthconfig.clients.update do IAM para adicionar escopos. Siga estas etapas para atualizar a tela de permissão:

    • Acesse o cliente OAuth.
    • Escolha a página Acesso a dados.
    • Clique no botão Adicionar ou remover escopos. Um painel Atualizar escopos selecionados será aberto.
    • Encontre o escopo https://www.googleapis.com/auth/cloud-identity.groups.readonly e marque a caixa de seleção ao lado dele.
    • Clique no botão Atualizar para adicionar o escopo.
    • Feche o painel e clique em Salvar na página Acesso a dados para salvar o escopo.

  3. Na instância do Looker (Google Cloud Core), ative a opção Refletir grupos do Google na página Autenticação do Google. Essa opção fica desativada por padrão. Preencha os seguintes campos:

    • No campo Nome do grupo do Looker, adicione um nome para o grupo do Looker. Esse é o nome que vai aparecer na página Grupos no Looker (Google Cloud Core).
    • No campo ID do Grupo do Google, digite o nome ou e-mail do Grupo do Google que você quer espelhar.
    • No campo Papel, insira os papéis do Looker que você quer atribuir aos membros desse grupo.

O Looker (Google Cloud Core) vai criar um grupo do Looker para cada grupo do Google adicionado à página Autenticação do Google. É possível conferir esses grupos do Looker na página Grupos do Looker (Google Cloud Core).

Editar grupos espelhados

Quando você faz mudanças na associação a um grupo do Google, elas são propagadas automaticamente para a associação do grupo espelhado do Looker e validadas no próximo login de cada usuário.

Se você editar os campos Nome personalizado ou Função atribuídos a um grupo na página Autenticação do Google, isso vai mudar a forma como o nome do grupo espelhado do Looker aparece na página Grupos do Looker (Google Cloud Core) ou as funções atribuídas ao grupo, mas não vai mudar os membros dele.

Se você mudar o nome ou o e-mail no campo ID do grupo do Google na página Autenticação do Google para o ID de um novo grupo do Google, os membros do grupo espelhado do Looker serão alterados para os membros do novo grupo do Google, mas o nome e as funções do grupo serão mantidos conforme definido na página Autenticação do Google.

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 (Google Cloud Core).

Desativar grupos espelhados

Se você quiser parar de espelhar seus Grupos do Google no Looker (Google Cloud Core), desative a opção Espelhar Grupos do Google na página Autenticação do Google da instância do Looker (Google Cloud Core). Desativar o botão resulta no seguinte comportamento:

  • Os grupos espelhados do Google sem usuários são excluídos imediatamente.
  • Qualquer grupo espelhado do Google que não tenha usuários é marcado como órfão. Se nenhum usuário desse grupo fizer login em até 31 dias, o grupo será excluído. Não é mais possível adicionar ou remover usuários de grupos órfãos do Google.

Gerenciamento avançado de papéis

Se a opção Espelhar Grupos do Google estiver ativada, a página Autenticação do Google vai mostrar as configurações de Gerenciamento avançado de papéis. As opções nesta seção determinam a flexibilidade dos administradores do Looker ao configurar grupos e usuários do Looker que foram espelhados do Google.

Se você quiser que a configuração de grupos e usuários do Looker corresponda estritamente à configuração dos Grupos do Google, ative todas as opções de Gerenciamento avançado de funções. Quando todas as opções estão ativadas, os administradores do Looker não podem modificar as associações a grupos espelhados e só podem atribuir funções aos usuários pelos Grupos do Google.

Se você quiser mais flexibilidade para personalizar seus grupos no Looker (Google Cloud Core), desative essas opções. Seus grupos do Looker (Google Cloud Core) ainda vão espelhar a configuração do Google Grupos, mas você poderá realizar outras ações de gerenciamento de grupos e usuários no Looker (Google Cloud Core), como adicionar usuários do Google a grupos do Looker ou atribuir funções do Looker diretamente a usuários do Google.

Para instâncias do Looker (Google Cloud Core), essas opções estão desativadas por padrão.

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

  • Impedir que usuários individuais do Google recebam papéis diretos: ativar essa opção impede que os administradores do Looker atribuam papéis do Looker diretamente aos usuários do Google. Os usuários do Google só vão receber papéis pelas associações a grupos. Se os usuários do Google puderem participar de grupos integrados (não espelhados) do Looker, eles ainda poderão herdar os papéis dos Grupos do Google espelhados e dos grupos integrados do Looker. Os usuários do Google que receberam papéis diretamente terão esses papéis removidos no próximo login.

    Se essa opção estiver desativada, os administradores do Looker poderão atribuir papéis do Looker diretamente aos usuários do Google na instância do Looker (Google Cloud Core).

  • Impedir a associação direta a grupos que não são do Google: essa opção impede que os administradores do Looker adicionem membros de grupos espelhados diretamente a grupos integrados do Looker que não fazem parte da configuração de grupo espelhado na página Autenticação do Google.

    Se essa opção estiver selecionada, todos os usuários do Google que foram atribuídos a grupos integrados do Looker serão removidos desses grupos no próximo login.

    Se essa opção estiver desmarcada, os administradores do Looker poderão adicionar usuários do Google diretamente aos grupos integrados do Looker.

  • Impedir a herança de papéis de grupos que não são do Google: essa opção impede que os membros de grupos espelhados herdem papéis de grupos integrados do Looker. Se os Grupos do Google espelhados puderem ser membros de grupos integrados do Looker, os usuários do Google poderão manter a associação a qualquer grupo integrado do Looker. Os usuários do Google que herdaram papéis de um grupo integrado do Looker vão perder essas funções no próximo login.

    Se essa opção estiver desativada, os grupos espelhados ou os usuários do Google adicionados como membros de um grupo integrado do Looker vão herdar as funções atribuídas ao grupo integrado do Looker.

  • A autenticação requer papel: se essa opção estiver ativada, os usuários do Google precisarão ter um papel do Looker atribuído. Os usuários do Google que não têm uma função atribuída não poderão fazer login no Looker (Google Cloud Core).

    Se essa opção estiver desativada, os usuários do Google poderão se autenticar no Looker (Google Cloud Core) mesmo que não tenham um papel atribuído. Um usuário sem um papel atribuído não poderá ver dados nem realizar ações no Looker (Google Cloud Core), mas poderá fazer login no Looker (Google Cloud Core).

Definir uma função padrão do Looker

Se a opção Refletir grupos do Google estiver desativada, a configuração Funções para novos usuários vai aparecer na página Autenticação do Google. Essa configuração permite definir o papel do Looker padrão que será concedido às contas de usuário com o papel do IAM de Usuário da instância do Looker (roles/looker.instanceUser) ou de Leitor do Looker (roles/looker.viewer) no primeiro login em uma instância do Looker (Google Cloud Core). Para definir uma função padrão, siga estas etapas:

  1. Acesse a página Autenticação do Google na seção Autenticação do menu Administrador.
  2. Na configuração Funções para novos usuários, selecione a função que você quer conceder a todos os novos usuários por padrão. A configuração contém uma lista de todos os papéis padrão e personalizados na instância do Looker (Google Cloud Core).

As funções de administrador não podem ser funções padrão. As contas de usuário com um papel do IAM de administrador do Looker (roles/looker.admin) vão receber o papel do Looker de Administrador via IAM no primeiro login, além do papel selecionado na configuração Papéis para novos usuários.

Se você ativar a opção Espelhar Grupos do Google depois de personalizar a configuração Funções para novos usuários, as funções atribuídas aos usuários por meio da configuração Funções para novos usuários serão removidas no próximo login e substituídas pelas funções atribuídas pela configuração Espelhar Grupos do Google.

Testar a autenticação do usuário

Clique no botão Testar autenticação do Google para testar as configurações. Os testes vão redirecionar para o servidor OAuth do Google e abrir uma guia do navegador. A guia mostra as seguintes informações:

  • Se o Looker (Google Cloud Core) conseguiu se comunicar com o servidor e validar.
  • As informações do usuário que o Looker (Google Cloud Core) recebe do servidor. É preciso validar se o servidor retorna os resultados adequados.
  • Um rastreamento para mostrar como as informações foram encontradas. Use o trace para resolver problemas se as informações estiverem incorretas. Se precisar de mais informações, leia o arquivo XML bruto do servidor.
  • As versões decodificada e bruta do token de ID recebido. Eles podem ser usados para confirmar detalhes do usuário e a configuração do Google.

Salvar e aplicar as configurações

Depois de inserir as informações e passar em todos os testes, marque a caixa de seleção Confirmei a configuração acima e quero ativar a aplicação global dela e clique em Enviar para salvar.

Adicionar usuários a uma instância do Looker (Google Cloud Core)

Depois que uma instância do Looker (Google Cloud Core) é criada, os usuários podem ser adicionados pelo IAM. Para adicionar usuários, siga estas etapas:

  1. Verifique se você tem o papel de Administrador do IAM do projeto ou outro papel que permita gerenciar o acesso do IAM.
  2. Navegue até o projeto do console Google Cloud em que a instância do Looker (Google Cloud Core) está localizada.

  3. Navegue até a seção IAM e administrador > IAM do console do Google Cloud .

  4. Selecione Conceder acesso.

  5. Na seção Adicionar principais, adicione um ou mais dos seguintes itens:

    • Um e-mail da Conta do Google
    • Um Grupo do Google
    • Um domínio do Google Workspace.
  6. Na seção Atribuir papéis, selecione um dos papéis predefinidos do IAM do Looker (Google Cloud Core) ou um papel personalizado que você adicionou.

  7. Clique em Salvar.

  8. Informe aos novos usuários do Looker (Google Cloud Core) que o acesso foi concedido e direcione-os para o URL da instância. Assim, eles podem fazer login na instância, e as contas serão criadas. Nenhuma comunicação automatizada será enviada.

Se você mudar o papel do IAM de um usuário, ele será propagado para a instância do Looker (Google Cloud Core) em alguns minutos. Se houver uma conta de usuário do Looker, a função dele não será alterada.

Todos os usuários precisam ser provisionados pelas etapas do IAM descritas anteriormente, com uma exceção: é possível criar contas de serviço somente de API Looker na instância do Looker (Google Cloud Core).

Como fazer login no Looker (Google Cloud Core) com o OAuth

Na primeira vez que os usuários fizerem login, eles vão precisar usar a Conta do Google. Cada usuário precisa usar a mesma conta que o administrador do Looker listou no campo Adicionar participantes ao conceder acesso. Os usuários vão ver a tela de permissão OAuth configurada durante a criação do cliente OAuth. Depois que os usuários concordam com a tela de consentimento, as contas deles na instância do Looker (Google Cloud Core) são criadas e eles fazem login.

Depois disso, os usuários vão fazer login automaticamente no Looker (Google Cloud Core), a menos que a autorização expire ou seja revogada pelo usuário. Nesses cenários, os usuários vão ver a tela de permissão OAuth novamente e precisarão autorizar o acesso.

Alguns usuários podem receber credenciais de API para recuperar um token de acesso à API. Se a autorização desses usuários expirar ou for revogada, as credenciais de API deles vão parar de funcionar. Todos os tokens de acesso à API atuais também vão parar de funcionar. Para resolver o problema, o usuário precisa autorizar novamente as credenciais fazendo login na UI do Looker (Google Cloud Core) em cada instância afetada. Como alternativa, o uso de contas de serviço somente de API ajuda a evitar uma falha de autorização de credenciais para tokens de acesso de API.

Remover o acesso do OAuth ao Looker (Google Cloud Core)

Se você tiver um papel que permita gerenciar o acesso do IAM, poderá remover o acesso a uma instância do Looker (Google Cloud Core) revogando o papel do IAM que concedeu o acesso. Se você remover o papel do IAM de uma conta de usuário, essa mudança será propagada para a instância do Looker (Google Cloud Core) em alguns minutos. O usuário não poderá mais se autenticar na instância. No entanto, a conta do usuário ainda vai aparecer como ativa na página Usuários. Para remover a conta de usuário da página Usuários, exclua o usuário na instância do Looker (Google Cloud Core).

Como usar o OAuth como um método de autenticação alternativo

Se você usa outro método de autenticação, como federação de identidade de colaboradores, SAML ou OpenID Connect (OIDC), pode configurar o OAuth do Google como um método de autenticação secundário ou de backup. Essa configuração garante que os usuários e administradores ainda possam se autenticar com as Contas do Google se não conseguirem acessar o provedor de identidade principal.

Configurar o OAuth como backup para SAML ou OIDC

O OAuth é o método de autenticação de backup quando o SAML ou o OIDC é o método de autenticação principal.

Para configurar um OAuth como método de backup, conceda a cada usuário do Looker (Google Cloud Core) o papel do IAM apropriado para fazer login na instância.

Configurar o OAuth como o método secundário para a federação de identidade de colaboradores

O OAuth pode ser configurado como o método de autenticação secundário para a federação de identidade de colaboradores. Para configurar o OAuth como o método de autenticação secundário, edite a instância para ativar a configuração Ativar OAuth secundário.

Como fazer login com o OAuth

Depois que o método de backup é configurado, os usuários acessam seguindo estas etapas:

  1. Selecione Autenticar com o Google na página de login.
  2. Uma caixa de diálogo aparece para confirmar a autenticação do Google. Selecione Confirmar na caixa de diálogo.

Em seguida, os usuários podem fazer login usando as Contas do Google. Ao fazer login com o OAuth pela primeira vez, eles vão precisar aceitar a tela de permissão do OAuth configurada durante a criação da instância.

A seguir