O Data Management (DMS) oferece controle granular de permissões para bancos de dados MySQL e permite gerenciar acessos nos níveis de banco de dados, tabela, campo e visualize. Este tópico descreve como criar contas de banco de dados, atribuir permissões e gerenciar contas existentes.
Pré-requisitos
Antes de começar, verifique se você tem:
Um banco de dados compatível com MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, AnalyticDB for MySQL, banco de dados MySQL autogerenciado, banco de dados MariaDB nativo ou ApsaraDB for MariaDB
Uma função de sistema no DMS: administrador do DMS, administrador de banco de dados (DBA) ou usuário comum (como proprietário da instância)
Visão geral
Os consoles do RDS e do PolarDB permitem atribuir permissões amplas a bancos de dados MySQL, como acesso somente leitura, leitura e escrita ou execução de instruções DML e DDL. Para um controle mais flexível e granular, use o recurso de gerenciamento de contas do DMS.
Com o gerenciamento de contas do DMS, você pode:
Conceder permissões globais a um usuário para executar instruções
SELECTeUPDATEem todos os bancos de dados de uma instânciaConceder permissões de
SELECTem uma tabela específica ou deUPDATEem um campo específico
As permissões globais aplicam-se a todos os bancos de dados de uma instância. As permissões granulares podem ser aplicadas a bancos de dados específicos ou a todos os bancos de dados da instância.
Para obter a lista completa de permissões suportadas, consulte Permissões globais suportadas e Permissões granulares suportadas.
Criar uma conta de banco de dados
Faça logon no console do DMS V5.0.console do DMS V5.0
-
No painel de navegação à esquerda, clique com o botão direito na instância que deseja gerenciar e selecione Account Management.
No modo simples, clique em Database instances no painel de navegação à esquerda. Na lista de instâncias, clique com o botão direito na instância desejada e selecione Account Management .
Na página Account Management, clique em Create User no canto superior esquerdo.
-
Na caixa de diálogo Create User, configure a aba Basic settings: o DMS gera e executa automaticamente o comando
CREATE USER 'Username'@'Hostname' IDENTIFIED BY 'Password';para cada banco de dados na instância. Para definir limites de recursos para a conta, clique em Advanced Options. O DMS gera e executa a seguinte instrução com base nas suas configurações:Parâmetro
Descrição
User name
Nome usado para fazer logon no banco de dados.
Host
Restringe o endereço IP de origem da conexão da conta. Insira
%para permitir conexões de qualquer endereço IP (todos os clientes). Insira um IP ou sub-rede específica (por exemplo,10.5.10.%) para restringir o acesso. O valor padrão é%.Password
Senha para logon nos bancos de dados desta instância.
Confirm Password
Digite a senha novamente para confirmar.
GRANT USAGE ON *.* TO 'Username'@'Hostname' WITH MAX_QUERIES_PER_HOUR 100 MAX_UPDATES_PER_HOUR 200 MAX_CONNECTIONS_PER_HOUR 300 MAX_USER_CONNECTIONS 400;

-
Clique na aba Global permissions e selecione as permissões a conceder.
As Global permissions aplicam-se a todos os bancos de dados da instância. Se uma permissão estiver ausente, a instância não a suporta ou sua conta não tem autorização para concedê-la. Se você estiver usando uma conta padrão, faça logon com uma conta privilegiada e tente novamente.

