Controle de acesso e gerenciamento de permissões

Os administradores do Looker podem gerenciar o que um usuário ou grupo de usuários pode ver e fazer no Looker especificando o seguinte acesso:

  • Acesso ao conteúdo, que controla se um usuário ou grupo de usuários pode ver ou gerenciar uma pasta. Um usuário com acesso a uma pasta pode acessar a pasta e conferir as listas de dashboards e Looks nela. Um usuário que pode gerenciar uma pasta pode manipular o conteúdo de uma pasta (copiar, mover, excluir e renomear dashboards e Looks), organizar a pasta (renomear, mover ou excluir a pasta) e conceder a outros usuários e grupos acesso a ela. O acesso ao conteúdo é gerenciado pelos administradores do Looker no painel Administrador ou, se permitido, por usuários individuais na pasta.
  • Acesso a dados, que controla quais dados um usuário pode ver. O acesso aos dados é gerenciado principalmente pelos conjuntos de modelos, que compõem metade do papel do Looker. Esses papéis são aplicados a usuários e grupos. O acesso aos dados pode ser ainda mais restrito em um modelo usando filtros de acesso para limitar as linhas de dados que podem ser vistas, como se houvesse um filtro automático nas consultas. Também é possível restringir o acesso a Análises, mesclas, visualizações ou campos específicos usando concessões de acesso.
  • Acesso aos recursos, que controla os tipos de ações que um usuário pode realizar no Looker, incluindo visualizar dados e conteúdo salvo, alterar os modelos do LookML, administrar o Looker e assim por diante. O acesso aos recursos é gerenciado por Conjuntos de permissões, que compõem a outra metade de um papel do Looker. Algumas dessas permissões se aplicam a toda a instância do Looker, como a possibilidade de ver todas as programações de envio de dados. A maioria das permissões é aplicada a conjuntos de modelos específicos, como a capacidade de acessar painéis definidos pelo usuário com base nesses modelos.

Os acessos aos dados, aos recursos e ao conteúdo de usuários e grupos são combinados para especificar o que os usuários podem fazer e ver no Looker.

Usuários e grupos

No Looker, há usuários individuais e grupos de usuários. Os usuários são gerenciados na página Usuários do painel Administrador do Looker, enquanto os grupos são gerenciados na página Grupos do painel Administrador do Looker.

A prática recomendada é usar grupos para evitar o tédio de atribuir, ajustar e remover controles para cada usuário. Normalmente, a combinação de atividades permitida para um usuário pode ser organizada fazendo com que o usuário pertença a um ou mais grupos. Se nenhuma combinação de grupos for suficiente, considere criar um grupo com apenas um usuário, o que permite expandir esse grupo para mais pessoas no futuro. Em filtros de acesso, use os atributos de usuário, já que é possível atribuir atributos a grupos.

Como controlar o acesso ao conteúdo do usuário

As pastas do Looker permitem organizar conjuntos de dashboards e Looks. Eles também podem conter outras pastas, facilitando uma hierarquia aninhada de organização.

As pastas permitem definir níveis de acesso que determinam quais usuários podem editar o conteúdo da pasta (como Looks e dashboards), visualizar o conteúdo em uma pasta e alterar configurações:

  • Um usuário precisa ter pelo menos o nível de acesso View em uma pasta para conferir se ela existe, acessar os Looks e os dashboards dentro dela e copiar os Looks e os dashboards na pasta.

  • Um usuário precisa ter o nível de acesso Gerenciar acesso, editar para gerenciar o acesso de uma pasta e editar a pasta e o conteúdo dela, incluindo renomear pastas, mover conteúdo e excluir Looks e dashboards.

As pastas não controlam o que os usuários podem fazer na plataforma Looker nem quais dados eles podem usar para criar o próprio conteúdo. Para gerenciar esse nível de acesso, consulte a seção Como controlar recursos e acesso a dados nesta página.

