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

O OAuth do Google é usado 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. Use qualquer cliente OAuth 2.0 para criar credenciais de autorização ao criar uma instância. 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á o método de autenticação de backup por padrão. O OAuth do Google também é o método de autenticação usado pelo Cloud Customer Care ao fornecer suporte.

O cliente OAuth usado para autenticação precisa ser o mesmo usado para configurar a instância.

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

Quando usados com o OAuth, os papéis do IAM do Looker (Google Cloud Core) oferecem os seguintes níveis de autenticação e autorização para todas as instâncias do Looker (Google Cloud Core) em um determinado projeto 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), conceda o conjunto de papéis padrão do Looker 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), conceda o conjunto de papéis padrão do Looker em Papéis para novos usuários.

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), conceda o conjunto de papéis padrão do Looker em Papéis para novos usuários.

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.

A função Administrador via IAM contém todas as permissões e recursos da função Administrador do Looker. Não é possível remover ou reatribuir essa função na instância do Looker (Google Cloud Core). Para remover o papel Administrador via IAM, reatribua o principal a um papel do IAM diferente de Administrador do Looker (roles/looker.admin). As mudanças nos papéis 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 de terceiros após a mudança. Para mais informações, consulte a seção Papel de administrador do Looker x papel de administrador do Looker via IAM.

Enquanto o token de atualização do OAuth de um usuário for válido, a função dele vai aparecer como Administrador via IAM no Looker (Google Cloud Core), mesmo que ele faça login depois 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 a função 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 a função 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 de 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 primeiro login em uma instância do Looker (Google Cloud Core).

Função de administrador do Looker x função de administrador do Looker via IAM

Há duas funções em uma instância do Looker (Google Cloud Core) que usam o conjunto de permissões de administrador e conferem 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 Concedida 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 uma função 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 Google Cloud projeto

Um usuário pode ter os papéis do Looker Administrador e Administrador via IAM. 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 configurar algumas opções do OAuth do Google. Você precisa ter a função de administrador do Looker.

Mesclar contas de usuário

No campo Mesclar usuários usando, especifique o método a ser usado para mesclar um login do OAuth pela primeira vez a uma conta de usuário existente. Quando um usuário faz login pela primeira vez usando o OAuth, 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.

É possível mesclar usuários dos seguintes sistemas:

  • SAML
  • OIDC

Se você tiver mais de um sistema, poderá especificar mais de um 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ê primeiro criou alguns usuários usando OIDC e depois usou SAML, quando um usuário tentar fazer login com OAuth pela primeira vez, o Looker (Google Cloud Core) primeiro procurará o usuário usando OIDC e, se não encontrar uma correspondência, procurará o usuário usando SAML.

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

Espelhar Grupos do Google

Se você tiver Grupos do Google gerenciados, o Looker (Google Cloud Core) poderá criar grupos do Looker que refletem 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 a membros do grupo, definir controles de acesso a conteúdo, controlar o acesso a recursos e dados e atribuir atributos do usuário.

Os grupos espelhados do Looker (e 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.

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

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

    Ativar a API

  2. No console 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 consentimento:

    • Acesse o cliente OAuth.
    • Escolha a página Acesso aos dados.
    • Clique no botão Adicionar ou remover escopos. Isso abre um painel Atualizar escopos selecionados.
    • 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, insira o nome ou e-mail do Grupo do Google que você quer espelhar.
    • No campo Função, insira a função ou funções 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 em uma associação aos Grupos 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 participantes 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 participantes do grupo espelhado do Looker vão mudar para os participantes do novo grupo do Google, mas o nome e as funções do grupo serão mantidos conforme definidos 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 a chave resulta no seguinte comportamento:

  • Qualquer grupo do Google espelhado sem usuários é excluído imediatamente.
  • Qualquer grupo do Google espelhado 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 Google.

Gerenciamento avançado de papéis

Se a chave Refletir 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 grupo e usuário do Looker corresponda exatamente à 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 papéis aos usuários pelo Google Grupos.

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 dos Grupos do Google, mas você poderá realizar outras tarefas 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 ficam desativadas por padrão.

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

  • Impedir que usuários individuais do Google 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 Google. Os usuários do Google só vão receber papéis pelas associações a grupos. Se os usuários do Google tiverem permissão para participar de grupos integrados do Looker (não espelhados), eles ainda poderão herdar papéis dos Grupos do Google espelhados e dos grupos integrados do Looker. Os usuários do Google que tinham papéis atribuídos diretamente vão perder esses papéis 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 participantes 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, 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 esses papéis 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 a esse grupo.

  • A autenticação exige função: se essa opção estiver ativada, os usuários do Google precisarão ter uma função do Looker atribuída. Os usuários do Google que não tiverem 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 sem um papel atribuído. Um usuário sem função atribuída não poderá ver dados nem realizar ações no Looker (Google Cloud Core), mas poderá fazer login nele.

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. Com essa configuração, é possível 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 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 de administrador do Looker (roles/looker.admin) do IAM vão receber o papel do Looker 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 Refletir Grupos do Google depois de personalizar a configuração Funções para novos usuários, as funções atribuídas aos usuários por essa configuração serão removidas no próximo login e substituídas pelas funções atribuídas pela configuração Refletir Grupos do Google.

Testar a autenticação do usuário

Clique no botão Testar autenticação do Google para testar suas 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 fazer a validação.
  • As informações do usuário que o Looker (Google Cloud Core) recebe do servidor. É preciso validar se o servidor retorna os resultados corretos.
  • Um rastreamento para mostrar como as informações foram encontradas. Use o rastreamento para resolver problemas se as informações estiverem incorretas. Se precisar de mais informações, leia o arquivo XML bruto do servidor.
  • Versões decodificadas e brutas 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 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 de IAM do projeto ou outro papel que permita gerenciar o acesso ao 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. Lá, 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 dela 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 da API do Looker na instância do Looker (Google Cloud Core).

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

No primeiro login, os usuários precisam fazer login com a Conta do Google. Eles precisam usar a mesma conta que o administrador do Looker listou no campo Adicionar principais 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 usar na recuperação de um token de acesso à API. Se a autorização desses usuários expirar ou for revogada, as credenciais da API 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 para API ajuda a evitar uma falha na autorização de credenciais para tokens de acesso à API.

Remover o acesso 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 a função 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 de 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

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

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

Depois que o método de backup é configurado, os usuários podem acessar 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, os usuários precisam aceitar a tela de permissão do OAuth configurada durante a criação da instância.

A seguir