Todos os produtos
Search
Central de documentação

Data Management:Controle de acesso em nível de linha

Última atualização: Jun 27, 2026

O Data Management (DMS) oferece controle de acesso em nível de linha para todos os bancos de dados não NoSQL conectados. Esse recurso permite controlar quais linhas de dados os usuários podem acessar. Por exemplo, é possível restringir um gerente de vendas para que visualize apenas os dados da região sob sua responsabilidade.

Pré-requisitos

A instância deve estar no modo de controle Security Collaboration. Para mais informações, consulte Visualizar o modo de controle.

Informações de base

Na proteção de dados, existem duas abordagens principais: vertical e horizontal.

  • Proteção vertical de dados: implementada por meio da proteção de dados em nível de campo.

    Ao classificar campos com base nos níveis de sensibilidade, você pode aplicar mascaramento total ou parcial aos dados confidenciais. Para mais informações, consulte Gerenciar dados confidenciais.

    Por exemplo, um funcionário responsável por análises estatísticas não consegue visualizar endereços de e-mail de clientes em uma tabela de pedidos.

    纵向数据保护

  • Proteção horizontal de dados: implementada por meio do controle de acesso em nível de linha.

    As linhas são filtradas com base em um ou mais valores específicos (valores de controle), o que permite gerenciar o acesso aos dados em nível de linha.

    Por exemplo, um funcionário de uma empresa com várias filiais pode visualizar dados de pedidos apenas da loja atribuída a ele, e não de todas as localidades.

    hegnxaign

Limitações

  • Este recurso está disponível apenas para bancos de dados relacionais, como MySQL e PolarDB.

  • Funciona exclusivamente em instâncias configuradas no modo de controle Security Collaboration.

  • Há suporte apenas para bancos de dados físicos; bancos de dados lógicos ainda não são compatíveis.

  • Para usuários sem permissão de acesso a todas as linhas, aplicam-se as seguintes restrições às condições de filtro ao consultar, modificar ou excluir dados em uma tabela com controle de acesso em nível de linha:

    • É obrigatório especificar valores de filtro para o campo de controle, e esses valores devem constar na lista de valores de controle.

    • As condições de filtro possuem restrições. Por exemplo:

      • A cláusula WHERE aceita apenas os operadores = e in.

      • Operações lógicas como OR, XOR e NOT não têm suporte.

Conceitos principais

  • Tabela de controle, campo de controle e valor de controle

    • Tabela de controle: tabela na qual se deseja configurar o controle de acesso em nível de linha.

    • Campo de controle: campo da tabela de controle utilizado para aplicar o controle de acesso em nível de linha.

    • Valor de controle: um valor associado ao campo de controle.

  • Permissões em nível de linha: permissões que regulam o acesso aos dados em nível de linha com base nos valores do campo de controle.

    • Permissões de linha de valor único: controlam o acesso com base em um ou mais valores de controle específicos.

    • Permissões de todas as linhas: concedem acesso a todas as linhas da tabela de controle.

  • Grupo de controle: campos de controle que compartilham o mesmo conjunto de valores de controle podem ser adicionados a um grupo de controle.

    Por exemplo, se a Tabela A e a Tabela B exigirem controle de acesso em nível de linha baseado nos mesmos valores de controle, você pode usar um único grupo de controle para gerenciar ambas as tabelas.

Configurar o controle de acesso em nível de linha