As instruções detalhadas para ajustar os níveis de acesso a pastas para usuários que pesquisam conteúdo no Looker são discutidas na página de documentação Como organizar e gerenciar o acesso ao conteúdo. Os administradores do Looker também podem ajustar os níveis de acesso a pastas para todos os grupos e usuários na página Acesso ao conteúdo do Looker. Consulte também a página de documentação Como projetar e configurar um sistema de níveis de acesso para saber mais sobre o design de níveis de acesso em toda a instância.

Embora o acesso ao conteúdo seja gerenciado separadamente do acesso aos recursos, o papel atribuído a um usuário pode afetar a visualização de Looks e dashboards listados em uma pasta, além de visualizar um Look ou dashboard ou gerenciar uma pasta. A seção Como o acesso ao conteúdo e as permissões interagem desta página descreve em mais detalhes como o acesso aos recursos afeta o acesso ao conteúdo.

Como controlar o acesso a recursos e dados

Para controlar o acesso a recursos e dados no Looker, geralmente você cria um grupo de usuários (opcional, mas recomendado) e atribui um papel a ele. Um papel vincula um conjunto de permissões a um conjunto de modelos LookML. Os próprios modelos definem quais campos e dados estão disponíveis.

É possível aplicar limites de dados específicos a determinados usuários com filtros de acesso. Além disso, os desenvolvedores do Looker podem trabalhar com modelos baseados em bancos de dados específicos usando projetos.

Para controlar o acesso a Explores, junções, visualizações ou campos específicos, crie concessão de acesso. As concessões de acesso limitam o acesso somente a usuários com valores específicos de atributo do usuário atribuídos.

Se você quer conseguir isso ... Estas são as etapas básicas que você deverá seguir ...
Controlar as ações que um usuário pode realizar Criar um conjunto de permissões com as permissões apropriadas e atribuir a um grupo ou usuário um papel com esse conjunto de permissões
Controlar quais campos um usuário pode acessar Crie um modelo com os campos apropriados e atribua um grupo ou usuário a uma função com esse modelo
Controlar quais dados um usuário pode acessar Criar um modelo com as limitações de dados apropriadas e atribuir um grupo ou usuário a uma função com esse modelo

- ou -

Use filtros de acesso para limitar um usuário aos dados apropriados.

- ou -

Use atributos de usuário para fornecer credenciais de banco de dados diferentes para um grupo ou usuário

- ou -

Use atributos de usuário com concessão de acesso para restringir o acesso a Explores, JOINs, visualizações ou campos específicos
Controle quais conexões de banco de dados um desenvolvedor do Looker pode acessar Criar um projeto com as conexões adequadas, associar o projeto a um conjunto de modelos e atribuir a um grupo ou usuário um papel com esses modelos

O acesso aos recursos também pode afetar o acesso ao conteúdo. Consulte a seção Como o acesso ao conteúdo e as permissões interagem desta página para mais detalhes sobre como o acesso a dados e o acesso a recursos afetam o acesso ao conteúdo.

Elementos básicos que você precisa entender

Papéis

Um papel é uma combinação de um conjunto de permissões e um conjunto de modelos. Um conjunto de permissões é composto por uma ou mais permissões e define o que o papel pode fazer. Um conjunto de modelos é composto por um ou mais modelos e define a quais modelos LookML o papel se aplica.

Depois de criar uma função, você pode atribuir a ela um usuário específico ou um grupo de usuários. Se você adicionar algumas funções a um usuário individual e outras funções a um grupo a que o usuário pertence, o usuário herdará todas essas funções.

Algumas permissões são relevantes para toda a instância do Looker, outras se aplicam apenas aos modelos da mesma função. Consulte a página da documentação Papéis para mais informações.

Projetos

Com os projetos, é possível restringir quais conexões de banco de dados podem ser usadas por quais modelos. Isso ajuda a controlar com quais conjuntos de dados os desenvolvedores do Looker podem interagir quando criam modelos. Um projeto pode conter um ou mais modelos e pode ser configurado para usar uma ou mais conexões.

Essa restrição definida pelos projetos também passa para o Looker SQL Runner, o que garante que os desenvolvedores não tenham acesso a conexões de banco de dados proibidas usando o SQL Runner.

