É possível modificar as permissões de uma conta padrão conforme necessário. No entanto, não é possível modificar as permissões de uma conta privilegiada; só é possível redefini-las ao estado inicial.
Para um controle mais granular, como defina combinações de permissões personalizadas ou conceder permissões em nível de tabela, utilize o recurso de gerenciamento de permissões no Data Management service (DMS). Para mais informações, consulte Gerencie database accounts and permissions.
Método 1: Use o console
Acesse a página Instances. Na barra de navegação superior, selecione a região em que a instância RDS reside. Em seguida, localize a instância RDS e clique em seu ID.
No painel de navegação à esquerda, clique em Accounts.
Localize a conta desejada e clique em Change Permissions na coluna Actions.
-
No painel Edit Account Permissions, ajuste as permissões da conta.
Para conceder ou revogar permissões em um banco de dados, selecione-o e clique em ícone > ou <.
-
Defina as permissões de acesso: na lista Authorized Databases, defina o nível de permissão como Read/Write (DDL + DML), Read-only, DDL Only ou DML Only.
NotaPara um controle de permissões mais granular, utilize instruções SQL para modifique as permissões. Para detalhes sobre as permissões disponíveis, consulte Account permissions.
Clique em OK.
Método 2: Use o DMS
Método 3: Use instruções SQL
Pré-requisitos
Use uma conta privilegiada para conceder permissões.
Connect to an ApsaraDB RDS for MySQL instance by using the CLI or a client.
-
Utilize a instrução GRANT para conceder permissões à conta desejada.
NotaPara mais informações sobre a instrução GRANT, consulte a documentação oficial do MySQL.
Para a lista de permissões que podem ser concedidas, consulte Account permissions.
Perguntas frequentes
P: Por que não consigo crie um banco de dados usando uma conta padrão? O seguinte erro é retornado: ERROR 1044 (42000): Access denied for user 'xxxx'@'%' to database 'xxxx'.
R:
Por padrão, uma conta padrão possui apenas permissão para fazer login nos bancos de dados. Use uma conta privilegiada para conceder o privilégio CREATE à conta padrão. Exemplo de instrução:
GRANT CREATE ON *.* TO '<standard-account-name>'@'%';
P: Como posso impedir que usuários acessem um banco de dados?
R: Remova todas as entradas da lista de permissões de endereços IP, exceto 127.0.0.1. Em seguida, reinicie a instância. Essa ação bloqueia todo o acesso externo ao banco de dados.
P: É possível bloquear uma conta?
R: Uma conta privilegiada pode execute a instrução ALTER USER 'username' ACCOUNT LOCK; para si mesma ou para uma conta padrão. Após a modificação, reinicie a instância para encerrar as conexões existentes. Para desbloquear uma conta privilegiada e restaurar suas permissões, consulte reset the permissions of the privileged account.
As instâncias ApsaraDB RDS for MySQL que executam o MySQL 5.6 não oferecem suporte à instrução ALTER USER 'username' ACCOUNT LOCK;.
P: Como concedo a uma conta as permissões necessárias para visualize arquivos de log binários (logs locais)?
R: Para visualize os arquivos de log binários de uma instância, são necessárias as permissões REPLICATION SLAVE e REPLICATION CLIENT. Contas padrão e privilegiadas criadas no console recebem essas permissões por padrão. Caso não seja possível visualize os arquivos de log binários, tente usar uma conta privilegiada ou conceda manualmente as permissões necessárias com instruções SQL.