Section Access (Seção de Acesso)

O QLIKVIEW possui um sistema de segurança o qual o desenvolvedor libera os acessos aos dados contidos em cada qvw. A configuração de segurança é feita no script de cada qvw criado.

Abaixo vocês podem ver a descrição de como utilizar Sessões de Acesso (Section Access) no QLIKVIEW.

A principio vou apresentar toda a descrição do Section Access e em um novo artigo iremos criar um script com Section Access.

Sessão de Acesso (Section Access)

O mecanismo de segurança do QlikView pode ser configurado de duas maneiras diferentes: ele pode ser criado no script do documento QlikView ou pode ser configurado com o QlikView Publisher. Caso o mecanismo de segurança seja criado no script do QlikView, observe as linhas a seguir.

Seções no Script

O controle de acesso é gerenciado por meio de uma ou várias tabelas de segurança carregadas da mesma forma que o QlikView normalmente carrega os dados. É possível, por essa razão, armazenar essas tabelas em uma base de dados normal. Os comandos de script que gerenciam as tabelas de segurança são fornecidos na seção de acesso, que é iniciada no script pelo comando section access.

Se uma seção de acesso estiver definida no script, a parte do script que carrega os dados “normais” deve ser colocada em uma seção diferente, iniciada pelo comando section application.

Níveis de Acesso na Seção de Acesso

O acesso a documentos QlikView pode ser autorizado para usuários ou grupos de usuários especificados. Na tabela de segurança, é possível atribuir níveis de acesso ADMIN ou USER aos usuários. Se nenhum nível de acesso for atribuído, o usuário não poderá abrir o documento QlikView.

Uma pessoa com acesso ADMIN pode alterar tudo no documento. Utilizando a página Segurança nas caixas de diálogo Propriedades do Documento e Propriedades da Pasta, uma pessoa com acesso ADMIN pode limitar as possibilidades dos usuários de modificar o documento. Uma pessoa com privilégios de USER não pode acessar as páginas de Segurança.

Campos do sistema de Seção de Acesso

Os níveis de acesso são atribuídos aos usuários em uma ou várias tabelas carregadas na seção de acesso. Essas tabelas contêm vários campos do sistema específicos do usuário, geralmente USERID e PASSWORD, e o campo que define o nível de acesso, ACCESS. Todos os campos do sistema de Seção de Acesso serão usados na autenticação ou autorização. O conjunto completo de campos do sistema de seção de acesso está descrito a seguir.

Nenhuma,  todas ou qualquer combinação de campos de segurança pode ser carregada na seção de acesso. Dessa forma, não é necessário usar USERID – a autorização pode ser feita usando outros campos, por exemplo, somente pelo número de série.

ACCESS Um campo que define o tipo de acesso que o usuário correspondente terá.
USERID Um campo que deve conter um ID de usuário aceito. O QlikView solicitará um ID de Usuário e o comparará com o valor desse campo. Esse ID de usuário não é o mesmo do Windows.
PASSWORD Um campo que deve conter uma senha aceita. O QlikView solicitará uma Senha e irá compará-la com o valor desse campo. Essa senha não é a mesma do Windows.
SERIAL Um campo que deve conter um número que corresponde ao número de série do QlikView.
Exemplo: 4900 2394 7113 7304
O QlikView verificará o número de série do usuário, comparando-o com o valor desse campo.
NTNAME Um campo que deve conter um caracter correspondente a um nome de usuário ou nome de grupo do Domínio do Windows NT.
O QlikView extrairá as informações de logon do sistema operacional e as comparará com o valor desse campo.
NTDOMAINSID Um campo que deve conter um caracter correspondente a uma SID de Domínio do Windows NT.
Exemplo: S-1-5-21-125976590-4672381061092489882
O QlikView extrairá as informações de logon do sistema operacional e as comparará com o valor desse campo.
NTSID Um campo que deve conter uma SID do Windows NT.
Exemplo: S-15-21-125976590-467238106-1092489882-1378
O QlikView extrairá as informações de logon do sistema operacional e as comparará com o valor desse campo.
OMIT Um campo que deve conter o campo que deve ser omitido para esse usuário específico. Os caracteres curinga podem ser usados e o campo pode ficar vazio. Uma forma fácil de fazer isto é usar um subcampo.

O QlikView comparará o número de série do QlikView com o campo SERIAL, o nome do usuário e grupos do Windows NT com NTNAME, a SID do Domínio do Windows NT com NTDOMAINSID e a SID do Windows NT com NTSID. Além disso, solicitará um ID de Usuário e Senha e os comparará com os campos USERID e PASSWORD.

Se a combinação encontrada de ID de usuário, senha e propriedades do ambiente também for encontrada na seção de acesso, o documento será aberto com o nível de acesso correspondente. Caso contrário, o QlikView negará ao usuário o acesso ao documento. Se a ID do Usuário e/ou a Senha não forem inseridas corretamente em três tentativas, o procedimento completo de logon deverá ser repetido.

Redução dinâmica de dados

O QlikView e o QlikView Server suportam um recurso pelo qual parte dos dados em um documento pode ser oculta do usuário, com base no login da seção de acesso.

Primeiramente, os campos (colunas) podem ser ocultos pelo uso do campo de sistema OMIT.

Em seguida, os registros (linhas) podem ser ocultos vinculando os dados da Seção de Acesso aos dados reais: A seleção de valores a serem mostrados/excluídos é controlada pela existência de um ou mais campos com nomes comuns em seção de acesso e seção de aplicativo. Após o login do usuário, o QlikView tentará copiar as seleções dos campos da seção de acesso em quaisquer campos da seção de aplicativo exatamente com os mesmos nomes de campo (os nomes de campo devem ser escritos em MAIÚSCULAS). Qualquer campo que contenha letras minúsculas na base de dados deve ser convertido para letras maiúsculas com a função upper antes de ser lido pelos comandos load ou select. Depois de feitas as seleções, o QlikView ocultará permanentemente do usuário todos os dados que foram excluídos por essas seleções.

Para que esse procedimento possa ser executado, a opção Redução Inicial de Dados baseada na Seção de Acesso na página Abrindo da caixa de diálogo Propriedades do Documento deve ser selecionada. Se esse recurso for usado nos documentos que serão distribuídos por outros meios, e não pelo QlikView Server, a opção Carga Binária Proibida da mesma página do diálogo Propriedades do Documento deverá ser selecionada para manter a proteção dos dados.

load * inline  
  [IDUsuário,DEPT,Access
  João,FINANÇAS,Admin
  ANN,IS,Admin
  Pedro,VENDAS,User
  Benedito,TÉCN,User ] ;
section application;  
star is * ;  
load * inline  
  [DEPT,CentroCusto
  FINANÇAS,*
  IS,5020
  VENDAS,5030
  TÉCN,5040 ] ;

O campo DEPT agora existe com o mesmo nome em MAIÚSCULAS nas seções de acesso e de aplicativo. Todos os valores de campo também estão em MAIÚSCULAS. Normalmente, os dois campos seriam totalmente diferentes e separados, mas se a opção Redução Inicial de Dados baseada na Seção de Acesso tiver sido marcada, o resultado será este:

  • João pode ver dados de todos os centros de custo
  • Ana pode ver somente dados do centro de custo 5020
  • Pedro pode ver somente dados do centro de custo 5030
  • Benedito pode ver somente dados do centro de custo 5040
fonte: Ajuda Qlikview