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 visualizar ou gerenciar uma pasta. Um usuário que pode acessar uma pasta pode navegar até ela e ver as listas de dashboards e Looks. Um usuário que pode gerenciar uma pasta consegue manipular o conteúdo dela (copiar, mover, excluir e renomear dashboards e Looks), organizar a pasta (renomear, mover ou excluir) e dar acesso a outros usuários e grupos. O acesso ao conteúdo é gerenciado por 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 usando conjuntos de modelos, que compõem metade de uma função do Looker. Esses papéis são aplicados a usuários e grupos. O acesso a 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 detalhadas, junções, visualizações ou campos específicos usando concessões de acesso.
  • O acesso a recursos, que controla os tipos de ações que um usuário pode realizar no Looker, incluindo visualizar dados e conteúdo salvo, mudar os modelos LookML, administrar o Looker e assim por diante. O acesso aos recursos é gerenciado por conjuntos de permissões, que constituem a outra metade de uma função do Looker. Algumas dessas permissões se aplicam a toda a instância do Looker, como a capacidade de ver todos os programações de envio de dados. A maioria das permissões é aplicada a conjuntos de modelos específicos, como a capacidade de ver painéis definidos pelo usuário com base nesses modelos.

O acesso a dados, recursos e conteúdo para usuários e grupos se combinam 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 trabalho de atribuir, ajustar e remover controles para usuários individualmente. Normalmente, a combinação de atividades para permitir um usuário pode ser organizada fazendo com que ele pertença a um ou mais grupos. Se nenhuma combinação de grupos for suficiente, crie um grupo com apenas um usuário, o que permite expandir esse grupo para mais pessoas no futuro. Para filtros de acesso, considere usar atributos do usuário, já que é possível atribuir atributos do usuário a grupos.

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

Com as pastas do Looker, você organiza conjuntos de dashboards e Looks. Elas também podem conter outras pastas, facilitando uma hierarquia aninhada de organização.

Com as pastas, é possível definir níveis de acesso que determinam quais usuários podem editar o conteúdo (como análises e painéis), visualizar o conteúdo e mudar as configurações:

  • Um usuário precisa ter pelo menos o nível de acesso Visualizar a uma pasta para saber que ela existe, ver os Looks e painéis dentro dela e copiar os Looks e painéis na pasta.

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

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

As instruções detalhadas para ajustar os níveis de acesso às pastas dos usuários que estão navegando pelo conteúdo no Looker estão na página de documentação Organizar e gerenciar o acesso ao conteúdo. Os administradores do Looker também podem ajustar os níveis de acesso à pasta 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 informações 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, a função atribuída a um usuário pode afetar se ele pode ver Looks e painéis listados em uma pasta, acessar um Look ou painel ou gerenciar uma pasta. A seção Como o acesso e as permissões de conteúdo interagem desta página descreve com mais detalhes como o acesso a recursos afeta o acesso ao conteúdo.

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 esse grupo a uma função. Um papel vincula um conjunto de permissões a um conjunto de modelos do LookML. Os próprios modelos definem quais campos e dados estão disponíveis.

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

Você também pode controlar o acesso a análises detalhadas, junções, visualizações ou campos específicos criando concessões de acesso. As concessões de acesso limitam o acesso apenas aos usuários que receberam valores específicos de atributo do usuário.

Se você quiser fazer isso ... Estas são as etapas básicas que você vai seguir:
Controlar as ações que um usuário pode realizar Crie um conjunto de permissões com as permissões adequadas e atribua um grupo ou usuário a uma função com esse conjunto de permissões.
Controlar quais campos um usuário pode acessar Crie um modelo com os campos adequados e atribua um grupo ou usuário a uma função com esse modelo.
Controlar quais dados um usuário pode acessar Crie um modelo com as limitações de dados adequadas e atribua um grupo ou usuário a uma função com esse modelo.

- ou -

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

- ou -

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

- ou -

Use atributos do usuário com concessões de acesso para restringir o acesso a determinadas análises detalhadas, junções, visualizações ou campos.
Controlar quais conexões de banco de dados um desenvolvedor do Looker pode acessar Crie um projeto com as conexões adequadas, associe-o a um conjunto de modelos e atribua um grupo ou usuário a uma função com esses modelos.

O acesso a recursos também pode afetar o acesso ao conteúdo. Consulte a seção Como o acesso e as permissões de conteúdo interagem desta página para mais detalhes sobre como o acesso a dados e recursos afeta 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 a função pode fazer. Um conjunto de modelos é composto por um ou mais modelos e define a quais modelos da LookML a função se aplica.

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