Atributos do usuário

Com os atributos de usuário, você pode atribuir valores arbitrários a grupos de usuários ou usuários individuais. Esses valores são usados como entradas para várias partes do Looker, personalizando as experiências de cada usuário.

Uma maneira de os atributos do usuário controlarem o acesso é parametrizar as credenciais do banco de dados para serem específicas a cada usuário. Isso só tem valor se o banco de dados tiver vários usuários com acesso variado aos dados. Consulte a página da documentação Atributos do usuário para mais informações.

Os atributos do usuário também controlam o acesso usando os filtros de acesso. Com os filtros de acesso, é possível utilizar um ou mais atributos do usuário como filtro de dados. Por exemplo, você pode atribuir um nome de empresa a cada usuário e verificar se o conteúdo exibido é filtrado por esse nome. Para conferir uma descrição de como aplicar filtros de acesso, consulte a página de documentação Atributos do usuário e a página de documentação do parâmetro access_filter.

Os atributos do usuário também controlam concessões de acesso. Uma concessão de acesso especifica um atributo do usuário e define os valores permitidos nele para conceder acesso a um Explore, Mescle, Visualização ou campo. Em seguida, use o parâmetro required_access_grants no nível Explore, join, view ou campo para restringir o acesso a essas estruturas do LookML apenas aos usuários que tenham os valores de atributo de usuário permitidos. Por exemplo, é possível usar uma concessão de acesso para limitar o acesso à dimensão salary apenas aos usuários que tenham o valor payroll no atributo de usuário department. Para uma descrição de como definir concessões de acesso, consulte a página de documentação do parâmetro access_grant.

Como usar os elementos básicos

Controlar o acesso a recursos

As permissões controlam os tipos de atividades que um usuário ou grupo pode realizar. Veja como um usuário pode receber permissões:

  1. A prática recomendada é identificar um ou mais grupos de usuários que devem ter um conjunto de permissões e criar um grupo, se necessário. Você pode dar permissões a usuários específicos, se quiser.
  2. Crie um conjunto de permissões que contenha as permissões apropriadas.
  3. Se algumas das permissões a serem atribuídas forem específicas do modelo, crie ou identifique um conjunto de modelos.
  4. Crie um papel que combine o conjunto de permissões e, se necessário, o conjunto de modelos.
  5. Atribua a função na página Funções. Depois de criada, a função também pode ser atribuída a um usuário na página Usuários.

É possível atribuir várias funções a um usuário ou grupo. Nesse caso, os usuários terão todas as permissões de todos os papéis que eles tiverem. Exemplo:

  • O Role1 permite ver painéis do Modelo1.
  • O Role2 permite ver painéis e explorar o Model2.

Se você atribuir os dois papéis ao mesmo grupo de usuários, eles poderão ver os painéis no Modelo1 e no Modelo2, mas só poderão explorar o Modelo2.

Controlar o acesso do usuário aos campos do Looker

Os campos com que um usuário pode trabalhar são controlados pelos modelos que ele pode acessar. Confira como um usuário pode ter acesso ao campo:

  1. Crie um modelo LookML (ou combinação de modelos LookML) contendo apenas os campos a que um usuário deve ter acesso.
  2. Crie um conjunto de modelos que contenha esses modelos e atribua um papel a ele. Isso é feito na página Papéis do Looker.
  3. Para trabalhar com grupos de usuários, que geralmente é nossa sugestão, crie um grupo na página Grupos do Looker. Em seguida, atribua esse grupo às funções apropriadas na página Funções.
  4. Para trabalhar com usuários individuais, atribua funções a eles nas páginas Usuários ou Funções.

É possível atribuir várias funções a um usuário ou grupo. Assim, os usuários podem trabalhar com todos os modelos, independentemente das funções que tiverem.

O parâmetro hidden para campos foi desenvolvido para criar experiências mais claras para os usuários, não para controlar o acesso a eles. O parâmetro hidden oculta campos do seletor de campo, mas não impede que um usuário utilize esse campo. Se alguém enviar a eles um link que usa esse campo, será possível acessá-lo, e o campo ainda será exibido em outros lugares no Looker.

