

# Configurar o acesso a um bucket do Amazon S3
<a name="aurora-export-snapshot.Setup"></a>

Você identifica o bucket do Amazon S3, depois fornece ao snapshot permissão para acessá-lo.

**Topics**
+ [Identificar o bucket do Amazon S3 para exportar](#aurora-export-snapshot.SetupBucket)
+ [Fornecer acesso a um bucket do Amazon S3 usando um perfil do IAM](#aurora-export-snapshot.SetupIAMRole)
+ [Utilizar um bucket do Amazon S3 entre contas](#aurora-export-snapshot.Setup.XAcctBucket)
+ [Utilizar uma conta cruzada AWS KMS key](#aurora-export-snapshot.CMK)

## Identificar o bucket do Amazon S3 para exportar
<a name="aurora-export-snapshot.SetupBucket"></a>

Identifique o bucket do Amazon S3 para o qual exportar o snapshot de banco de dados. Use um bucket do S3 existente ou crie um novo bucket do S3.

**nota**  
O bucket do S3 para o qual exportar deve estar na mesma região da AWS que o snapshot.

Para ter mais informações sobre como trabalhar com buckets do Amazon S3, consulte o seguinte no *Guia do usuário do Amazon Simple Storage Service*:
+ [ Como visualizar as propriedades de um bucket do S?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/view-bucket-properties.html)
+ [ Como habilitar a criptografia padrão em um bucket do Amazon S?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html)
+ [ Como criar um bucket do S?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)

## Fornecer acesso a um bucket do Amazon S3 usando um perfil do IAM
<a name="aurora-export-snapshot.SetupIAMRole"></a>

Antes de exportar dados de snapshot de banco de dados para o Amazon S3, forneça permissões de acesso de gravação ao bucket do Amazon S3 às tarefas de exportação. 

Para conceder essa permissão, crie uma política do IAM que forneça acesso ao bucket e, depois, crie um perfil do IAM e anexe a política ao perfil. Posteriormente, você atribui o perfil do IAM à tarefa de exportação de snapshot.

**Importante**  
Se você planeja usar o Console de gerenciamento da AWS para exportar o snapshot, poderá optar por criar a política do IAM e a função automaticamente ao exportar o snapshot. Para instruções, consulte [Criar tarefas de exportação de snapshot](aurora-export-snapshot.Exporting.md).

**Como fornecer acesso ao Amazon S3 às tarefas de snapshot de banco de dados**

1. Crie uma política do IAM. Essa política fornece as permissões de bucket e objeto que permitem que sua tarefa de exportação de snapshot acesse o Amazon S3.

   Na política, inclua as ações necessárias a seguir para permitir a transferência de arquivos do Amazon Aurora para um bucket do S3:
   + `s3:PutObject*`
   + `s3:GetObject*` 
   + `s3:ListBucket` 
   + `s3:DeleteObject*`
   +  `s3:GetBucketLocation`

   Na política, inclua os recursos a seguir para identificar o bucket do S3 e os objetos no bucket. A lista de recursos a seguir mostra o formato do nome de recurso da Amazon (ARN) para acessar o Amazon S3.
   + `arn:aws:s3:::{{amzn-s3-demo-bucket}}`
   + `arn:aws:s3:::{{amzn-s3-demo-bucket}}/*`

   Para ter mais informações sobre como criar uma política do IAM para o Amazon Aurora, consulte [Criar e usar uma política do IAM para acesso do banco de dados do IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md). Consulte também [Tutorial: Criar e anexar sua primeira política gerenciada pelo cliente](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html) no *Guia do usuário do IAM*.

   O comando da AWS CLI a seguir cria uma política do IAM denominada `ExportPolicy` com essas opções. Ele concede acesso a um bucket denominado {{amzn-s3-demo-bucket}}. 
**nota**  
Depois de criar a política, anote o ARN da política. O ARN será necessário para uma etapa posterior, quando você anexar a política a um perfil do IAM. 

   ```
   aws iam create-policy  --policy-name ExportPolicy --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ExportPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject*",
                   "s3:ListBucket",
                   "s3:GetObject*",
                   "s3:DeleteObject*",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
                   "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
               ]
           }
       ]
   }'
   ```

1. Crie um perfil do IAM para que o Aurora possa assumir esse perfil do IAM em seu nome a fim de acessar os buckets do Amazon S3. Para ter mais informações, consulte [Criar um perfil para delegar permissões a um usuário do IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.

   O exemplo a seguir mostra como usar o comando da AWS CLI para criar uma função chamada `rds-s3-export-role`.

   ```
   aws iam create-role  --role-name rds-s3-export-role  --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "export.rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole"
          }
        ] 
      }'
   ```

1. Anexe a política do IAM que você criou ao perfil do IAM que você criou.

   O seguinte comando da AWS CLI anexa a política criada anteriormente à função chamada `rds-s3-export-role`. Substitua `{{your-policy-arn}}` pelo ARN da política que você anotou em uma etapa anterior.

   ```
   aws iam attach-role-policy  --policy-arn {{your-policy-arn}}  --role-name rds-s3-export-role
   ```

## Utilizar um bucket do Amazon S3 entre contas
<a name="aurora-export-snapshot.Setup.XAcctBucket"></a>

É possível utilizar buckets do Amazon S3 entre contas da AWS. Para utilizar um bucket entre contas, adicione uma política de bucket para permitir o acesso ao perfil do IAM que você está utilizando para as exportações do S3. Para ter mais informações, consulte [Exemplo 2: proprietário do bucket concedendo permissões para o bucket entre contas](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html).Como adicionar uma política de bucket
+ Vincule uma política de bucket ao bucket, como mostra o exemplo a seguir.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::{{123456789012}}:role/Admin"
              },
              "Action": [
                  "s3:PutObject*",
                  "s3:ListBucket",
                  "s3:GetObject*",
                  "s3:DeleteObject*",
                  "s3:GetBucketLocation"
              ],
              "Resource": [
                  "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}",
                  "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}/*"
              ]
          }
      ]
  }
  ```

------

## Utilizar uma conta cruzada AWS KMS key
<a name="aurora-export-snapshot.CMK"></a>

Você pode utilizar um AWS KMS key entre contas para criptografar exportações do Amazon S3. Primeiro, você adiciona uma política de chaves à conta local e depois adiciona políticas do IAM na conta externa. Para ter mais informações, consulte o tópico sobre como [Permitir que usuários de outras contas utilizem uma chave do KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).

**Para utilizar uma chave do KMS entre contas**

1. Adicione uma política de chaves à conta local.

   O exemplo a seguir concede a `ExampleRole` e `ExampleUser` na conta externa 444455556666 permissões na conta local 123456789012.

   ```
   {
       "Sid": "Allow an external account to use this KMS key",
       "Effect": "Allow",
       "Principal": {
           "AWS": [
               "arn:aws:iam::444455556666:role/ExampleRole",
               "arn:aws:iam::444455556666:user/ExampleUser"
           ]
       },
       "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:CreateGrant",
           "kms:DescribeKey",
           "kms:RetireGrant"
       ],
       "Resource": "*"
   }
   ```

1. Adicione políticas do IAM à conta externa.

   O seguinte exemplo de política do IAM permite que a entidade principal use a chave do KMS na conta 123456789012 para operações criptográficas. Para conceder essa permissão a `ExampleRole` e `ExampleUser` na conta 444455556666, [vincule a política](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#attach-managed-policy-console) a eles nessa conta.

   ```
   {
       "Sid": "Allow use of KMS key in account 123456789012",
       "Effect": "Allow",
       "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:CreateGrant",
           "kms:DescribeKey",
           "kms:RetireGrant"
       ],
       "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
   }
   ```