Algumas permissões são relevantes para toda a instância do Looker, enquanto outras se aplicam apenas aos modelos na mesma função. Consulte a página de documentação sobre 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 ao criar modelos. Um projeto pode conter um ou mais modelos e ser configurado para usar uma ou mais conexões.

Essa restrição definida por projetos também se estende ao SQL Runner do Looker, 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 do usuário, é possível atribuir valores arbitrários a grupos ou usuários individuais. Esses valores são usados como entradas em várias partes do Looker, personalizando as experiências de cada usuário.

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

Outra maneira de os atributos de usuário controlarem o acesso é como parte dos filtros de acesso. Com os filtros de acesso, é possível usar um ou mais atributos de usuário como filtro de dados. Por exemplo, você pode atribuir um nome de empresa a cada usuário e garantir que todo o conteúdo que ele vê seja filtrado por esse nome. Para 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 as concessões de acesso. Uma concessão de acesso especifica um atributo de usuário e define valores permitidos nesse atributo para conceder acesso a uma análise detalhada, junção, visualização ou campo. Em seguida, use o parâmetro required_access_grants no nível Análise, junção, visualização ou campo para restringir o acesso a essas estruturas da LookML apenas aos usuários que têm 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 têm 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 precisam de um conjunto de permissões, criando um grupo se necessário. Se quiser, você pode conceder permissões a usuários individuais.
  2. Crie um conjunto de permissões que contenha as permissões adequadas.
  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 o papel na página Papéis. Depois que a função existir, você também poderá atribuí-la 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 têm. Exemplo:

  • A função 1 permite ver painéis no modelo 1.
  • A função 2 permite ver painéis e explorar o Model2.

Se você atribuir as duas funções ao mesmo grupo de usuários, eles poderão ver painéis nos dois modelos, mas só poderão fazer análises detalhadas no Modelo2.

Controlar o acesso dos usuários aos campos do Looker

Os campos com que um usuário pode trabalhar são controlados pelos modelos a que ele tem acesso. Veja como um usuário pode ter acesso a campos:

  1. Crie um modelo do LookML (ou uma combinação de modelos) que contenha apenas os campos a que um usuário deve ter acesso.
  2. Acesse Administrador > Usuários > Funções.
  3. Na página Funções, crie um conjunto de modelos que contenha esses modelos e atribua a uma função.
  4. Para trabalhar com grupos de usuários, o que geralmente é considerado uma prática recomendada, crie um grupo na página Grupos do Looker. Em seguida, atribua esse grupo aos papéis adequados na página Papéis.
  5. Para trabalhar com usuários individuais, atribua funções a eles na página 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 de todas as funções que têm.

É importante observar que o parâmetro hidden para campos foi projetado para criar experiências mais limpas para os usuários, não para controlar o acesso aos campos. O parâmetro hidden oculta campos do seletor, mas não impede que um usuário use esse campo. Se alguém enviar um link que usa esse campo, ele vai aparecer. Outros lugares no Looker ainda vão mostrar o campo.

Controlar o acesso dos usuários aos dados

Há 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 a que eles podem acessar, conforme descrito na seção Controlar o acesso dos usuários aos campos do Looker. Enquanto um usuário não puder desenvolver nem usar o SQL Runner, ele ficará restrito aos campos a que tem acesso.
  • Para impedir que os usuários vejam determinadas linhas de dados, aplique 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 detalhadas, junções, visualizações ou campos específicos, crie concessões de acesso que restrinjam o acesso apenas aos usuários que têm os valores de atributo de usuário permitidos atribuídos, conforme descrito na página de documentação do parâmetro access_grant.
  • Para limitar os usuários do Looker à execução de consultas em um usuário de banco de dados específico, que sua equipe de banco de dados configurou para limitar o acesso aos dados, use atributos de usuário. Eles permitem parametrizar sua conexão de banco de dados para que um grupo de usuários ou usuários individuais executem consultas com credenciais específicas. Considere limitar os usuários aos campos adequados do Looker também. Caso contrário, o usuário do Looker poderá tentar consultar um campo a que o usuário do banco de dados não tem acesso e vai receber um erro.

Assim como o parâmetro de campo hidden não foi criado para controlar o acesso aos campos, o parâmetro hidden das análises não impede que todos os usuários vejam uma análise. O parâmetro hidden remove a Análise do menu "Analisar", mas se um usuário tiver salvo conteúdo que faz referência 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 usando o URL de incorporação assinada.

Controlar o acesso dos desenvolvedores às conexões de banco de dados