Controlar o acesso dos usuários aos dados

Existem várias maneiras de controlar o acesso de um usuário aos dados, dependendo do caso de uso:

  • Para impedir que os usuários vejam determinadas colunas de dados, controle os campos que eles podem acessar, conforme descrito acima. Enquanto o usuário não puder desenvolver nem usar o SQL Runner, ele ficará limitado pelos campos a que tem acesso.
  • Para impedir que os usuários vejam determinadas linhas de dados, aplique os campos de filtro de acesso, conforme descrito na página de documentação do parâmetro access_filter.
  • Para limitar o acesso a Análises, junções, visualizações ou campos específicos, crie concessões que limitam o acesso apenas aos usuários com os valores de atributo de usuário permitidos, conforme descrito na página de documentação do parâmetro access_grant.
  • Para limitar o acesso dos usuários do Looker aos dados de um usuário específico do banco de dados que foi configurado pela sua equipe para limitar o acesso aos dados, use atributos de usuário. Eles permitem parametrizar a conexão do banco de dados para que um grupo de usuários ou usuários individuais executem consultas com credenciais específicas do banco de dados. Considere também limitar os usuários aos campos adequados do Looker. Caso contrário, o usuário do Looker vai tentar consultar um campo a que o usuário do banco de dados não tem acesso, e vai ocorrer um erro.

Assim como o parâmetro de campo hidden não é destinado a controlar o acesso a eles, o parâmetro hidden para Análises não impede que todos os usuários acessem uma Análise. O parâmetro hidden remove a opção "Explorar" do menu. No entanto, se um usuário tiver salvo conteúdo que se refere a uma Análise oculta, ele ainda terá acesso aos dados dela.

Se você estiver usando a incorporação assinada, configure os controles de acesso a dados por meio do URL de incorporação assinada.

Controlar o acesso do desenvolvedor às conexões de banco de dados

Ao contrário dos usuários normais, os desenvolvedores do Looker não são totalmente limitados por modelos e filtros de acesso, porque podem simplesmente fazer adições ou alterações nos modelos LookML. No entanto, os administradores ainda podem limitar os desenvolvedores do Looker a determinadas conexões de banco de dados usando projetos. Para fazer isso, siga estas etapas:

  1. Criar um projeto que restrinja um certo número de modelos a um certo número de conexões de banco de dados. Isso é feito na página Gerenciar projetos do Looker.
  2. Crie um conjunto de modelos que contenha pelo menos um dos modelos no projeto e atribua-o a um papel. Isso é feito na página Papéis do Looker.
  3. Para trabalhar com grupos de usuários, que geralmente é nossa sugestão, crie um grupo na página Grupos do Looker. Em seguida, atribua esse grupo às funções apropriadas na página Funções.
  4. Para trabalhar com usuários individuais, atribua funções a eles nas páginas Usuários ou Funções.

Se um desenvolvedor do Looker tiver acesso a qualquer modelo que faça parte de um projeto, ele poderá conferir todos os modelos que fazem parte do projeto. Por exemplo, isso pode acontecer quando você atribui um papel com apenas um modelo a um desenvolvedor do Looker, mas esse modelo faz parte de um projeto com outros modelos.

Como o acesso ao conteúdo e as permissões interagem

O acesso ao conteúdo é gerenciado pelos usuários quando eles visualizam uma pasta ou por um administrador do Looker na página Acesso ao conteúdo do painel Administrador. Os papéis atribuídos a um usuário determinam o acesso aos recursos e aos dados dele. Isso afeta o que o usuário pode fazer em uma pasta e a capacidade de visualizar Looks e dashboards.

Como visualizar dados em Looks e dashboards

Para conferir os dados de um Look ou dashboard, o usuário precisa ter pelo menos acesso de visualização à pasta onde o conteúdo está armazenado.

Os usuários precisam ter as permissões access_data e see_looks para selecionar um Look e visualizar os dados. Os usuários precisam ter as permissões access_data e see_user_dashboards para selecionar um painel e visualizar os dados dele.

