O ApsaraDB RDS controla o acesso a instâncias e bancos de dados por meio de dois tipos de conta: privilegiada e padrão. Cada tipo possui um escopo distinto de permissões.
Tipos de conta
O RDS for MySQL oferece suporte a dois tipos de conta: uma conta privilegiada e várias contas padrão por instância.
|
Tipo de conta |
Capacidades |
Como criar |
|
Conta privilegiada |
Permissões totais em todos os bancos de dados. Gerencia todos os bancos de dados e contas padrão na instância, além de encerrar qualquer sessão. |
Apenas pelo Console ou API |
|
Conta padrão |
Opera apenas em bancos de dados específicos. Possui permissão de login por padrão; todas as outras permissões exigem concessão explícita. Não cria, gerencia nem desconecta outras contas. |
Console, API ou SQL |
Cotas
|
Tipo de conta |
Bancos de dados |
Tabelas |
Usuários |
|
Conta privilegiada |
Ilimitado |
Menos de 200.000 |
Conforme os parâmetros do kernel da instância |
|
Conta padrão |
Até 500 |
Menos de 200.000 |
Conforme os parâmetros do kernel da instância |
O limite de pastas do sistema de arquivos também pode restringir a quantidade de bancos de dados.
Escolha do tipo de conta
Crie uma conta privilegiada para gerenciar a instância e contas padrão separadas para cada aplicação ou serviço. Não incorpore credenciais da conta privilegiada no código da aplicação; utilize contas padrão com permissões de privilégio mínimo.
Não é possível alterar o tipo de conta após a criação. Para modificar o tipo, exclua a conta existente e crie uma nova com o mesmo nome.
Níveis de permissão para contas padrão
Ao conceder acesso de uma conta padrão a um banco de dados, escolha um destes níveis de permissão:
|
Nível de permissão |
Operações incluídas |
|
Leitura/Escrita (DDL + DML) |
Acesso total de leitura e escrita, incluindo alterações de esquema (DDL) e manipulação de dados (DML) |
|
Somente Leitura |
Apenas consultas SELECT |
|
Somente DDL |
Apenas alterações de esquema (CREATE, ALTER, DROP) |
|
Somente DML |
Apenas manipulação de dados (INSERT, UPDATE, DELETE, SELECT) |
Para obter a lista completa de privilégios SQL em cada nível de permissão, consulte Lista de permissões de conta.
Uma conta padrão inicia apenas com permissão de login. Conceda permissões no nível do banco de dados durante a criação da conta ou posteriormente.
Requisitos para nomenclatura de contas
Estes requisitos aplicam-se a ambos os tipos de conta:
Tamanho: 2 a 16 caracteres para MySQL 5.6; 2 a 32 caracteres para MySQL 5.7 e MySQL 8.0
Caracteres: letras, dígitos e sublinhados (
_)Formato: deve começar com uma letra e terminar com uma letra ou dígito
Unicidade: não pode duplicar um nome de conta existente
Similaridade: o nome de uma conta padrão não pode ser semelhante ao da conta privilegiada. Por exemplo, se a conta privilegiada for
Test1, não será possível criar uma conta padrão chamadatest1.Palavras-chave reservadas: não permitidas
Melhores práticas de segurança
Siga o princípio do menor privilégio ao atribuir permissões:
Conceda a cada aplicação ou serviço apenas as permissões necessárias. Use Somente Leitura para cargas de trabalho de relatórios e Somente DML para aplicações que não exigem alterações de esquema.
Crie uma conta padrão por aplicação ou serviço em vez de compartilhar uma única conta entre várias aplicações.
Não incorpore credenciais da conta privilegiada no código da aplicação ou em arquivos de configuração.
Se a senha de uma conta for comprometida ou esquecida, redefina-a pelo console a qualquer momento.
No MySQL 5.7 e MySQL 8.0, configure uma política de senha personalizada para impor requisitos mais rigorosos.