Gerenciar permissões e controle de acesso no Babelfish para Aurora PostgreSQL - Amazon Aurora

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 login

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::database TO login

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::schema TO user

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 schema AUTHORIZATION user.

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::object TO user

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 user

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 user / role

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 user / role

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 user / role

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 user / role

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 user / role

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 login

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 login

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::object/schema TO user

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 user

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.