

# Pré-requisitos para desabilitar ACLs
<a name="object-ownership-migrating-acls-prerequisites"></a>

Uma lista de controle de acesso (ACL) do bucket no Amazon S3 é um mecanismo que permite definir permissões detalhadas para objetos individuais dentro de um bucket do S3, especificando quais grupos ou contas da AWS podem acessar e modificar esses objetos. A maioria dos casos de uso modernos no Amazon S3 não exige mais o uso de ACLs. Recomendamos que você use políticas de bucket e do AWS Identity and Access Management (IAM) para gerenciar o acesso e manter as ACLs desabilitadas, exceto em circunstâncias em que seja necessário controlar o acesso para cada objeto individualmente.

Se você tiver ACLs habilitadas no bucket, antes de desabilitá-las, atenda aos seguintes pré-requisitos:

**Topics**
+ [Revise as ACLs de bucket e de objeto e migre permissões de ACLs](#object-ownership-acl-permissions)
+ [Identificar as solicitações que exigiram uma ACL para autorização](#object-ownership-acl-identify)
+ [Revisar e atualizar políticas de bucket que usam chaves de condição relacionadas à ACL](#object-ownership-bucket-policies)
+ [Exemplo de casos de uso](#object-ownership-migrating-acls)

## Revise as ACLs de bucket e de objeto e migre permissões de ACLs
<a name="object-ownership-acl-permissions"></a>

Quando você desabilita ACLs, as permissões concedidas por ACLs de bucket e de objeto não afetam mais o acesso. Antes de desabilitar as ACLs, revise suas ACLs de objeto e de bucket. 

Cada uma das ACLs de objeto e de bucket existentes tem um equivalente em uma política do IAM. Os exemplos de política de bucket a seguir mostram como as permissões `READ` e `WRITE` para ACLs de objeto e de bucket são mapeadas para permissões do IAM. Para obter mais informações sobre como cada ACL é convertida em permissões do IAM, consulte [Mapeamento das permissões da ACL e das permissões da política de acesso](acl-overview.md#acl-access-policy-permission-mapping).

Antes de desabilitar as ACLs:
+ Se a ACL do bucket conceder acesso fora da conta da AWS, será necessário migrar as permissões de ACL do bucket para a política do bucket.
+ A seguir, redefina a ACL de bucket para a ACL privada padrão. 
+ Também recomendamos revisar as permissões de ACL no nível de objeto e migrá-las para a política de bucket. 

Se as ACLs de bucket concederem permissões de leitura ou gravação a outras pessoas fora da conta, antes de desabilitar as ACLs, será necessário migrar essas permissões para a política de bucket. Depois de migrar essas permissões, você pode definir a **Propriedade do objeto** com a configuração *Imposto pelo proprietário do bucket*. Se você não migrar ACLs de bucket que concedem acesso de leitura ou gravação fora de sua conta, a solicitação para aplicar a configuração Imposto pelo proprietário do bucket falhará e retornará o código de erro [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl). 

Se a ACL de bucket conceder acesso fora de sua Conta da AWS, antes de desabilitar as ACLs, é ncessário migrar suas permissões de ACL de bucket para a política de bucket e redefinir a ACL de bucket para a ACL privada padrão. Se você não migrar e redefinir, a solicitação para adotar a configuração de imposto pelo proprietário do bucket para desabilitar ACLs falhará e retornará o código de erro [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl). Também recomendamos revisar suas permissões de ACL de objeto e migrá-las para a política de bucket. 

Para revisar e migrar permissões de ACL para políticas de bucket, consulte os tópicos a seguir.

**Topics**
+ [Exemplos de políticas de bucket](#migrate-acl-permissions-bucket-policies)
+ [Usar o console do S3 para revisar e migrar permissões de ACL](#review-migrate-acl-console)
+ [Usar a AWS CLI para revisar e migrar permissões de ACL](#review-migrate-acl-cli)

### Exemplos de políticas de bucket
<a name="migrate-acl-permissions-bucket-policies"></a>

Esses exemplos de políticas de bucket mostram como migrar permissões de ACL de bucket e de objeto `READ` e `WRITE` para uma Conta da AWS de terceiros para uma política de bucket. As ACLs `READ_ACP` e `WRITE_ACP` são menos relevantes para políticas porque concedem permissões relacionadas a ACLs (`s3:GetBucketAcl`, `s3:GetObjectAcl`, `s3:PutBucketAcl` e `s3:PutObjectAcl`).

**Example – ACL `READ` para um bucket**  
Se o bucket tiver uma ACL `READ` que conceda permissão à Conta da AWS `111122223333` para listar o conteúdo do bucket, você poderá escrever uma política de bucket que conceda as permissões `s3:ListBucket`, `s3:ListBucketVersions` e `s3:ListBucketMultipartUploads` para o bucket.     
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to list the objects in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [

						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:ListBucket",
					"s3:ListBucketVersions",
					"s3:ListBucketMultipartUploads"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
			}
		]
	}
```

**Example – ACLs `READ` para cada objeto de um bucket**  
Se cada objeto no bucket tiver uma ACL `READ` que conceda acesso à Conta da AWS `111122223333`, você poderá escrever uma política de bucket que conceda as permissões `s3:GetObject` e `s3:GetObjectVersion` a essa conta para cada objeto do bucket.    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Read permission for every object in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:GetObject",
					"s3:GetObjectVersion"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
			}
		]
	}
```
Esse elemento de recurso de exemplo concede acesso a um objeto específico.  

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/OBJECT-KEY"
```

**Example – ACL `WRITE` que concede permissões para gravar objetos em um bucket**  
Se o bucket tiver uma ACL `WRITE` que conceda permissão à Conta da AWS `111122223333` para gravar objetos no bucket, você poderá escrever uma política de bucket que conceda a permissão `s3:PutObject` para o bucket.    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to write objects to a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:PutObject"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
			}
		]
	}
```

### Usar o console do S3 para revisar e migrar permissões de ACL
<a name="review-migrate-acl-console"></a>

**Como revisar as permissões de ACL de um bucket**

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

1. Na lista **Buckets** (Buckets), escolha o nome do bucket.

1. Escolha a aba **Permissões**.

1. Em **Access control list (ACL)** (Lista de controle de acesso [ACL]), revise suas permissões de ACL de bucket.

**Como revisar as permissões de ACL de um objeto**

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

1. Na lista **Buckets**, escolha o nome do bucket que contém o objeto.

1. Na lista **Objects** (Objetos), escolha o nome do objeto.

1. Escolha a aba **Permissões**.

1. Em **Access control list (ACL)** (Lista de controle de acesso [ACL]), revise suas permissões de ACL de objeto.

**Para migrar permissões de ACL e atualizar a ACL de bucket**

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

1. Na lista **Buckets** (Buckets), escolha o nome do bucket.

1. Na guia **Permissions** (Permissões), escolha **Bucket policy** (Política de bucket), **Edit** (Editar).

1. Na caixa **Policy** (Política), adicione ou atualize a política de bucket.

   Para obter exemplos de políticas de bucket, consulte [Exemplos de políticas de bucket](#migrate-acl-permissions-bucket-policies) e [Exemplo de casos de uso](#object-ownership-migrating-acls).

1. Escolha **Salvar alterações**.

1. [Atualize sua ACL de bucket](managing-acls.md) para remover concessões de ACL para outros grupos ou Contas da AWS.

1. [Adote a configuração **Imposto pelo proprietário do bucket**](object-ownership-existing-bucket.md) em Propriedade de objeto.

### Usar a AWS CLI para revisar e migrar permissões de ACL
<a name="review-migrate-acl-cli"></a>

1. Para retornar a ACL para o bucket, use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html) da AWS CLI:

   ```
   aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket
   ```

   Por exemplo, essa ACL de bucket concede acesso `WRITE` e `READ` a uma conta de terceiros. Nessa ACL, a conta de terceiros é identificada pelo [ID de usuário canônico](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId). Para adotar a configuração Imposto pelo proprietário do bucket e desabilitar ACLs, é necessário migrar essas permissões à conta de terceiros para uma política de bucket. 

   ```
   {
   		"Owner": {
   			"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
   		},
   		"Grants": [
   			{
   				"Grantee": {
   					"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "FULL_CONTROL"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "READ"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "WRITE"
   			}
   		]
   	}
   ```

   Para ver outros exemplos de ACL, consulte [Exemplo de casos de uso](#object-ownership-migrating-acls).

1. Migre suas permissões de ACL de bucket para uma política de bucket:

   Este exemplo de política de bucket concede as permissões `s3:PutObject` e `s3:ListBucket` para uma conta de terceiros. Na política de bucket, a conta de terceiros é identificada pelo ID da Conta da AWS (`111122223333`).

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   	policy.json:
   	{
   		"Version": "2012-10-17",		 	 	 
   		"Statement": [
   			{
   				"Sid": "PolicyForCrossAccountAllowUpload",
   				"Effect": "Allow",
   				"Principal": {
   					"AWS": [
   						"arn:aws:iam::111122223333:root"
   					]
   				},
   				"Action": [
   					"s3:PutObject",
   					"s3:ListBucket"
   				],
   				"Resource": [
   					"arn:aws:s3:::amzn-s3-demo-bucket",
   					"arn:aws:s3:::amzn-s3-demo-bucket/*"
   			}
   		]
   	}
   ```

   Para obter mais exemplos de políticas de bucket, consulte [Exemplos de políticas de bucket](#migrate-acl-permissions-bucket-policies) e [Exemplo de casos de uso](#object-ownership-migrating-acls).

1. Para retornar a ACL para um objeto específico, use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html) da AWS CLI.

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket --key EXAMPLE-OBJECT-KEY
   ```

1. Se necessário, migre as permissões de ACL de objeto para a política de bucket. 

   Esse elemento de recurso de exemplo concede acesso a um objeto específico em uma política de bucket.

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/EXAMPLE-OBJECT-KEY"
   ```

1. Redefina a ACL de bucket para a ACL padrão.

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Adote a configuração Imposto pelo proprietário do bucket](object-ownership-existing-bucket.md) em Propriedade de objeto.

## Identificar as solicitações que exigiram uma ACL para autorização
<a name="object-ownership-acl-identify"></a>

Para identificar solicitações do Amazon S3 que exigiam ACLs para autorização, você pode usar o valor `aclRequired` nos logs de acesso do servidor do Amazon S3 ou do AWS CloudTrail. Se a solicitação exigiu uma ACL para autorização ou se você tem solicitações `PUT` que especificam uma ACL, a string é `Yes`. Se nenhuma ACL for necessária, ou se você estiver configurando uma ACL `bucket-owner-full-control` predefinida, ou se as solicitações forem permitidas pela política de bucket, a string de valor `aclRequired` será “`-`” nos logs de acesso ao servidor do Amazon S3 e estará ausente no CloudTrail. Para obter mais informações sobre valores `aclRequired` esperados, consulte [Valores `aclRequired` para solicitações comuns do Amazon S3](acl-overview.md#aclrequired-s3).

Se você tiver solicitações `PutBucketAcl` ou `PutObjectAcl` com cabeçalhos que concedam permissões baseadas em ACL, com exceção da ACL `bucket-owner-full-control` predefinida, será necessário remover esses cabeçalhos antes de poder desabilitar as ACLs. Caso contrário, as solicitações falharão.

Para todas as outras solicitações que exigiram uma ACL para autorização, migre essas permissões de ACL para políticas de bucket. Depois, remova todas as ACLs do bucket antes de habilitar a configuração imposta pelo proprietário do bucket. 

**nota**  
Não remova ACLs de objetos. Caso contrário, as aplicações que dependem de ACLs de objetos para obter permissões perderão o acesso.

Se você perceber que nenhuma solicitação exigiu uma ACL para autorização, será possível continuar desabilitando as ACLs. Para obter mais informações sobre como identificar solicitações, consulte [Usar logs de acesso ao servidor do Amazon S3 para identificar solicitações](using-s3-access-logs-to-identify-requests.md) e [Identificar solicitações do Amazon S3 usando o CloudTrail](cloudtrail-request-identification.md).

## Revisar e atualizar políticas de bucket que usam chaves de condição relacionadas à ACL
<a name="object-ownership-bucket-policies"></a>

Depois de adotar a configuração Imposto pelo proprietário do bucket para desabilitar ACLs, será possível carregar novos objetos no bucket somente se a solicitação usar ACLs de controle total do proprietário do bucket ou não especificar uma ACL. Antes de desabilitar as ACLs, revise a política de bucket para chaves de condição relacionadas à ACL.

Se a política de bucket usar uma chave de condição relacionada à ACL para exigir a ACL `bucket-owner-full-control` pré-configurada (por exemplo, `s3:x-amz-acl`), não será necessário atualizar sua política de bucket. A política de bucket a seguir usa `s3:x-amz-acl` para exigir a ACL `bucket-owner-full-control` pré-configurada para solicitações `PutObject` do S3. Essa política *ainda* requer que o gravador de objetos especifique a ACL `bucket-owner-full-control` pré-configurada. No entanto, buckets com ACLs desabilitadas ainda aceitam essa ACL, então as solicitações continuam sendo bem-sucedidas sem necessidade de alterações no lado do cliente.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OnlyAllowWritesToMyBucketWithBucketOwnerFullControl",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/ExampleUser"
                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

Porém, se a política de bucket usar uma chave de condição relacionada à ACL que requer uma ACL diferente, será necessário remover essa chave de condição. Este exemplo de política de bucket requer a ACL `public-read` pré-configurada para solicitações `PutObject` do S3 e devem ser atualizadas antes de desabilitar as ACLs. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Only allow writes to my bucket with public read access",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/ExampleUser"                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "public-read"
                }
            }
        }
    ]
}
```

------

## Exemplo de casos de uso
<a name="object-ownership-migrating-acls"></a>

Os exemplos a seguir mostram como migrar permissões de ACL para políticas de bucket para casos de uso específicos.

**Topics**
+ [Conceder acesso ao grupo de entrega de logs do S3 para registro em log de acesso ao servidor](#object-ownership-server-access-logs)
+ [Conceder acesso público de leitura aos objetos do bucket](#object-ownership-public-read)
+ [Conceder ao Amazon ElastiCache (Redis OSS) acesso ao bucket do S3](#object-ownership-elasticache-redis)

### Conceder acesso ao grupo de entrega de logs do S3 para registro em log de acesso ao servidor
<a name="object-ownership-server-access-logs"></a>

Para adotar a configuração Imposto pelo proprietário do bucket a fim de desabilitar ACLs para um bucket de destino de logs de acesso ao servidor (também conhecido como *bucket-alvo*), é necessário migrar permissões de ACL de bucket para o grupo de entrega de logs do S3 para a entidade principal de serviço do registro em log (`logging.s3.amazonaws.com`) em uma política de bucket. Para obter mais informações sobre permissões de entrega de logs, consulte [Permissões para entrega de logs](enable-server-access-logging.md#grant-log-delivery-permissions-general).

Essa ACL de bucket concede acesso `WRITE` e `READ_ACP` ao grupo de entrega de logs do S3:

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    }, 
    "Grants": [
        {
            "Grantee": {
                "Type": "CanonicalUser", 
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
            }, 
            "Permission": "FULL_CONTROL"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "WRITE"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "READ_ACP"
        }
    ]
}
```

**Para migrar permissões de ACL de bucket para o grupo de entrega de log do S3 para a entidade principal do serviço de log em uma política de bucket**

1. Adicione a política de bucket a seguir ao bucket de destino, substituindo os valores de exemplo.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:						{
       {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3ServerAccessLogsPolicy",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logging.s3.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/EXAMPLE-LOGGING-PREFIX*",
               "Condition": {
                   "ArnLike": {
                       "aws:SourceArn": "arn:aws:s3:::SOURCE-BUCKET-NAME"
                   },
                   "StringEquals": {
                       "aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"
                   }
               }
           }
       ]
   }
   ```

1. Redefina a ACL do bucket de destino para a ACL padrão.

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Aplique a configuração Imposto pelo proprietário do bucket](object-ownership-existing-bucket.md) para a Propriedade de Objetos no bucket de destino.

### Conceder acesso público de leitura aos objetos do bucket
<a name="object-ownership-public-read"></a>

Se as ACLs de objeto concederem acesso público de leitura a todos os objetos no bucket, será possível migrar essas permissões de ACL para uma política de bucket.

Essa ACL de objeto concede acesso público de leitura a um objeto de um bucket:

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
```

**Para migrar permissões públicas de ACL de leitura para uma política de bucket**

1. Para conceder acesso público de leitura a todos os objetos do bucket, adicione a política de bucket a seguir, substituindo os valores de exemplo.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

   Para conceder acesso público a um objeto específico de uma política de bucket, use o seguinte formato para o elemento `Resource`. 

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/OBJECT-KEY"
   ```

   Para conceder acesso público a todos os objetos com um prefixo específico, use o seguinte formato para o elemento `Resource`. 

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/PREFIX/*"
   ```

1. [Adote a configuração Imposto pelo proprietário do bucket](object-ownership-existing-bucket.md) em Propriedade de objeto.

### Conceder ao Amazon ElastiCache (Redis OSS) acesso ao bucket do S3
<a name="object-ownership-elasticache-redis"></a>

É possível [exportar o backup do ElastiCache (Redis OSS)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) para um bucket do S3, o que concede a você acesso ao backup de fora do ElastiCache. Para exportar o backup para um bucket do S3, é necessário conceder permissões do ElastiCache para copiar um snapshot para o bucket. Se você concedeu permissões ao ElastiCache em uma ACL de bucket, será necessário migrar essas permissões para uma política de bucket antes de adotar a configuração Imposto pelo proprietário do bucket para desabilitar ACLs. Para obter mais informações, consulte [Conceder acesso do ElastiCache ao bucket do Amazon S3](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) no *Guia do usuário do Amazon ElastiCache*.

O exemplo a seguir mostra as permissões de ACL de bucket que concedem permissões ao ElastiCache. 

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "WRITE"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ_ACP"
        }
    ]
}
```

**Como migrar permissões de ACL de bucket ao ElastiCache (Redis OSS) para uma política de bucket**

1. Adicione a política de bucket a seguir ao bucket, substituindo os valores de exemplo.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "Region.elasticache-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl",
                   "s3:ListMultipartUploadParts",
                   "s3:ListBucketMultipartUploads"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

1. Redefina a ACL de bucket para a ACL padrão:

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Adote a configuração Imposto pelo proprietário do bucket](object-ownership-existing-bucket.md) em Propriedade de objeto.