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

O Google OAuth é usado com o Identity and Access Management (IAM) para autenticar usuários do Looker (núcleo do Google Cloud).

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. Como exemplo, esta página mostra as etapas para configurar a autenticação de uma instância do Looker (Google Cloud Core) usando o console do 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 padrão. O Google OAuth também é o método de autenticação usado pelo Atendimento ao cliente do Cloud.

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

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

Quando usadas com o OAuth, as funções 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 Google Cloud . Atribua um dos seguintes papéis do IAM a cada um dos seus membros, 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)

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

No primeiro login no Looker (Google Cloud Core), foi concedida a função padrão do Looker definida em Funções para novos usuários.

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

Visualizador do Looker (roles/looker.viewer) Fazer login em instâncias do Looker (Google Cloud Core) No primeiro login no Looker (Google Cloud Core), foi concedida a função padrão do Looker definida em Funções para novos usuários.

Consegue conferir a lista de instâncias do Looker (Google Cloud Core) e os detalhes das instâncias no console do Google Cloud
Administrador do Looker (roles/looker.admin) Fazer login em instâncias do Looker (Google Cloud Core) No primeiro login no Looker (Google Cloud Core), foi concedida a função padrão do Looker definida em Funções para novos usuários.

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

O papel Administrador via IAM contém todas as permissões e recursos do papel de 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, atribua novamente 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 (núcleo do Google Cloud), 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 e administrador via papel do Looker do IAM.

Enquanto o token de atualização do OAuth de um usuário for válido, a função dele vai aparecer como Administrador pelo IAM no Looker (Google Cloud core), mesmo que o 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 pelo 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 (núcleo do Google Cloud) nesse projeto. Esses usuários vão receber a função de Administrador.

Se os papéis predefinidos não fornecerem o conjunto de permissões que você quer, crie seus próprios papéis personalizados.

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

Papel de leitor de administrador e papel de leitor do IAM

Há duas funções em uma instância do Looker (núcleo do Google Cloud) 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 Administrador pelo papel do IAM Looker
Fonte confiável Concedido por outro administrador na instância do Looker (Google Cloud Core) Diretamente vinculado ao papel do IAM de administrador do Looker
Podem ser adicionados ou removidos em uma instância do Looker (Google Cloud Core)? Sim Não
Podem ser adicionados ou removidos 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 em cada chamada de API do 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 (núcleo do Google Cloud) em um Google Cloud projeto

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

Como 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 configurações do Google OAuth. 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 primeiro login do OAuth a uma conta de usuário existente. Quando um usuário faz login pela primeira vez usando o OAuth, 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 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 sistema para mesclagem neste campo. O Looker (núcleo do Google Cloud) vai procurar usuários dos sistemas listados na ordem em que os sistemas são especificados. Por exemplo, se você criou alguns usuários usando OIDC e depois usou SAML, quando um usuário tentar fazer login com OAuth pela primeira vez, o Looker (núcleo do Google Cloud) vai procurar o usuário usando OIDC e, se não encontrar uma correspondência, vai 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 (núcleo do Google Cloud) poderá criar grupos do Looker que refletem a associação aos seus Grupos do Google. Isso significa que você não precisa configurar usuários no Looker (núcleo do Google Cloud) diretamente, mas pode gerenciar o acesso do usuário gerenciando a associação aos Grupos do Google. Além disso, os grupos do Looker podem ser usados para atribuir funções aos membros do grupo, definir controles de acesso ao conteúdo, controlar o acesso a dados e recursos e atribuir atributos do usuário.

Os grupos espelhados do Looker (e todos os papéis e acessos associados) são aplicados aos novos usuários no primeiro login 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 (núcleo do Google Cloud) após o login inicial do usuário.

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 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 principal e secundário, ocorrerá o seguinte comportamento:

  • 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 Google Cloud que contém seu cliente OAuth. É necessário ter o papel do IAM de Administrador do uso de serviço (roles/serviceusage.serviceUsageAdmin) para ativar as APIs.

    Ativar a API

  2. No console do Google Cloud, atualize a tela de consentimento do cliente OAuth para adicionar o escopo https://www.googleapis.com/auth/cloud-identity.groups.readonly. É necessário 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 o 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 Espelhar grupos do Google na página Autenticação do Google. Essa opção fica desativada por padrão. Preencha os seguintes campos:

    • No campo Looker Group Name, adicione um nome para o grupo do Looker. Esse é o nome que vai aparecer na página Grupos do 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 Papel, insira os papéis do Looker que você quer atribuir aos membros desse grupo.

