

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Ações do consumidor para unidades de compartilhamento de dados existentes no Amazon Redshift
<a name="writes-consumer-existing"></a>

Com o Amazon Redshift, é possível gerenciar unidades de compartilhamento de dados existentes para controlar o acesso aos dados em um cluster do Amazon Redshift. As seções a seguir fornecem orientações passo a passo sobre como gerenciar unidades de compartilhamento de dados no ambiente do Amazon Redshift como administrador de consumidor.

**Topics**
+ [Gerenciar permissões para unidades de compartilhamento de dados no Amazon Redshift](writes-managing-permissions.md)
+ [Remover a associação de uma unidade de compartilhamento de dados de consumidores de dados em uma Conta da AWS diferente no Amazon Redshift](writes-disassociating-datashare.md)
+ [Recusar uma unidade de compartilhamento de dados de uma Conta da AWS diferente no Amazon Redshift](writes-declining-datashare.md)

# Gerenciar permissões para unidades de compartilhamento de dados no Amazon Redshift
<a name="writes-managing-permissions"></a>

Como administrador de produtor, você mantém o controle dos conjuntos de dados que está compartilhando. Você pode adicionar novos objetos ao datashare ou removê-los de lá. Você também pode conceder ou revogar acesso a unidades de compartilhamento de dados como um todo para os clusters de consumidores, contas da AWS ou regiões da AWS. Quando as permissões são revogadas, os clusters de consumidor perdem imediatamente o acesso aos objetos compartilhados e deixam de visualizá-los na lista de unidades de compartilhamento de dados INBOUND no SVV\$1DATASHARES.

O exemplo a seguir cria a unidade de compartilhamento de dados `salesshare` e adiciona o esquema `public` e a tabela `public.tickit_sales_redshift` a `salesshare`. Ele também concede permissões de uso no `salesshare` para o namespace especificado.

```
CREATE DATASHARE salesshare;
            
ALTER DATASHARE salesshare ADD SCHEMA public;

ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift; 

GRANT USAGE ON DATASHARE salesshare TO NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
```

Para CREATE DATASHARE, superusuários e proprietários de bancos de dados podem criar conjuntos de dados. Para obter mais informações, consulte [CREATE DATASHARE](r_CREATE_DATASHARE.md). Para ALTER DATASHARE, o proprietário do datashare com as permissões necessárias nos objetos de datashare a serem adicionados ou removidos pode alterar o datashare. Para mais informações, consulte [ALTER DATASHARE](r_ALTER_DATASHARE.md). 

Como administrador de produtores, quando você solta um datashare, ele deixa de ser listado em clusters de consumidores. Os bancos de dados e referências de esquema criados no cluster de consumidor a partir do datashare descartado continuam a existir sem objetos neles. O administrador do consumidor deve excluir esses bancos de dados manualmente.

Do lado do consumidor, um administrador de consumidor pode determinar quais usuários e grupos devem ter acesso aos dados compartilhados criando um banco de dados da unidade de compartilhamento de dados. Dependendo das opções escolhidas ao criar o banco de dados, você pode controlar o acesso a ele da maneira a seguir. Para obter mais informações sobre como criar um banco de dados a partir de uma unidade de compartilhamento de dados, consulte [CREATE DATABASE](r_CREATE_DATABASE.md).