Ao contrário dos usuários comuns, os desenvolvedores do Looker não são totalmente restritos por modelos e filtros de acesso, porque podem fazer adições ou mudanças nos modelos da 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. Crie um projeto que restrinja um determinado número de modelos a um determinado número de conexões de banco de dados. Isso é feito na página Gerenciar projetos do Looker.
  2. Acesse Administrador > Usuários > Funções.
  3. Na página Funções, crie um conjunto de modelos que contenha pelo menos um dos modelos no projeto e atribua a uma função.
  4. Para trabalhar com grupos de usuários, o que geralmente é considerado uma prática recomendada, crie um grupo na página Grupos do Looker. Em seguida, atribua esse grupo aos papéis adequados na página Papéis.
  5. Para trabalhar com usuários individuais, atribua funções a eles na página Usuários ou Funções.

Se um desenvolvedor do Looker puder ver qualquer modelo que faça parte de um projeto, ele poderá ver todos os modelos que fazem parte desse projeto. Por exemplo, isso pode acontecer se você atribuir a um desenvolvedor do Looker uma função com apenas um modelo, mas esse modelo fizer parte de um projeto que contém outros modelos.

Como o acesso e as permissões de conteúdo 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. As funções atribuídas a um usuário determinam o acesso dele a recursos e dados. Isso afeta o que o usuário pode fazer em uma pasta e se ele pode ver Looks e painéis.

Como visualizar dados em Looks e dashboards

Para acessar os dados de um Look ou painel, o usuário precisa ter pelo menos acesso de Visualização à pasta em que o conteúdo está armazenado.

Os usuários precisam ter as permissões access_data e see_looks para selecionar uma análise e ver os dados dela. Os usuários precisam ter as permissões access_data e see_user_dashboards para selecionar um painel e ver os dados dele.

Para ver os dados em um Look ou bloco do painel, o usuário precisa ter acesso a eles. Sem o acesso necessário aos dados:

  • Mesmo que o usuário possa ver um Look listado em uma pasta e navegar até ele, a consulta do Look não é executada, e o usuário não pode ver os dados dele.
  • Mesmo que o usuário possa ver um painel listado em uma pasta e navegar até ele, todos os blocos a que ele não tem acesso aparecem em branco. Se um painel tiver blocos criados com base em vários modelos, o usuário poderá ver os blocos associados aos modelos a que tem acesso, e os blocos de outros modelos vão mostrar um erro.

Por exemplo, um usuário com acesso de Visualização a uma pasta, acesso aos dados de todos os Looks na pasta e permissões access_data e see_looks pode ver uma lista de todos os Looks na pasta e também acessar esses Looks. Se esse usuário não tiver acesso para ver LookML ou dashboards definidos pelo usuário, ele não verá nenhum dashboard que possa 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 Visualizar para ver uma 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 ver 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 na pasta. No entanto, isso não significa que eles podem ver os dados dos Looks ou painéis.

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

Os usuários com a permissão access_data, mas sem see_looks ou see_user_dashboards, não podem ver pastas nem conteúdo.

Como modificar uma pasta

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

Usar sua infraestrutura de permissões de usuário (LDAP, SAML e OpenID Connect)

Se você já tiver uma infraestrutura LDAP, SAML ou OpenID configurada, use esse sistema para gerenciar os logins dos usuários. As instruções para configurar o LDAP estão na página Autenticação LDAP. As instruções para configurar o SAML estão na página de documentação Autenticação SAML. As instruções para configurar o OpenID Connect estão na página de documentação Autenticação do OpenID Connect.

Se você configurou grupos na sua implementação de LDAP, SAML ou OpenID Connect, também pode usar esses grupos no Looker. No entanto, há algumas coisas a serem consideradas:

  • Todos os grupos criados são transferidos automaticamente para o Looker e ficam visíveis na página Grupos. Um grupo do Looker será criado para cada grupo do LDAP, SAML ou OpenID Connect, e o nome do grupo do Looker vai espelhar o nome do grupo do LDAP, SAML ou OpenID Connect.
  • Você poderá usar esses grupos do Looker para atribuir níveis de acesso a pastas e atributos do usuário aos membros dos grupos.
  • Não é possível usar grupos do Looker para configurar funções como 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á mudar as funções atribuídas nas páginas de configuração do LDAP, SAML ou OpenID Connect. Exigimos essa abordagem para que seus grupos LDAP, SAML ou OpenID Connect permaneçam sua única fonte de verdade. Sem essa restrição, o mapeamento de grupo para função pode divergir da função pretendida no esquema LDAP, SAML ou OpenID Connect.

Você também pode usar o LDAP para aplicar conexões de banco de dados específicas do usuário a consultas do Looker, conforme descrito na página de documentação Autenticação LDAP.