O Looker (núcleo do Google Cloud) vai criar um grupo de Looker para cada Grupo do Google adicionado à página Autenticação do Google. É possível conferir esses grupos no Looker na página Groups do Looker (núcleo do Google Cloud).

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 espelhada do grupo do Looker e validadas no momento do 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 Google Authentication, isso vai mudar a forma como o nome do grupo espelhado do Looker aparece na página Grupos do Looker (núcleo do Google Cloud), ou as funções atribuídas ao grupo, mas não vai mudar os participantes do grupo.

Se você mudar o nome ou o e-mail no campo ID do grupo do Google na página Autenticação do Google para um novo ID do grupo do Google, os membros do grupo espelhado do Looker serão substituídos pelos membros do novo grupo do Google, mas o nome e os papéis 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).

Como 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).

Quando a opção está desativada, os grupos espelhados do Looker que ainda contêm usuários continuam disponíveis para uso no Looker (Google Cloud Core) e podem ser usados no gerenciamento de conteúdo e na atribuição de papéis. No entanto, os usuários não podem ser adicionados ou removidos dos grupos espelhados do Looker quando a opção Espelhar grupos do Google está desativada. Todos os grupos espelhados do Looker que não contêm usuários serão excluídos.

Gerenciamento avançado de funções

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

Se você quiser que a configuração do grupo e do usuário do Looker corresponda exatamente à configuração dos Grupos do Google, ative todas as opções de Gerenciamento avançado de função. 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 pelos Grupos do Google.

Se você quiser ter 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 outros gerenciamentos 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 a instância do Looker (Google Cloud Core), essas opções estão 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 funções do Looker diretamente a usuários do Google. Os usuários do Google só recebem funções por meio de associações a grupos. Se os usuários do Google tiverem permissão para participar de grupos do Looker integrados (não espelhados), eles ainda poderão herdar as funções dos Grupos do Google espelhados e dos grupos do Looker integrados. Os papéis atribuídos diretamente aos usuários do Google serão removidos na próxima vez que eles fizerem 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 do grupo espelhado na página Autenticação do Google.

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

    Se essa opção for 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 do Looker integrados, os usuários do Google poderão manter a associação a qualquer grupo do Looker integrado. Os usuários do Google que já herdaram papéis de um grupo integrado do Looker vão perder esses papéis na próxima vez que fizerem 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 ele.

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

Definir um papel padrão do Looker

Se o botão Espelhar Grupos do Google estiver desativado, 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 de 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 o papel de administrador do IAM do Looker (roles/looker.admin) vão receber o papel de Administrador do Looker 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 pela 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 suas configurações. Os testes serão redirecionados para o servidor OAuth do Google e uma guia do navegador será aberta. 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. É necessário validar se o servidor retorna os resultados corretos.
  • Um trace 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 de servidor XML bruto.
  • Versões decodificadas e brutas do token de ID recebido. Eles podem ser usados para confirmar os detalhes do usuário e a configuração do Google.

Salvar e aplicar as configurações

Depois de inserir suas informações e todos os testes passarem, selecione a caixa de seleção Confirmei a configuração acima e quero ativar a aplicação globalmente e clique em Enviar para salvar.

Como 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 Google Cloud console em que a instância do Looker (núcleo do Google Cloud) está armazenada.

  3. Acesse 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 ao URL da instância. Depois disso, 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, o papel do usuário no Looker não será alterado.

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 para a API 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 vão precisar fazer login com a Conta do Google. Eles precisam 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 consentimento do OAuth que foi 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 vença ou seja revogada pelo usuário. Nesses casos, os usuários vão ver a tela de permissão OAuth novamente e vão precisar dar consentimento para a autorização.

Algumas credenciais de API podem ser atribuídas a alguns usuários para uso na recuperação de um token de acesso da 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 interface do Looker (Google Cloud Core) para cada instância do Looker (Google Cloud Core) afetada. Como alternativa, use contas de serviço somente para API para evitar falhas de autorização de credencial para tokens de acesso da API.

Como 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 (núcleo do Google Cloud) 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 poucos 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 reserva

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 o 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.

Depois que o método de backup é configurado, os usuários podem acessá-lo seguindo estas etapas:

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

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

A seguir