Somente administradores, DBAs ou administradores de segurança podem executar esta tarefa. Para mais informações sobre funções de usuário, consulte Visualizar sua função no sistema.

  1. Faça login no DMS 5.0.

  2. Passe o ponteiro sobre o ícone 2023-01-28_15-57-17.png no canto superior esquerdo e escolha All Features > Security and disaster recovery (DBS) > Sensitive Data > Sensitive Data Assets.

    Nota

    Se estiver usando o console do DMS no modo normal, escolha Security and disaster recovery (DBS) > Sensitive Data > Sensitive Data Assets na barra de navegação superior.

  3. No canto superior direito da página, clique em Global Sensitive Data para abrir a página da lista de dados confidenciais.

  4. Clique na aba Row Control.

  5. Clique em Create Control Group e nomeie o grupo de controle.

  6. Adicione uma configuração de linha e clique em Add.

    1. Clique em Add Row Configuration.

    2. Pesquise e selecione o banco de dados desejado.

    3. Selecione a tabela alvo e o campo de controle.

    4. Opcional: Clique em Add Row Configuration para adicionar várias tabelas de controle que utilizam os mesmos valores de controle.

    Após configurar o controle de acesso em nível de linha, não será possível visualizar dados na tabela alvo pelo SQL Console até que as permissões necessárias sejam concedidas. Se você fizer uma consulta sem o filtro de linha obrigatório, o DMS interceptará a solicitação e retornará um erro. Por exemplo:SELECT * FROM test RLS Access Denied: [test]: You do not have permission for all rows in this table. The WHERE clause must include a filter condition [1] on the control field: name TraceId: 0a032a1516728214824878812ed7f0 SELECT * FROM test WHERE name = 'Xiaohong'; RLS Access Denied: [test]: Access to a table with row-level access control is involved. You do not have permission to access the row: name = Xiaohong. The control value 'Xiaohong' does not exist. To access this value, contact an administrator, DBA, or security administrator to add the value and then apply for the corresponding row-level permissions before retrying. TraceId: 0a032a1d16728216329266611e4b0d

  7. Opcional: Para conceder permissões para valores de linha específicos, defina esses valores primeiro.

    1. Na coluna Actions do grupo de controle desejado, clique em Details.

    2. No painel Control Value Details, clique em Add Row Value.

    3. Na caixa de diálogo Import Row Value, escolha se deseja anexar ou substituir os valores de linha existentes.

      • Yes: Anexa os novos valores de linha aos existentes.

      • No: Substitui todos os valores de linha existentes pelos novos.

    4. Insira o conteúdo para o valor da linha.

      Nota

      É possível adicionar vários valores de controle a um único valor de linha. Separe os valores de controle com vírgulas (,). Após a aprovação da sua solicitação, você obtém permissão para consultar todos os valores de controle dentro desse valor de linha.

      Por exemplo, se um funcionário tiver permissão para visualizar dados de clientes apenas de Pequim e Xangai, insira Beijing, Shanghai como conteúdo do valor da linha. Depois que a solicitação de permissão do funcionário para esse valor de linha for aprovada, ele poderá visualizar dados de clientes das regiões de Pequim e Xangai.

Solicitar permissões em nível de linha

  1. Faça login no DMS 5.0.

  2. Passe o ponteiro sobre o ícone 2023-01-28_15-57-17.png no canto superior esquerdo e escolha All Features > Security and disaster recovery (DBS) > Permission Center > Permission Tickets.

    Nota

    Se estiver usando o console do DMS no modo normal, escolha Security and disaster recovery (DBS) > Permission Center > Permission Tickets na barra de navegação superior.

  3. No canto superior direito da página, clique em Access apply > Row-Permission.

  4. Insira o nome do banco de dados.

    Nota

    Use o sinal de porcentagem (%) para realizar buscas aproximadas.

  5. Selecione o escopo das permissões em nível de linha.

    • Single: Solicite permissões para valores de linha individuais.

      Nota
      • Um valor de linha pode conter vários valores de controle. Se você tiver permissões para um valor de linha, poderá consultar, exportar ou modificar dados correspondentes a todos os valores de controle que ele contém.

      • Um valor de controle pode corresponder a várias linhas. Caso tenha permissões para um valor de controle, você poderá consultar, exportar ou modificar todas as linhas de dados correspondentes a esse valor.

    • All: Acesse todas as linhas da tabela de controle.

  6. Clique em Search.

  7. Selecione as permissões de nível de linha desejadas e clique no ícone 添加.

    Nota

    Um hífen (-) na coluna de valor de linha indica permissão para todas as linhas.

  8. Selecione um Permission type, escolha um validity period e insira um Reason para a solicitação.

  9. Clique em Submit.

    Após a aprovação do seu ticket, você poderá consultar, exportar ou modificar dados no SQL Console. Por exemplo, ao executar SELECT * FROM order1 WHERE region = 'Beijing'; no SQL Console, o sistema retorna apenas os dois registros da tabela order1 referentes a Zhangsan e Xiaoming, cuja região é Pequim. Isso confirma que o controle de acesso em nível de linha está funcionando corretamente.

    Nota

    Para revogar permissões em nível de linha:

    • Revogar suas próprias permissões: Acesse a seção Visualizar suas permissões para ver e revogar suas permissões. Para mais informações, consulte Visualizar suas permissões.

    • Revogação por administrador: Na página O&M > Users, localize o usuário desejado e escolha More > Permission Details na coluna Actions para visualizar e revogar as permissões do usuário.