Proteção de dados usando LBAC
O controle de acesso baseado em etiqueta (LBAC) pode ser usado para proteger linhas de dados, colunas de dados ou ambos. Os dados em uma tabela só podem ser protegidos por rótulos de segurança que fazem parte da política de segurança protegendo a tabela. A proteção de dados, incluindo inclusão de uma política de segurança, pode ser feita ao criar a tabela ou, posteriormente, alterando a tabela.
Você pode adicionar uma política de segurança a uma tabela e proteger dados nessa tabela como parte da mesma instrução CREATE TABLE ou ALTER TABLE.
Como regra geral você não tem permissão para proteger dados de tal forma que suas credenciais atuais do LBAC não permitem que você escreva para esses dados.
Como adicionar uma política de segurança a uma tabela
Você pode adicionar uma política de segurança a uma tabela quando você cria a tabela usando a cláusula SECURITY POLICY da instrução CREATE TABLE. Você pode adicionar uma política de segurança a uma tabela existente usando a cláusula ADD SECURITY POLICY da instrução ALTER TABLE. Você não precisa ter autoridade SECADM ou ter credenciais LBAC para adicionar uma política de segurança a uma tabela.
Adicionar uma política de segurança a uma tabela não ativa a proteção de linha ou coluna por si mesmo. Ele simplesmente associa uma política de segurança com a tabela que deve ser usada quando a proteção da linha ou da coluna é ativada. Consulte as seções Protegendo linhas e Protegendo colunas abaixo para obter mais informações sobre como ativar a proteção de linha e coluna. O valor da coluna PROTECTIONGRANULARITY no SYSCAT.TABLES a visualização de catálogo indica qual nível de proteção LBAC está atualmente ativo para uma tabela.
As políticas de segurança não podem ser adicionadas a tipos de tabelas que não podem ser protegidas pela LBAC. Veja a visão geral do LBAC para uma lista de tipos de tabela que não podem ser protegidos pela LBAC.
Não mais de uma política de segurança pode ser adicionada a qualquer tabela.
Protegendo as linhas
Você pode permitir linhas protegidas em uma nova tabela incluindo uma coluna com um tipo de dados de DB2SECURITYLABEL quando você cria a tabela. A instrução CREATE TABLE também deve adicionar uma política de segurança à tabela. Você não precisa ter autoridade SECADM ou ter quaisquer credenciais do LBAC para criar tal tabela.
Você pode permitir linhas protegidas em uma tabela existente adicionando uma coluna que tem um tipo de dado de DB2SECURITYLABEL. Para adicionar tal coluna, ou a tabela já deve estar protegida por uma política de segurança ou a instrução ALTER TABLE que adiciam a coluna deve adicionar também uma política de segurança à tabela. Quando a coluna é adicionada, a etiqueta de segurança que você segura para acesso a gravação é usada para proteger todas as linhas existentes. Se você não segurar uma etiqueta de segurança para acesso de gravação que faz parte da política de segurança protegendo a tabela então não é possível adicionar uma coluna que tenha um tipo de dado de DB2SECURITYLABEL.
Depois de uma tabela ter uma coluna do tipo DB2SECURITYLABEL você protege cada nova linha de dados armazenando um rótulo de segurança naquela coluna. Os detalhes de como isso funciona são descritos nos tópicos sobre inserção e atualização de dados protegidos do LBAC. Você deve ter credenciais LBAC para inserir linhas em uma tabela que tenha uma coluna do tipo DB2SECURITYLABEL.
Uma coluna que tem um tipo de dado de DB2SECURITYLABEL não pode ser eliminada e não pode ser alterada para nenhum outro tipo de dado.
Colunas de proteção
Você pode proteger uma coluna ao criar a tabela usando a opção de coluna SEGURA COM da instrução CREATE TABLE. Você pode adicionar proteção a uma coluna existente usando a opção GARANTIDOS COM em uma instrução ALTER TABLE.
Para proteger uma coluna com uma determinada etiqueta de segurança você deve ter credenciais LBAC que permitem gravar em dados protegidos por esse rótulo de segurança. Não é necessário ter a autoridade SECADM.
As colunas só podem ser protegidas por rótulos de segurança que fazem parte da política de segurança protegendo a tabela. Não é possível proteger colunas em uma tabela que não tem política de segurança. Você tem permissão para proteger uma tabela com uma política de segurança e proteger uma ou mais colunas na mesma instrução.
Você pode proteger qualquer número das colunas em uma tabela mas uma coluna pode ser protegida por não mais do que um rótulo de segurança.