-
Clique na aba Object permissions para atribuir permissões granulares a bancos de dados, tabelas ou campos específicos. Por exemplo, para permitir que a conta consulte e insira dados em
rds_dbe exclua dados derds_db.rds_table, o DMS gera e executa:Object permissions (permissões granulares) aplicam-se a objetos específicos dentro de uma instância. Para a maioria das contas, conceda permissões no nível de objeto em vez de permissões globais para seguir o princípio do menor privilégio.
GRANT SELECT,INSERT ON `rds_db`.* TO 'Username'@'Hostname'; GRANT DELETE ON `rds_db`.`rds_table` TO 'Username'@'Hostname';
Clique em Confirm.
-
Na mensagem Preview SQL Statement, revise o SQL gerado e clique em Confirm.
Se a instância for gerenciada no modo Security Collaboration, as instruções SQL poderão ser bloqueadas por regras de segurança. Siga as instruções na tela ou entre em contato com um DBA ou administrador do DMS. Para modificar regras de segurança, consulte Perguntas frequentes .
Editar ou excluir uma conta de banco de dados
Você pode modificar o username, a password, as global permissions e as fine-grained permissions de qualquer conta que tenha autorização para gerenciar. Também é possível revogar permissões ou excluir contas.
Faça logon no console do DMS V5.0.
-
No painel de navegação à esquerda, clique com o botão direito na instância que deseja gerenciar e selecione Account Management.
No modo simples, clique em Database instances no painel de navegação à esquerda. Na lista de instâncias, clique com o botão direito na instância desejada e selecione Account Management .
-
Na página Account Management, localize a conta:
Clique em Edit na coluna Operation para modificar a conta.
Clique em Delete na coluna Operation para excluir a conta.
Permissões globais suportadas
As permissões globais aplicam-se a todos os bancos de dados de uma instância.
|
Permissão |
Objeto |
Descrição |
|
CREATE |
Bancos de dados, tabelas ou índices |
Cria um banco de dados, tabela ou índice. |
|
DROP |
Bancos de dados, tabelas ou views |
Exclui um banco de dados, tabela ou view. |
|
GRANT OPTION |
Bancos de dados, tabelas ou procedimentos armazenados |
Concede ou revoga permissões para outras contas. |
|
REFERENCES |
Bancos de dados, tabelas ou campos |
Cria uma chave estrangeira que referencia um banco de dados, tabela ou campo. |
|
LOCK TABLES |
Bancos de dados |
Bloqueia tabelas em um banco de dados. |
|
EVENT |
Bancos de dados |
Consulta, cria, modifica ou exclui um evento em um banco de dados. |
|
ALTER |
Tabelas ou views |
Modifica uma tabela ou view (por exemplo, adiciona um campo, cria um índice ou modifica um campo). |
|
DELETE |
Tabelas |
Exclui dados de uma tabela. |
|
INDEX |
Tabelas |
Cria ou exclui índices para uma tabela. |
|
INSERT |
Tabelas ou campos |
Insere dados em uma tabela ou campo. |
|
SELECT |
Tabelas ou campos |
Consulta dados em uma tabela ou campo. |
|
UPDATE |
Tabelas ou campos |
Atualiza dados em uma tabela ou campo. |
|
CREATE VIEW |
Views |
Cria uma view. |
|
SHOW VIEW |
Views |
Verifica uma view. |
|
TRIGGER |
Triggers |
Cria, exclui, executa ou exibe um trigger. |
|
ALTER ROUTINE |
Procedimentos armazenados |
Modifica um procedimento armazenado. |
|
CREATE ROUTINE |
Procedimentos armazenados |
Cria um procedimento armazenado. |
|
EXECUTE |
Procedimentos armazenados |
Executa um procedimento armazenado. |
|
FILE |
Acesso a arquivos em um host de servidor |
Acessa arquivos em um host de servidor. |
|
CREATE TEMPORARY TABLES |
Administração do servidor |
Cria uma tabela temporária em um servidor. |
|
CREATE USER |
Administração do servidor |
Cria um usuário em um servidor. |
|
PROCESS |
Administração do servidor |
Visualiza informações sobre threads em execução em um servidor. |
|
RELOAD |
Administração do servidor |
Executa comandos do servidor como |
|
REPLICATION CLIENT |
Administração do servidor |
Verifica o status de servidores primários, servidores réplica e logs binários. Necessário para replicação. Conceda a contas usadas para conectar um servidor réplica ao servidor source. |
|
REPLICATION SLAVE |
Administração do servidor |
Verifica o status de servidores primários, servidores réplica e logs binários. Necessário para replicação. Conceda a contas usadas para conectar um servidor réplica ao servidor source. |
|
SHOW DATABASES |
Administração do servidor |
Visualiza os nomes de todos os bancos de dados em um servidor. |
|
SHUTDOWN |
Administração do servidor |
Desliga um servidor. |
|
SUPER |
Administração do servidor |
Executa instruções |
Permissões granulares suportadas
As permissões granulares aplicam-se a bancos de dados, tabelas, campos ou outros objetos específicos dentro de uma instância.
|
Permissão |
Objeto |
Descrição |
|
CREATE |
Bancos de dados, tabelas ou índices |
Cria um banco de dados, tabela ou índice. |
|
DROP |
Bancos de dados, tabelas ou views |
Exclui um banco de dados, tabela ou view. |
|
GRANT OPTION |
Bancos de dados, tabelas ou procedimentos armazenados |
Concede ou revoga permissões para outras contas. |
|
REFERENCES |
Bancos de dados, tabelas ou campos |
Cria uma chave estrangeira que referencia um banco de dados, tabela ou campo. |
|
LOCK TABLES |
Bancos de dados |
Bloqueia tabelas em um banco de dados. |
|
EVENT |
Bancos de dados |
Consulta, cria, modifica ou exclui um evento em um banco de dados. |
|
ALTER |
Tabelas ou views |
Modifica uma tabela ou view (por exemplo, adiciona um campo, cria um índice ou modifica um campo). |
|
DELETE |
Tabelas |
Exclui dados de uma tabela. |
|
INDEX |
Tabelas |
Cria ou exclui índices para uma tabela. |
|
INSERT |
Tabelas ou campos |
Insere dados em uma tabela ou campo. |
|
SELECT |
Tabelas ou campos |
Consulta dados em uma tabela ou campo. |
|
UPDATE |
Tabelas ou campos |
Atualiza dados em uma tabela ou campo. |
|
CREATE VIEW |
Views |
Cria uma view. |
|
SHOW VIEW |
Views |
Verifica uma view. |
|
TRIGGER |
Triggers |
Cria, exclui, executa ou exibe um trigger. |
Perguntas frequentes
Por que o DMS bloqueia minha instrução CREATE USER com um erro de regra de segurança?
Isso ocorre quando a instância é gerenciada no modo Security Collaboration e o conjunto de regras de segurança ativo não permite a execução direta de instruções DCL no SQL Console. Para resolver, adicione CREATE_USER à regra All DCL can execute directly in SQLConsole:
No painel de navegação à esquerda, clique com o botão direito na instância e selecione View Details para localizar o conjunto de regras de segurança atribuído à instância.
Faça logon no console do DMS V5.0. Na barra de navegação superior, escolha Security and disaster recovery (DBS) > Security Rules.
Na aba Security Rules, localize o conjunto de regras e clique em Edit na coluna Actions.
No painel de navegação à esquerda, clique em SQL Correct.
Defina Checkpoints como SQL execution rules.
Localize a regra All DCL can execute directly in SQLConsole e clique em Edit na coluna Actions.
Na caixa de diálogo Change Rule - SQL Correct, adicione
CREATE_USERno editor SQL.Clique em Submit.