

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de permissões para unidades de compartilhamento de dados do Amazon Redshift
<a name="setup-ds-perms"></a>

 Este tópico descreve as etapas que você precisa seguir para aceitar um convite de unidade de compartilhamento de dados, criar um banco de dados federado, e conceder permissões. Você pode usar o console Lake Formation ou o AWS Command Line Interface (AWS CLI). Os exemplos neste tópico mostram o cluster produtor, o catálogo de dados, e o consumidor de dados na mesma conta.

Para saber mais sobre os recursos de entre contas do Lake Formation, consulte [Compartilhamento de dados entre contas no Lake Formation](cross-account-permissions.md).

**Como configurar permissões para uma unidade de compartilhamento de dados**

1. Analise e aceite um convite de unidade de compartilhamento de dados.

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

   1.  Faça login no console do Lake Formation como administrador do data lake em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Navegue até a página **Compartilhamento de dados**. 

   1. Revise as unidades de compartilhamento de dados que você tem autorização para acessar. A coluna **Status** indica seu status atual de participação na unidade de compartilhamento de dados. O status **Pendente** indica que você foi adicionado a uma unidade de compartilhamento de dados, mas ainda não o aceitou ou rejeitou o convite. 

   1.  Para responder ao convite da unidade de compartilhamento de dados, selecione o nome da unidade de compartilhamento de dados e escolha **Examinar convite**. Em **Aceitar ou rejeitar unidade de compartilhamento de dados**, examine os detalhes do convite. Selecione **Aceitar** para aceitar o convite ou **Rejeitar** para recusar o convite. Se você rejeitar o convite, não terá acesso à unidade de compartilhamento de dados.

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

   Os exemplos a seguir mostram como exibir, aceitar e registrar o convite. Substitua o ID da Conta da AWS por um ID da Conta da AWS válido. Substitua `data-share-arn` pelo nome do recurso da Amazon (ARN) real que faz referência à unidade de compartilhamento de dados.

   1. Visualize um convite pendente.

      ```
      aws redshift describe-data-shares \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
      ```

   1. Aceitar uma unidade de compartilhamento de dados.

      ```
       aws redshift associate-data-share-consumer \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
       --consumer-arn 'arn:aws:glue:us-east-1:111122223333:catalog
      ```

   1. Registre a unidade de compartilhamento de dados na conta do Lake Formation. Use a operação da API de [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html) para registrar a unidade de compartilhamento de dados no Lake Formation. `DataShareArn` é o parâmetro de entrada para `ResourceArn`.
**nota**  
Este é uma etapa obrigatória.

      ```
      aws lakeformation register-resource \
       --resource-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds'
      ```

------

1. Crie um banco de dados.

    Depois de aceitar um convite de unidade de compartilhamento de dados, você precisa criar um banco de dados que aponte para o banco de dados do Amazon Redshift associado à unidade de compartilhamento de dados. Você deve ser administrador de data lake para criar um banco de dados. 

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

   1.  Selecione a unidade de compartilhamento de dados no painel **Convites** e selecione **Definir informações do banco de dados**. 

   1.  Em **Definir informações do banco de dados**, insira um nome e um identificador exclusivos para a unidade de compartilhamento de dados. Você usa esse identificador para mapear a unidade de compartilhamento de dados internamente na hierarquia de metadados (dbName.schema.table). 

   1.  Selecione **Avançar** para conceder permissões a outros usuários no banco de dados e nas tabelas compartilhados. 

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

    Use o código de exemplo a seguir para criar um banco de dados que aponta para o banco de dados do Amazon Redshift compartilhado com o Lake Formation por meio da AWS CLI. 

   ```
   aws glue create-database --cli-input-json \
   
   '{
    "CatalogId": "111122223333",
    "DatabaseInput": {
     "Name": "tahoedb",
     "FederatedDatabase": {
          "Identifier": "arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds",
          "ConnectionName": "aws:redshift"
      }
    }
    }'
   ```

------

1. Conceder permissões

    Depois de criar o banco de dados, você pode conceder permissões a outros usuários em sua conta ou a Contas da AWS e organizações externas. Não será possível conceder permissões de gravação de dados (inserir e excluir) e permissão de metadados (alterar, eliminar e criar) no banco de dados federado que está associado a uma unidade de compartilhamento de dados do Amazon Redshift. Para obter mais informações sobre a concessão de permissões, consulte [Gerenciando permissões do Lake Formation](managing-permissions.md).
**nota**  
Como administrador do data lake, você só pode exibir tabelas nos bancos de dados federados. Para executar qualquer outra ação, você precisa conceder a si mais permissões nessas tabelas.

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

   1. Na tela **Conceder permissões**, selecione os usuários aos quais planeja conceder permissões.

   1. Selecione **Conceder**. 

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

   Use os exemplos a seguir para conceder permissões de banco de dados e tabelas usando a AWS CLI:

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
      "Principal": {
              "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
      },
      "Resource": {
             "Database": {
                   "CatalogId": "111122223333",
                    "Name": "tahoedb"
              }
       },
       "Permissions": [
                "DESCRIBE"
        ],
       "PermissionsWithGrantOption": [
                            
        ]
    }
   ```

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
                      "Principal": {
                             "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
                      },
                     "Resource": {
                            "Table": {
                                 "CatalogId": "111122223333",
                                 "DatabaseName": "tahoedb",
                                 "Name": "public.customer"
                          }
                     },
                    "Permissions": [
                           "SELECT"
                     ],
                    "PermissionsWithGrantOption": [
                            "SELECT"
                      ]
    }
   ```

------