O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog
CREATE RLS POLICY
Cria uma nova política de segurança no nível da linha para fornecer acesso granular aos objetos do banco de dados.
Superusuários e usuários ou funções que têm a função sys:secadmin podem criar uma política.
Sintaxe
CREATE RLS POLICY policy_name [ WITH (column_name data_type [, ...]) [ [AS] relation_alias ] ] USING ( using_predicate_exp )
Parâmetros
- policy_name
-
O nome da política.
- WITH (column_name data_type [, ...])
-
Especifica o column_name e data_type referenciada às colunas de tabelas às quais a política está anexada.
É possível omitir a cláusula WITH somente quando a política de RLS não fizer referência a nenhuma coluna de tabelas às quais a política está anexada.
- AS relation_alias
-
Especifica um alias opcional para a tabela à qual a política de RLS será anexada.
- USING ( using_predicate_exp )
-
Especifica um filtro que é aplicado à cláusula WHERE da consulta. O Amazon Redshift aplica um predicado de política antes dos predicados do usuário no nível da consulta. Por exemplo,
current_user = ‘joe’ and price > 10limita Joe a ver apenas registros com o preço superior a US$ 10.
Observações de uso
Ao trabalhar com a instrução CREATE RLS POLICY, observe o seguinte:
-
O Amazon Redshift é compatível com filtros que podem fazer parte de uma cláusula WHERE de uma consulta.
-
Todas as políticas anexadas a uma tabela devem ter sido criadas com o mesmo alias de tabela.
-
Você deve usar as instruções GRANT e REVOKE para conceder e revogar explicitamente permissões SELECT para políticas de RLS que fazem referência a tabelas de pesquisa. Uma tabela de pesquisa é um objeto de tabela usado dentro de uma definição de política. Para obter mais informações, consulte GRANT e REVOKE.
-
A segurança por linha do Amazon Redshift não é compatível com os seguintes tipos de objeto dentro de uma definição de política: tabelas de catálogo, relações entre bancos de dados, tabelas externas, visualizações regulares, visualizações de vinculação tardia, tabelas com políticas RLS ativadas e tabelas temporárias.
Exemplos
O exemplo a seguir cria uma política de RLS chamada policy_concerts. Essa política se aplica a uma coluna VARCHAR (10) chamada catgroup e define o filtro USING para exibir somente as linhas em que o valor de catgroup seja 'Concerts'.
CREATE RLS POLICY policy_concerts WITH (catgroup VARCHAR(10)) USING (catgroup = 'Concerts');
Para ver um exemplo completo de uso de políticas de RLS, consulte .