Para conferir os dados em um bloco de Look ou dashboard, o usuário precisa ter acesso a esses dados. Sem o acesso necessário aos dados:

  • Mesmo que o usuário possa acessar um Look listado em uma pasta e navegar até ele, a consulta do Look não será executada e o usuário não poderá ver os dados dele.
  • Mesmo que o usuário possa ver um painel listado em uma pasta e navegar até o painel, qualquer bloco ao qual o usuário não tiver acesso será exibido como em branco. Se um dashboard tiver blocos criados usando vários modelos, o usuário poderá ver os blocos associados aos modelos a que ele tem acesso, e os blocos de outros modelos exibirão um erro.

Por exemplo, um usuário que tem acesso de Visualização em uma pasta, acesso a dados aos dados em todos os Looks na pasta e permissões access_data e see_looks podem ver uma lista de todos os Looks na pasta e também visualizar esses Looks. Se esse usuário não tiver acesso ao LookML ou aos dashboards definidos pelo usuário, ele não verá painéis que possam existir na pasta.

Como visualizar uma pasta e listas de Looks e dashboards

Um usuário precisa ter pelo menos o nível de acesso Visualização em uma pasta para conferir a pasta e a lista de conteúdo armazenado nela.

Os usuários que também têm pelo menos a permissão see_looks podem conferir os títulos dos Looks na pasta. Os usuários que também têm pelo menos a permissão see_user_dashboards podem ver os títulos dos painéis da pasta. No entanto, isso não significa que eles podem acessar os dados dos Looks ou dashboards.

Por exemplo, um usuário que tem a permissão see_looks, mas não tem a permissão access_data, pode acessar os títulos dos Looks, mas não os dados deles.

Os usuários que têm a permissão access_data, mas não see_looks nem see_user_dashboards, não têm acesso às pastas nem ao conteúdo.

Como modificar uma pasta

Um usuário precisa ter o nível de acesso Gerenciar acesso, editar para que uma pasta possa organizá-la, incluindo copiar e mover conteúdo, renomear e mover pastas e ações similares. Os usuários também precisam ter a permissão manage_spaces para criar, editar, mover e excluir pastas.

Uso da infraestrutura de permissões do usuário (LDAP, SAML e OpenID Connect)

Se você já tiver uma configuração de infraestrutura LDAP, SAML ou OpenID, poderá usar esse sistema para gerenciar logins de usuários. As instruções para configurar o LDAP podem ser encontradas na página Autenticação LDAP. As instruções para configurar o SAML podem ser encontradas na página de documentação Autenticação SAML. As instruções para configurar o OpenID Connect podem ser encontradas na página de documentação da autenticação do OpenID Connect.

Se você tiver configurado grupos na implementação de LDAP, SAML ou OpenID Connect, também poderá usar esses grupos no Looker. No entanto, alguns pontos a serem considerados:

  • Todos os grupos que você criou são transferidos automaticamente para o Looker e ficam visíveis na página Grupos. Um grupo do Looker será criado para cada grupo LDAP, SAML ou OpenID Connect, e o nome do grupo do Looker será igual ao nome do grupo LDAP, SAML ou OpenID Connect.
  • Você poderá usar esses grupos do Looker para atribuir níveis de acesso a pastas e atributos de usuário a membros deles.
  • Não é possível usar grupos do Looker para configurar papéis, como você faria com um grupo criado manualmente. Em vez disso, você vai mapear seus grupos LDAP, SAML ou OpenID Connect para funções do Looker durante o processo de configuração e só poderá alterar as funções atribuídas nas páginas de configuração LDAP, SAML ou OpenID Connect. Exigimos essa abordagem para que seus grupos LDAP, SAML ou OpenID Connect continuem sendo sua única fonte de verdade. Sem essa restrição, o mapeamento de grupo para função pode divergir da função pretendida no esquema de LDAP, SAML ou OpenID Connect.

Também é possível usar o LDAP para aplicar conexões de banco de dados específicas do usuário às consultas do Looker, conforme descrito na página de documentação Autenticação LDAP.