Consulte mais informações sobre como configurar uma unidade de compartilhamento de dados e ler dados de um consumidor em [Compartilhar o acesso de leitura aos dados em uma Conta da AWS](https://docs.aws.amazon.com/redshift/latest/dg/within-account.html).

**Criação do bancos de dados sem a cláusula WITH PERMISSIONS**  
Um administrador pode controlar o acesso no nível do banco de dados ou do esquema. Para controlar o acesso no nível do esquema, o administrador deve criar um esquema externo a partir do banco de dados do Amazon Redshift criado com base na unidade de compartilhamento de dados. 

O exemplo a seguir concede permissões para acessar uma tabela compartilhada no nível de banco de dados e no nível de esquema.

```
GRANT USAGE ON DATABASE sales_db TO Bob;

CREATE EXTERNAL SCHEMA sales_schema FROM REDSHIFT DATABASE sales_db SCHEMA 'public';

GRANT USAGE ON SCHEMA sales_schema TO ROLE Analyst_role;
```

Para restringir ainda mais o acesso, você pode criar exibições sobre objetos compartilhados, expondo apenas os dados necessários. Você pode acabar usando essas exibições para dar acesso aos usuários e às funções.

Depois que os usuários tiverem acesso ao banco de dados ou esquema, eles terão acesso a todos os objetos compartilhados nesse banco de dados ou esquema.

**Criação do bancos de dados com a cláusula WITH PERMISSIONS**  
Depois de conceder direitos de uso no banco de dados ou no esquema, um administrador poderá controlar ainda mais o acesso usando o mesmo processo de concessão da permissão que usaria em um banco de dados ou esquema local. Sem permissões de objeto individual, os usuários não podem acessar nenhum objeto no banco de dados compartilhado ou no esquema, mesmo depois de receberem a permissão USAGE.

O exemplo a seguir concede permissões para ter acesso a uma tabela compartilhada no nível do banco de dados.

```
GRANT USAGE ON DATABASE sales_db TO Bob;
GRANT USAGE FOR SCHEMAS IN DATABASE sales_db TO Bob;
GRANT SELECT ON sales_db.public.tickit_sales_redshift TO Bob;
```

Depois que tiverem recebido acesso ao banco de dados ou ao esquema, os usuários continuarão precisando receber as permissões relevantes para qualquer objeto no banco de dados ou esquema que você queira que eles acessem. 

## Compartilhamento detalhado usando WITH PERMISSIONS
<a name="share-datashare-writes"></a>

Você pode utilizar o compartilhamento detalhado usando WITH PERMISSIONS para permitir que clusters ou grupos de trabalho sem servidor consultem a unidade de compartilhamento de dados. Esse processo pressupõe que a unidade de compartilhamento de dados tenha origem em outro cluster ou no namespace do Amazon Redshift sem servidor em sua conta ou esteja vindo de outra conta e tenha sido associada ao namespace que você está usando.

1. O administrador do banco de dados consumidor pode criar um banco de dados a partir da unidade de compartilhamento de dados.

   ```
   CREATE DATABASE my_ds_db [WITH PERMISSIONS] FROM DATASHARE my_datashare OF NAMESPACE 'abc123def';
   ```

   Se criar um banco de dados WITH PERMISSIONS, você poderá conceder permissões detalhadas em objetos de unidade de compartilhamento de dados para usuários e perfis diferentes. Sem isso, todos os usuários e funções com permissão USAGE no banco de dados da unidade de compartilhamento de dados recebem todas as permissões em todos os objetos dentro do banco de dados da unidade de compartilhamento de dados.

1. Aqui está como conceder permissões a um usuário ou função do banco de dados do Redshift. Você deve ter uma conexão com um banco de dados local para executar essas instruções: Você não poderá executar essas instruções se executar um comando USE no banco de dados da unidade de compartilhamento de dados antes de executar as instruções de concessão.

   ```
   GRANT USAGE ON DATABASE my_ds_db TO ROLE data_eng;
   GRANT CREATE, USAGE ON SCHEMA my_ds_db.my_shared_schema TO ROLE data_eng;
   GRANT ALL ON ALL TABLES IN SCHEMA my_ds_db.my_shared_schema TO ROLE data_eng;
    
   GRANT USAGE ON DATABASE my_ds_db TO bi_user;
   GRANT USAGE ON SCHEMA my_ds_db.my_shared_schema TO bi_user;
   GRANT SELECT ON my_ds_db.my_shared_schema.table1 TO bi_user;
   ```

# Remover a associação de uma unidade de compartilhamento de dados de consumidores de dados em uma Conta da AWS diferente no Amazon Redshift
<a name="writes-disassociating-datashare"></a>

Com o Amazon Redshift, é possível remover a associação de unidades de compartilhamento de dados compartilhadas por outras Contas da AWS. Unidades de compartilhamento de dados são objetos de banco de dados compartilháveis que encapsulam dados de um ou mais bancos de dados do Redshift. As seções a seguir demonstram o processo de desassociação de unidades de compartilhamento de dados no ambiente do Redshift.

------
#### [ Console ]

Como administrador de consumidor, você pode remover a associação de unidades de compartilhamento de dados de consumidores de dados no console.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Redshift em [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. No menu de navegação, escolha **Datashares** (Unidades de compartilhamento de dados). A página de lista de datashares é exibida.

1. Selecione **De outras contas**.

1. Na seção **Conjuntos de dados de outras contas**, escolha o datashare para remover a associação dos consumidores de dados.

1. Na seção **Consumidores de dados**, escolha um ou mais consumidores de dados para remover associação. Em seguida, escolha **Remover associação**.

1. Quando a página Remover associação aparecer, escolha **Remover associação**.

Após a remoção da associação, os consumidores de dados perderão o acesso ao datashare. Você pode fazer alterações na associação de consumidores de dados a qualquer momento.

------
#### [ SQL ]

**nota**  
As etapas desta seção serão realizadas depois que o administrador do produtor conceder ações específicas nos objetos do banco de dados compartilhado e, se a unidade de compartilhamento de dados estiver sendo compartilhada com outra conta, o administrador de segurança do produtor autorizará o acesso.

O administrador de segurança do consumidor pode desassociar a unidade de compartilhamento de dados com o seguinte comando:

```
disassociate-data-share-consumer
--data-share-arn <value>
```

Para obter mais informações sobre o comando, consulte [disassociate-data-share-consumer](https://docs.aws.amazon.com/cli/latest/reference/redshift/disassociate-data-share-consumer.html).

------

# Recusar uma unidade de compartilhamento de dados de uma Conta da AWS diferente no Amazon Redshift
<a name="writes-declining-datashare"></a>

Com o Amazon Redshift, você pode recusar unidades de compartilhamento de dados compartilhadas por outras contas AWS, permitindo o compartilhamento de dados seguro e integrado entre limites organizacionais. As unidades de compartilhamento de dados são objetos de banco de dados compartilháveis que encapsulam dados de um ou mais bancos de dados do Amazon Redshift. 

Como administrador de consumidor, você pode rejeitar a unidade de compartilhamento de dados cujo estado esteja disponível ou ativo. Depois que você rejeitar uma unidade de compartilhamento de dados, os usuários do cluster consumidor perderão acesso a ela. O Amazon Redshift não retornará a unidade de compartilhamento de dados rejeitada se você chamar a operação de API `DescribeDataSharesForConsumer`. Se o administrador do produtor executar a operação de API `DescribeDataSharesForProducer`, ele verá que a unidade de compartilhamento de dados foi rejeitada. Depois que a unidade de compartilhamento de dados é rejeitada, o administrador do produtor pode autorizar a unidade de compartilhamento de dados para um cluster de consumidor novamente, e o administrador do consumidor pode escolher associar a conta da AWS à unidade de compartilhamento de dados ou rejeitá-la. 

Se sua conta da AWS tiver uma associação a uma unidade de compartilhamento de dados e uma associação pendente a uma unidade de compartilhamento de dados gerenciada pelo Lake Formation, rejeitar a associação à unidade de compartilhamento de dados gerenciada pelo Lake Formation também rejeitará a unidade de compartilhamento de dados original. Para rejeitar uma associação específica, o administrador do produtor pode remover a autorização de uma unidade de compartilhamento de dados especificada. Essa ação não afeta outras unidades de compartilhamento de dados.

Para rejeitar uma unidade de compartilhamento de dados, use o console da AWS, a operação de API `RejectDataShare` ou `reject-datashare` na AWS CLI.

------
#### [ Console ]

Para rejeitar uma unidade de compartilhamento de dados usando o Console da AWS, siga as etapas abaixo.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Redshift em [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. No menu de navegação, escolha **Unidades de compartilhamento de dados**.

1. Selecione **De outras contas**.

1. Na seção **Datashares de outras contas**, escolha o datashare que deseja recusar. Quando a página **Decline datashare** (Recusar unidade de compartilhamento de dados) for exibida, escolha **Decline** (Recusar).

Após recusar os datashares, você não pode reverter a alteração. O Amazon Redshift remove as unidades de compartilhamento de dados da lista. Para ver a unidade de compartilhamento de dados novamente, o administrador do produtor deve autorizar novamente.

------
#### [ CLI ]

Para rejeitar uma unidade de compartilhamento de dados, o administrador usa o seguinte comando: 

```
reject-data-share
--data-share-arn <value>
```

Para obter mais informações sobre o comando, consulte [reject-data-share](https://docs.aws.amazon.com/cli/latest/reference/redshift/reject-data-share.html). 

------