Gerenciar permissões e controle de acesso no Babelfish para Aurora PostgreSQL
No Babelfish para Aurora PostgreSQL, é possível gerenciar permissões e controle de acesso para bancos de dados, esquemas e objetos. As tabelas a seguir descrevem os comandos SQL específicos para conceder permissões no Babelfish para atingir vários cenários de controle de acesso. Serão abordados casos de uso compatíveis que podem ser implementados, bem como soluções alternativas para casos incompatíveis no momento. Isso permitirá que você configure as permissões apropriadas para atender aos seus requisitos de segurança e conformidade ao trabalhar com bancos de dados do Babelfish.
Casos de uso compatíveis
A tabela a seguir explica os casos de uso que são compatíveis com o Babelfish. Para cada caso de uso, a tabela mostra a ação necessária para atingi-lo e exemplos de comandos SQL.
Caso de uso | Ação | Comandos SQL | Comentários | Compatibilidade com a versão do Babelfish |
---|---|---|---|---|
Permitir que o login faça SELECTs/DMLs/DDLs em qualquer banco de dados |
Adicionar o login ao perfil do servidor sysadmin |
ALTER SERVER ROLE sysadmin ADD MEMBER |
Nenhum |
Todas as versões |
Permitir que o login faça SELECTs/DMLs/DDLs em um banco de dados |
Tornar o login o proprietário do banco de dados |
ALTER AUTHORIZATION ON DATABASE:: |
Um banco de dados pode ter apenas um proprietário. |
Versão 3.4 e posterior |
Permitir que o usuário do banco de dados faça SELECTs/DMLs em um esquema |
Conceder permissão ao usuário do banco de dados no esquema |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON SCHEMA:: |
CASCADE não é compatível com Grant/Revoke em Schema. A opção GRANT/REVOKE FOR.. em SCHEMA não é suportada no Babelfish. GRANT/REVOKE dentro de CREATE SCHEMA não é suportado no Babelfish. |
Versão 3.6 e posterior, 4.2 e posterior |
Permitir que o usuário do banco de dados faça SELECTs/DMLs em um esquema |
Tornar o usuário do banco de dados o proprietário do esquema no momento da criação do esquema |
CREATE SCHEMA |
No momento, não é possível alterar a propriedade do esquema após a criação. |
Versão 1.2 e posterior |
Permitir que o usuário do banco de dados faça SELECTs/DMLs em um objeto |
Conceder permissão ao usuário do banco de dados no objeto |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT:: |
Nenhum |
Todas as versões |
Permitir que o usuário do banco de dados faça SELECTs/DMLs/DDLs em um banco de dados, incluindo o descarte do banco de dados |
Adicionar usuário ao perfil fixo de banco de dados db_owner |
ALTER ROLE db_owner ADD MEMBER |
Somente usuários podem ser adicionados ao perfil fixo de banco de dados db_owner. Ainda não é possível adicionar perfis ao perfil db_owner. |
Versão 4.5 e posterior, 5.1 e posterior |
Permitir que o usuário ou membros de um perfil personalizado de banco de dados façam somente SELEÇÕES em um banco de dados |
Adicionar usuário ou perfil ao perfil fixo de banco de dados db_datareader |
ALTER ROLE db_datareader ADD MEMBER |
Nenhum |
Versão 4.5 e posterior, 5.1 e posterior |
Permitir que o usuário ou membros de um perfil personalizado de banco de dados façam somente DLMs em um banco de dados |
Adicionar usuário ou perfil ao perfil fixo de banco de dados db_datawriter |
ALTER ROLE db_datawriter ADD MEMBER |
Nenhum |
Versão 4.5 e posterior, 5.1 e posterior |
Permitir que o usuário ou membros de um perfil personalizado de banco de dados façam somente DDLs em um banco de dados |
Adicionar usuário ou perfil ao perfil fixo de banco de dados db_accessadmin |
ALTER ROLE db_accessadmin ADD MEMBER |
Nenhum |
Versão 4.5 e posterior, 5.1 e posterior |
Permitir que o usuário ou membros de um perfil de banco de dados personalizado apenas CRIEM/ALTEREM/EXCLUAM perfis personalizados, CONCEDAM/REVOGUEM permissões em objetos em um banco de dados e/ou CRIEM ESQUEMA em um banco de dados |
Adicionar usuário ou perfil ao perfil fixo de banco de dados db_securityadmin |
ALTER ROLE db_securityadmin ADD MEMBER |
Nenhum |
Versão 4.5 e posterior, 5.1 e posterior |
Permita que o usuário ou membros de um perfil de banco de dados personalizado apenas CRIEM/ALTEREM/EXCLUAM qualquer usuário, concedam e revoguem o acesso ao banco de dados e associem contas de usuário a logins e/ou CRIEM ESQUEMA em um banco de dados |
Adicionar usuário ou perfil ao perfil fixo de banco de dados db_accessadmin |
ALTER ROLE db_accessadmin ADD MEMBER |
Nenhum |
Versão 4.5 e posterior, 5.1 e posterior |
Permitir login somente para CRIAR/DESCARTAR/ALTERAR qualquer banco de dados |
Adicionar login ao perfil fixo de servidor dbcreator |
ALTER SERVER ROLE dbcreator ADD MEMBER |
Somente os bancos de dados aos quais o login dbcreator tem acesso podem ser alterados. |
Versão 4.5 e posterior, 5.1 e posterior |
Permitir login somente para CRIAR/DESCARTAR/ALTERAR qualquer login |
Adicionar login ao perfil fixo de servidor securityadmin |
ALTER SERVER ROLE securityadmin ADD MEMBER |
Nenhum |
Versão 4.5 e posterior, 5.1 e posterior |
Casos de uso incompatíveis e soluções alternativas
A tabela a seguir explica os casos de uso que são incompatíveis com o Babelfish, mas que podem ser conseguidos usando uma solução alternativa.
Caso de uso | Ação | Comandos SQL | Comentários | Compatibilidade com a versão do Babelfish para soluções alternativas |
---|---|---|---|---|
Permitir que o usuário faça SELEÇÕES/DMLs em um objeto/esquema com a opção de CONCEDER essas permissões a outros usuários |
CONCEDER permissões diretamente a todos os outros usuários |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT/SCHEMA:: |
GRANT ... WITH GRANT OPTION não é permitido no momento. |
Versão 3.6 e posterior, 4.2 e posterior |
Permitir que o usuário do banco de dados faça SELECTs/DMLs/DDLs em um banco de dados, incluindo o descarte do banco de dados |
Adicionar membros do perfil ao perfil fixo de banco de dados db_owner |
ALTER ROLE db_owner ADD MEMBER |
A adição de perfis ao perfil db_owner não é permitida no momento. |
Versão 4.5 e posterior, 5.1 e posterior |
Casos de uso sem suporte
A tabela a seguir explica os casos de uso compatíveis com o Babelfish.
Caso de uso | Comentários |
---|---|
Negar que usuários ou membros de um perfil personalizado de banco de dados façam SELEÇÕES em um banco de dados |
O perfil fixo de banco de dados db_denydatareader ainda não é permitido. |
Negar que usuários ou membros de um perfil personalizado de banco de dados façam DMLs em um banco de dados |
O perfil fixo de banco de dados db_denydatawriter não é permitido no momento. |
Permitir login somente para ENCERRAMENTO de qualquer conexão de banco de dados |
O perfil fixo de servidor processadmin não é permitido no momento. |
Permitir login somente para adicionar ou remover servidores vinculados |
O perfil fixo de servidor setupadmin não é permitido no momento. |