

# Solução de problemas de identidade e acesso do Amazon S3
<a name="security_iam_troubleshoot"></a>

Use as informações a seguir para ajudar a diagnosticar e corrigir problemas comuns que você possa encontrar ao trabalhar com o Amazon S3 e o IAM.

**Topics**
+ [Recebi um erro de acesso negado](#access_denied_403)
+ [Não tenho autorização para executar uma ação no Amazon S3](#security_iam_troubleshoot-no-permissions)
+ [Não estou autorizado a executar iam:PassRole](#security_iam_troubleshoot-passrole)
+ [Quero permitir que as pessoas fora da minha Conta da AWS acessem meus recursos do Amazon S3](#security_iam_troubleshoot-cross-account-access)
+ [Solucionar erros de acesso negado (403 Forbidden) no Amazon S3](troubleshoot-403-errors.md)

## Recebi um erro de acesso negado
<a name="access_denied_403"></a>

Verifique se não há uma instrução `Deny` explícita contra o solicitante ao qual você está tentando conceder permissões, seja na política de bucket ou na política baseada em identidade. 

Consulte informações detalhadas sobre a solução de problemas de erros de acesso negado em [Solucionar erros de acesso negado (403 Forbidden) no Amazon S3](troubleshoot-403-errors.md).

## Não tenho autorização para executar uma ação no Amazon S3
<a name="security_iam_troubleshoot-no-permissions"></a>

Se você receber uma mensagem de erro informando que não tem autorização para executar uma ação, suas políticas deverão ser atualizadas para permitir que você realize a ação.

O erro do exemplo a seguir ocorre quando o usuário do IAM `mateojackson` tenta usar o console para visualizar detalhes sobre um atributo `my-example-widget` fictício, mas não tem as permissões `s3:GetWidget` fictícias.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: s3:GetWidget on resource: my-example-widget
```

Nesse caso, a política do usuário `mateojackson` deve ser atualizada para permitir o acesso ao recurso `my-example-widget` usando a ação `s3:GetWidget`.

Se você precisar de ajuda, entre em contato com seu administrador AWS. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Não estou autorizado a executar iam:PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se receber uma mensagem de erro informando que você não tem autorização para executar a ação `iam:PassRole`, atualize suas políticas para permitir a transmissão de um perfil ao Amazon S3.

Alguns Serviços da AWS permitem que você passe um perfil existente para o serviço, em vez de criar um perfil de serviço ou perfil vinculado ao serviço. Para fazer isso, é preciso ter permissões para passar o perfil para o serviço.

O exemplo de erro a seguir ocorre quando uma usuária do IAM chamada `marymajor` tenta usar o console para executar uma ação no Amazon S3. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação `iam:PassRole`.

Se você precisar de ajuda, entre em contato com seu administrador AWS. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Quero permitir que as pessoas fora da minha Conta da AWS acessem meus recursos do Amazon S3
<a name="security_iam_troubleshoot-cross-account-access"></a>

É possível criar um perfil que os usuários de outras contas ou pessoas fora da organização podem usar para acessar seus recursos. É possível especificar quem é confiável para assumir o perfil. Para serviços que oferecem compatibilidade com políticas baseadas em recursos ou listas de controle de acesso (ACLs), é possível usar essas políticas para conceder às pessoas acesso aos seus recursos.

Para saber mais, consulte:
+ Para saber se o Amazon S3 é compatível com esses recursos, consulte [Como o Amazon S3 funciona com o IAM](security_iam_service-with-iam.md).
+ Para saber como conceder acesso a seus recursos em todas as Contas da AWS pertencentes a você, consulte [Fornecimento de acesso a um usuário do IAM em outra Conta da AWS pertencente a você](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) no *Guia de usuário do IAM*.
+ Para saber como conceder acesso a seus recursos para Contas da AWS de terceiros, consulte [Fornecimento de acesso a Contas da AWS pertencentes a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) no *Guia do usuário do IAM*.
+ Para saber como conceder acesso por meio da federação de identidades, consulte [Conceder acesso a usuários autenticados externamente (federação de identidades)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) no *Guia do usuário do IAM*.
+ Para saber a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

# Solucionar erros de acesso negado (403 Forbidden) no Amazon S3
<a name="troubleshoot-403-errors"></a>

Erros de acesso negado (HTTP `403 Forbidden`) são exibidos quando a AWS nega explícita ou implicitamente uma solicitação de autorização. 
+ Uma *negação explícita* ocorre quando uma política contém uma instrução `Deny` para a ação específica da AWS. 
+ Uma *negação implícita* ocorre quando não há nenhuma instrução `Deny` aplicável e também nenhuma instrução `Allow` aplicável. 

Como uma política do AWS Identity and Access Management (IAM) nega implicitamente uma entidade principal do IAM por padrão, a política deve permitir explicitamente que a entidade principal realize uma ação. Caso contrário, a política nega acesso implicitamente. Para ter mais informações, consulte [A diferença entre negações explícitas e implícitas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#AccessPolicyLanguage_Interplay) no *Guia do usuário do IAM*. Para ter informações sobre a lógica de avaliação de políticas que determina se uma solicitação de acesso é permitida ou negada, consulte [Lógica da avaliação de política](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) no *Guia do usuário do IAM*. 

Para ter mais informações sobre as permissões referentes a operações de API do S3 de acordo com os tipos de recurso do S3, consulte [Permissões obrigatórias para operações de API do Amazon S3](using-with-s3-policy-actions.md).

Os tópicos a seguir abordam as causas mais comuns dos erros de acesso negado no Amazon S3.

**nota**  
Em relação a erros de acesso negado (HTTP `403 Forbidden`), o Amazon S3 não cobra do proprietário do bucket quando a solicitação é iniciada fora da conta da AWS individual dele ou da organização da AWS à qual ele pertence.

**Topics**
+ [Exemplos de mensagens de acesso negado e como solucioná-las](#access-denied-message-examples)
+ [Acesso negado devido a configurações do pagamento pelo solicitante](#access-denied-requester-pays)
+ [Políticas de bucket e políticas do IAM](#bucket-iam-policies)
+ [Configurações de ACL do Amazon S3](#troubleshoot-403-acl-settings)
+ [Configurações do bloqueio de acesso público do S3](#troubleshoot-403-bpa)
+ [Configurações de criptografia do Amazon S3](#troubleshoot-403-encryption)
+ [Configurações do bloqueio de objetos do S3](#troubleshoot-403-object-lock)
+ [Políticas de VPC endpoint](#troubleshoot-403-vpc)
+ [AWS OrganizationsPolíticas do](#troubleshoot-403-orgs)
+ [Acesso à distribuição do CloudFront](#troubleshoot-403-cloudfront)
+ [Configurações do ponto de acesso](#troubleshoot-403-access-points)
+ [Recursos adicionais](#troubleshoot-403-additional-resources)

**nota**  
Se você estiver tentando solucionar um problema de permissões, comece com a seção [Exemplos de mensagens de acesso negado e como solucioná-las](#access-denied-message-examples) e acesse a seção [Políticas de bucket e políticas do IAM](#bucket-iam-policies). Lembre-se também de seguir as orientações em [Dicas para verificar permissões](#troubleshoot-403-tips).

## Exemplos de mensagens de acesso negado e como solucioná-las
<a name="access-denied-message-examples"></a>

O Amazon S3 agora inclui contexto adicional em erros de acesso negado (HTTP `403 Forbidden`) para solicitações feitas a recursos dentro da mesma conta da Conta da AWS ou da mesma organização no AWS Organizations. Esse novo contexto inclui o tipo de política que negou o acesso, o motivo da negação e informações sobre o usuário ou o perfil do IAM que solicitou acesso ao recurso. 

Esse contexto adicional ajuda você a solucionar problemas de acesso, identificar a causa-raiz dos erros de acesso negado e corrigir controles de acesso incorretos por meio da atualização das políticas pertinentes. Esse contexto adicional também está disponível nos logs do AWS CloudTrail. As mensagens de erro aprimoradas de acesso negado para solicitações da mesma conta ou da mesma organização agora estão disponíveis em todas as Regiões da AWS, incluindo as AWS GovCloud (US) Regions e as da China. 

A maioria das mensagens de erro de acesso negado está no formato `User user-arn is not authorized to perform action on "resource-arn" because context`. Neste exemplo, *`user-arn`* é o [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) do usuário que não recebe acesso, *`action`* é a ação de serviço que a política nega e *`resource-arn`* é o ARN do recurso no qual a política atua. O campo *`context`* representa contexto adicional sobre o tipo de política que explica por que o acesso é negado.

Quando uma política nega explicitamente o acesso porque ela contém uma declaração `Deny`, a mensagem de erro de acesso negado inclui a frase `with an explicit deny in a type policy`. Quando a política nega acesso implicitamente, a mensagem de erro de acesso negado inclui a frase `because no type policy allows the action action`.

**Importante**  
As mensagens aprimoradas de acesso negado são exibidas somente para solicitações da mesma conta ou para solicitações dentro da mesma organização no AWS Organizations. As solicitações entre contas fora da mesma organização exibem uma mensagem `Access Denied` genérica.   
Para ter informações sobre a lógica de avaliação de políticas que determina se uma solicitação de acesso entre contas é permitida ou negada, consulte [Lógica de avaliação de política entre contas](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) no *Guia do usuário do IAM*. Para ter uma explicação detalhada que mostra como conceder acesso entre contas, consulte [Exemplo 2: Proprietário do bucket concedendo permissões de bucket entre contas](example-walkthroughs-managing-access-example2.md). 
Para solicitações dentro da mesma organização no AWS Organizations:  
Não serão exibidas mensagens aprimoradas de acesso negado se uma negação ocorrer devido a uma política de endpoint de nuvem privada virtual (VPC).
Mensagens aprimoradas de acesso negado são apresentadas sempre que o proprietário do bucket e a conta do chamador pertencem à mesma organização no AWS Organizations. Embora os buckets configurado com as definições **Proprietário do bucket preferido** ou **Autor do objeto** da funcionalidade Propriedade de Objetos do S3 possam conter objetos pertencentes a contas diferentes, a propriedade do objeto não afeta as mensagens aprimoradas de acesso negado. As mensagens aprimoradas de acesso negado são exibidas para todas as solicitações de objeto desde que o proprietário do bucket e o chamador estejam na mesma organização, independentemente de quem seja o proprietário do objeto específico. Para ter informações sobre as configurações e definições de propriedade de objeto, consulte [Controlar a propriedade de objetos e desabilitar ACLs para seu bucket](about-object-ownership.md).
Mensagens de erro aprimoradas de acesso negado não são exibidas para solicitações feitas aos buckets de diretório. Solicitações de bucket de diretório exibem uma mensagem `Access Denied` genérica.
Se várias políticas do mesmo tipo negarem uma solicitação de autorização, a mensagem de erro de acesso negado não especificará o número de políticas.
Se vários tipos de política negarem uma solicitação de autorização, a mensagem de erro incluirá somente um dos tipos de política.
Se uma solicitação de acesso for negada por vários motivos, a mensagem de erro incluirá apenas um dos motivos da negação. 

Os exemplos a seguir mostram o formato de diferentes tipos de mensagem de acesso negado e como solucionar problemas de cada tipo de mensagem.

### Acesso negado devido ao tipo de criptografia bloqueado
<a name="access-denied-due-to-blocked-encryption-type"></a>

Para limitar os tipos de criptografia do lado do servidor que é possível usar em buckets de uso geral, você pode optar por bloquear as solicitações de gravação SSE-C atualizando a configuração de criptografia padrão para os buckets. Essa configuração em nível de bucket bloqueia solicitações de upload de objetos que especificam SSE-C. Quando o SSE-C é bloqueado para um bucket, qualquer solicitação `PutObject`, `CopyObject`, `PostObject` ou de multipart upload ou replicação que especifique a criptografia SSE-C será rejeitada com um erro HTTP 403 `AccessDenied`.

Essa configuração é um parâmetro na API `PutBucketEncryption` e também poderá ser atualizada usando o console do S3, a AWS CLI e SDKs da AWS se você tiver a permissão `s3:PutEncryptionConfiguration`. Os valores válidos são `SSE-C`, que bloqueia a criptografia SSE-C para o bucket de uso geral, e `NONE`, que permite o uso do SSE-C para gravações no bucket.

Por exemplo, quando o acesso é negado à solicitação `PutObject` por que a configuração `BlockedEncryptionTypes` bloqueia solicitações de gravação que especicam SSE-C, a seguinte mensagem é exibida:

```
An error occurred (AccessDenied) when calling the PutObject operation:   
User: arn:aws:iam::123456789012:user/MaryMajor  is not   
authorized to perform: s3:PutObject on resource:   
"arn:aws:s3:::amzn-s3-demo-bucket1/object-name" because this   
bucket has blocked upload requests that specify   
Server Side Encryption with Customer provided keys (SSE-C).   
Please specify a different server-side encryption type
```

Para saber mais sobre essa configuração, consulte [Bloquear ou desbloquear o SSE-C para um bucket de uso geral](blocking-unblocking-s3-c-encryption-gpb.md).

### Acesso negado devido a uma política de controle de recurso: negação explícita
<a name="access-denied-rcp-examples-explicit"></a>

1. Verifique se há uma instrução `Deny` para a ação em suas políticas de controle de recursos (RCPs). No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize sua RCP removendo a instrução `Deny`. Para obter mais informações, consulte [Atualizar uma política de controle de recursos (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy-rcp) no *Guia do usuário do AWS Organizations*. 

```
An error occurred (AccessDenied) when calling the GetObject operation: 
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
with an explicit deny in a resource control policy
```

### Acesso negado devido a uma política de controle de serviço: negação implícita
<a name="access-denied-scp-examples-implicit"></a>

1. Verifique se falta uma instrução `Allow` para a ação em suas políticas de controle de serviços (SCPs). No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize a SCP adicionando a instrução `Allow`. Para obter mais informações, consulte [Atualizar uma SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy) no *Guia do usuário do AWS Organizations*.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform:
s3:GetObject because no service control policy allows the s3:GetObject action
```

### Acesso negado devido a uma política de controle de serviço: negação explícita
<a name="access-denied-scp-examples-explicit"></a>

1. Verifique se há uma instrução `Deny` para a ação em suas políticas de controle de serviços (SCPs). No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize a SCP alterando a declaração `Deny` para permitir que o usuário tenha o acesso necessário. Para ver um exemplo de como fazer isso, consulte [Prevent IAM users and roles from making specified changes, with an exception for a specified admin role](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_general.html#example-scp-restricts-with-exception) no *Guia do usuário do AWS Organizations*. Para ter mais informações sobre a atualização da SCP, consulte [Updating an SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy) no *Guia do usuário do AWS Organizations*.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject with an explicit deny in a service control policy
```

### Acesso negado devido a uma política de endpoint da VPC: negação implícita
<a name="access-denied-vpc-endpoint-examples-implicit"></a>

1. Confira se falta uma declaração `Allow` para a ação nas políticas de endpoint da nuvem privada virtual (VPC). No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize sua política de endpoint da VPC adicionando a instrução `Allow`. Para obter mais informações, consulte [Atualizar uma política de endpoint da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy) no *Guia do AWS PrivateLink*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no VPC endpoint policy allows the s3:GetObject action
```

### Acesso negado devido a uma política de endpoint da VPC: negação explícita
<a name="access-denied-vpc-endpoint-examples-explicit"></a>

1. Confira se há uma declaração `Deny` explícita para a ação nas políticas de endpoint da nuvem privada virtual (VPC). No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize a política de endpoint da VPC alterando a declaração `Deny` para permitir que o usuário tenha o acesso necessário. Por exemplo, é possível atualizar a declaração `Deny` para usar a chave de condição `aws:PrincipalAccount` com o operador de condição `StringNotEquals` e permitir o acesso da entidade principal específica, conforme mostrado em [Exemplo 7: excluir determinadas entidades principais de uma declaração `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). Para ter mais informações sobre como atualizar a política de endpoint da VPC, consulte [Update a VPC endpoint policy](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy) no *Guia do AWS PrivateLink*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a VPC endpoint policy
```

### Acesso negado devido a um limite de permissões: negação implícita
<a name="access-denied-permissions-boundary-examples-implicit"></a>

1. Verifique se falta uma instrução `Allow` para a ação em seu limite de permissões. No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize seu limite de permissões adicionando a instrução `Allow` à política do IAM. Para ter mais informações, consulte [Limites de permissões para entidades do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) e [Edição de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) no *Guia do usuário do IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
because no permissions boundary allows the s3:GetObject action
```

### Acesso negado devido a um limite de permissões: negação explícita
<a name="access-denied-permissions-boundary-examples-explicit"></a>

1. Verifique se há uma instrução `Deny` explícita para a ação em seu limite de permissões. No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize o limite de permissões alterando a declaração `Deny` em sua política do IAM para permitir que o usuário tenha o acesso necessário. Por exemplo, é possível atualizar a declaração `Deny` para usar a chave de condição `aws:PrincipalAccount` com o operador de condição `StringNotEquals` e permitir o acesso da entidade principal específica, conforme mostrado em [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount) no *Guia do usuário do IAM*. Para ter mais informações, consulte [Limites de permissões para entidades do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) e [Edição de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) no *Guia do usuário do IAM*.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject with an explicit deny in a permissions boundary
```

### Acesso negado devido às políticas de sessão: negação implícita
<a name="access-denied-session-policy-examples-implicit"></a>

1. Verifique se falta uma instrução `Allow` para a ação em suas políticas de sessão. No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize a política de sessão adicionando a instrução `Allow`. Para ter mais informações, consulte [Políticas de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) e [Edição de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) no *Guia do usuário do IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no session policy allows the s3:GetObject action
```

### Acesso negado devido às políticas de sessão: negação explícita
<a name="access-denied-session-policy-examples-explicit"></a>

1. Verifique se há uma instrução `Deny` explícita para a ação em suas políticas de sessão. No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize a política de sessão alterando a declaração `Deny` para permitir que o usuário tenha o acesso necessário. Por exemplo, é possível atualizar a declaração `Deny` para usar a chave de condição `aws:PrincipalAccount` com o operador de condição `StringNotEquals` e permitir o acesso da entidade principal específica, conforme mostrado em [Exemplo 7: excluir determinadas entidades principais de uma declaração `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). Para ter mais informações sobre como atualizar a política de sessão, consulte [Políticas de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) e [Editar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) *no Guia do usuário do IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a session policy
```

### Acesso negado devido às políticas baseadas em recursos: negação implícita
<a name="access-denied-resource-based-policy-examples-implicit"></a>

**nota**  
*Políticas baseadas em recursos* são, por exemplo, políticas de bucket e de ponto de acesso.

1. Verifique se falta uma instrução `Allow` para a ação em sua política baseada em recursos. Confira também se a configuração `IgnorePublicAcls` do Bloqueio de Acesso Público do S3 é aplicada em nível de bucket, de ponto de acesso ou de conta. No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize a política adicionando a instrução `Allow`. Para ter mais informações, consulte [Políticas baseadas em recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) e [Edição de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) no *Guia do usuário do IAM*.

   Talvez você também precise ajustar a configuração `IgnorePublicAcls` do Bloqueio de Acesso Público para o bucket, o ponto de acesso ou a conta. Para obter mais informações, consulte [Acesso negado devido a configurações do Bloqueio de Acesso Público](#access-denied-bpa-examples) e [Configurar o bloqueio de acesso público para seus buckets do S3](configuring-block-public-access-bucket.md).

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no resource-based policy allows the s3:GetObject action
```

### Acesso negado devido às políticas baseadas em recursos: negação explícita
<a name="access-denied-resource-based-policy-examples-explicit"></a>

**nota**  
*Políticas baseadas em recursos* são, por exemplo, políticas de bucket e de ponto de acesso.

1. Verifique se há uma instrução `Deny` explícita para a ação em sua política baseada em recursos. Confira também se a configuração `RestrictPublicBuckets` do Bloqueio de Acesso Público do S3 é aplicada em nível de bucket, de ponto de acesso ou de conta. No exemplo a seguir, a ação é `s3:GetObject`.

1. Atualize a política alterando a declaração `Deny` para permitir que o usuário tenha o acesso necessário. Por exemplo, é possível atualizar a declaração `Deny` para usar a chave de condição `aws:PrincipalAccount` com o operador de condição `StringNotEquals` e permitir o acesso da entidade principal específica, conforme mostrado em [Exemplo 7: excluir determinadas entidades principais de uma declaração `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). Para ter mais informações sobre como atualizar a política baseada em recursos, consulte [Políticas baseadas no recurso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) e [Editar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) *no Guia do usuário do IAM*.

   Talvez você também precise ajustar a configuração `RestrictPublicBuckets` do Bloqueio de Acesso Público para o bucket, o ponto de acesso ou a conta. Para obter mais informações, consulte [Acesso negado devido a configurações do Bloqueio de Acesso Público](#access-denied-bpa-examples) e [Configurar o bloqueio de acesso público para seus buckets do S3](configuring-block-public-access-bucket.md).

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a resource-based policy
```

### Acesso negado devido a políticas baseadas em identidade: negação implícita
<a name="access-denied-identity-based-policy-examples-implicit"></a>

1. Verifique se falta uma instrução `Allow` para a ação em políticas baseadas em identidade anexadas à identidade. Para o exemplo a seguir, a ação é `s3:GetObject` anexada ao usuário `MaryMajor`.

1. Atualize a política adicionando a instrução `Allow`. Para ter mais informações, consulte [Políticas baseadas em identidade](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) e [Edição de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) no *Guia do usuário do IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no identity-based policy allows the s3:GetObject action
```

### Acesso negado devido às políticas baseadas em identidade: negação explícita
<a name="access-denied-identity-based-policy-examples-explicit"></a>

1. Verifique se há uma instrução `Deny` explícita para a ação em políticas baseadas em identidade anexadas à identidade. Para o exemplo a seguir, a ação é `s3:GetObject` anexada ao usuário `MaryMajor`.

1. Atualize a política alterando a declaração `Deny` para permitir que o usuário tenha o acesso necessário. Por exemplo, é possível atualizar a declaração `Deny` para usar a chave de condição `aws:PrincipalAccount` com o operador de condição `StringNotEquals` e permitir o acesso da entidade principal específica, conforme mostrado em [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount) no *Guia do usuário do IAM*. Para ter mais informações, consulte [Políticas baseadas em identidade](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) e [Edição de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) no *Guia do usuário do IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in an identity-based policy
```

### Acesso negado devido a configurações do Bloqueio de Acesso Público
<a name="access-denied-bpa-examples"></a>

O recurso Bloqueio de acesso público do Amazon S3 fornece configurações para pontos de acesso, buckets e contas para ajudar você a gerenciar o acesso público aos recursos do Amazon S3. Para obter mais informações sobre como o Amazon S3 define “público”, consulte [O significado de "público"](access-control-block-public-access.md#access-control-block-public-access-policy-status). 

Por padrão, novos buckets, pontos de acesso e objetos não permitem acesso público. No entanto, os usuários podem modificar políticas de bucket, políticas de ponto de acesso, políticas do usuário do IAM, permissões de objeto ou listas de controle de acesso (ACLs) para permitir acesso público. As configurações do Bloqueio de Acesso Público do S3 substituem essas políticas, permissões e ACLs. Desde abril de 2023, todas as configurações do Bloqueio de Acesso Público estão habilitadas por padrão para novos buckets. 

Ao receber uma solicitação para acessar um bucket ou um objeto, o Amazon S3 determina se o bucket ou a conta do proprietário do bucket tem uma configuração do Bloqueio de acesso público aplicada. Se a solicitação foi feita por meio de um ponto de acesso, o Amazon S3 também verificará se há configurações do Bloqueio de acesso público para o ponto de acesso. Caso haja uma configuração do Bloqueio de acesso público que proíba o acesso solicitado, o Amazon S3 rejeitará a solicitação.

O Bloqueio de acesso público do Amazon S3 fornece quatro configurações. Essas configurações são independentes e podem ser usadas em qualquer combinação. Cada configuração pode ser aplicada a um ponto de acesso, a um bucket ou a uma conta inteira da AWS. Se as configurações do Bloqueio de acesso público para o ponto de acesso, o bucket ou a conta forem diferentes, o Amazon S3 aplicará a combinação mais restritiva das configurações de ponto de acesso, bucket e conta.

Quando o Amazon S3 avalia se uma operação é proibida por uma configuração do Bloqueio de acesso público, ela rejeita qualquer solicitação que viole uma configuração de ponto de acesso, bucket ou conta.

As quatro configurações fornecidas pelo Bloqueio de acesso público do Amazon S3 são as seguintes: 
+ `BlockPublicAcls`: essa configuração se aplica às solicitações `PutBucketAcl`, `PutObjectAcl`, `PutObject`, `CreateBucket`, `CopyObject` e `POST Object`. A configuração `BlockPublicAcls` causa o seguinte comportamento: 
  + As chamadas `PutBucketAcl` e `PutObjectAcl` falharão se a lista de controle de acesso (ACL) especificada for pública.
  + As chamadas `PutObject` falharão se a solicitação incluir uma ACL pública.
  + Se essa configuração for aplicada a uma conta, as chamadas `CreateBucket` falharão com uma resposta HTTP `400` (`Bad Request`) se a solicitação incluir uma ACL pública.

  Por exemplo, quando o acesso é negado para uma solicitação `CopyObject` devido à configuração `BlockPublicAcls`, você recebe a seguinte mensagem: 

  ```
  An error occurred (AccessDenied) when calling the CopyObject operation: 
  User: arn:aws:sts::123456789012:user/MaryMajor is not authorized to 
  perform: s3:CopyObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
  because public ACLs are prevented by the BlockPublicAcls setting in S3 Block Public Access.
  ```
+ `IgnorePublicAcls`: a configuração `IgnorePublicAcls` faz o Amazon S3 ignorar todas as ACLs públicas em um bucket e todos os objetos contidos. Se a permissão da solicitação for concedida somente por uma ACL pública, a configuração `IgnorePublicAcls` rejeitará a solicitação.

  Qualquer negação resultante da configuração `IgnorePublicAcls` é implícita. Por exemplo, se `IgnorePublicAcls` negar uma solicitação `GetObject` devido a uma ACL pública, você receberá a seguinte mensagem: 

  ```
  User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
  s3:GetObject because no resource-based policy allows the s3:GetObject action
  ```
+ `BlockPublicPolicy`: essa configuração se aplica às solicitações `PutBucketPolicy` e `PutAccessPointPolicy`. 

  A configuração `BlockPublicPolicy` para um bucket faz com que o Amazon S3 rejeite chamadas para `PutBucketPolicy` caso a política de bucket especificada permita acesso público. A configuração também faz com que o Amazon S3 rejeite chamadas a `PutAccessPointPolicy` para todos os pontos de acesso na mesma conta do bucket caso a política especificada permita acesso público.

  A configuração `BlockPublicPolicy` para um ponto de acesso faz com que o Amazon S3 rejeite chamadas para `PutAccessPointPolicy` e `PutBucketPolicy` feitas por meio do ponto de acesso caso a política especificada (para o ponto de acesso ou o bucket subjacente) permita acesso público.

  Por exemplo, quando o acesso é negado em uma solicitação `PutBucketPolicy` devido à configuração `BlockPublicPolicy`, você recebe a seguinte mensagem: 

  ```
  An error occurred (AccessDenied) when calling the PutBucketPolicy operation: 
  User: arn:aws:sts::123456789012:user/MaryMajor is not authorized to 
  perform: s3:PutBucketPolicy on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
  because public policies are prevented by the BlockPublicPolicy setting in S3 Block Public Access.
  ```
+ `RestrictPublicBuckets`: a configuração `RestrictPublicBuckets` restringe o acesso a um ponto de acesso ou a um bucket com uma política pública apenas a entidades principais do AWS service (Serviço da AWS) e a usuários autorizados dentro da conta do proprietário do bucket e da conta do proprietário do ponto de acesso. Essa configuração bloqueia todo acesso entre contas ao ponto de acesso ou ao bucket (exceto entidades principais do AWS service (Serviço da AWS)), mas continua permitindo que usuários na conta gerenciem o ponto de acesso ou o bucket. Essa configuração também rejeita todas as chamadas anônimas (ou não assinadas).

  Qualquer negação resultante da configuração `RestrictPublicBuckets` é explícita. Por exemplo, se `RestrictPublicBuckets` negar uma solicitação `GetObject` devido a uma política de acesso público ou bucket público, você receberá a seguinte mensagem: 

  ```
  User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
  s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
  an explicit deny in a resource-based policy
  ```

Para ter mais informações sobre essas configurações, consulte [Configurações do bloqueio de acesso público](access-control-block-public-access.md#access-control-block-public-access-options). Para revisar e atualizar essas configurações, consulte [Configurar o bloqueio de acesso público](access-control-block-public-access.md#configuring-block-public-access).

## Acesso negado devido a configurações do pagamento pelo solicitante
<a name="access-denied-requester-pays"></a>

Se o bucket do Amazon S3 que você está tentando acessar tiver o recurso de pagamento pelo solicitante habilitado, você precisará ter certeza de que está transmitindo os parâmetros de solicitação corretos ao fazer solicitações para esse bucket. O recurso de pagamento pelo solicitante no Amazon S3 permite que o solicitante, em vez do proprietário do bucket, pague os custos de transferência de dados e de solicitação para acessar objetos no bucket. Quando o pagamento pelo solicitante está habilitado para um bucket, o proprietário do bucket não recebe cobrança pelas solicitações feitas por outras contas da AWS.

Se fizer uma solicitação a um bucket com o pagamento pelo solicitante habilitado sem passar os parâmetros necessários, você receberá um erro Access Denied (403 Forbidden). Para acessar objetos em um bucket com o pagamento pelo solicitante habilitado, você deve fazer o seguinte: 

1. Ao fazer solicitações usando a AWS CLI, você deve incluir o parâmetro `--request-payer requester`. Por exemplo, para copiar um objeto com a chave `object.txt` localizada no bucket `s3://amzn-s3-demo-bucket/` do S3 para um local na sua máquina local, você também deve passar o parâmetro `--request-payer requester` se esse bucket tiver o recurso de pagamento pelo solicitante habilitado. 

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/object.txt /local/path \
   --request-payer requester
   ```

1. Ao fazer solicitações programáticas usando um SDK da AWS, defina o cabeçalho `x-amz-request-payer` com o valor `requester`. Para ver um exemplo, consulte [Fazer download de objetos de buckets de Pagamento pelo solicitante](ObjectsinRequesterPaysBuckets.md).

1. O usuário ou o perfil do IAM que está fazendo a solicitação deve ter as permissões necessárias para acessar o bucket de pagamento pelo solicitante, como as permissões `s3:ListBucket` e `s3:GetObject`.

Ao incluir o parâmetro `--request-payer requester` ou definir o cabeçalho `x-amz-request-payer`, você está informando ao Amazon S3 que você, solicitante, pagará os custos associados ao acesso aos objetos no bucket com o pagamento pelo solicitante habilitado. Isso evitará o erro Access Denied (403 Forbidden).

## Políticas de bucket e políticas do IAM
<a name="bucket-iam-policies"></a>

### Operações no nível do bucket
<a name="troubleshoot-403-bucket-level-ops"></a>

Se não houver uma política de bucket em vigor, o bucket permitirá implicitamente solicitações de qualquer identidade do AWS Identity and Access Management (IAM) na conta do proprietário do bucket. O bucket também nega implicitamente solicitações de qualquer outra identidade do IAM de qualquer outra conta e solicitações anônimas (não assinadas). No entanto, se não houver uma política do usuário do IAM em vigor, o solicitante (a menos que seja o usuário-raiz da Conta da AWS) será implicitamente impedido de fazer qualquer solicitação. Para obter mais informações sobre essa lógica de avaliação, consulte [Determinar se uma solicitação é negada ou permitida em uma conta](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) no *Guia do usuário do IAM*.

### Operações no nível do objeto
<a name="troubleshoot-403-object-level-ops"></a>

Se o objeto pertencer à conta proprietária do bucket, a política de bucket e a política de usuário do IAM funcionarão da mesma forma para operações no nível do objeto e para operações no nível do bucket. Por exemplo, se não houver uma política de bucket em vigor, o bucket permitirá implicitamente solicitações de objeto de qualquer identidade do IAM na conta do proprietário do bucket. O bucket também nega implicitamente solicitações de objeto de qualquer outra identidade do IAM de qualquer outra conta e solicitações anônimas (não assinadas). No entanto, se não houver uma política de usuário do IAM em vigor, o solicitante (a menos que seja o usuário-raiz da Conta da AWS) será implicitamente impedido de fazer qualquer solicitação de objeto.

Se o objeto pertencer a uma conta externa, o acesso ao objeto só poderá ser concedido por meio de listas de controle de acesso (ACLs) do objeto. A política de bucket e a política de usuário do IAM ainda podem ser usadas para negar solicitações de objeto. 

Portanto, para garantir que a política de bucket ou a política de usuário do IAM não esteja causando um erro de Acesso negado (403 Proibido), verifique se os seguintes requisitos são atendidos:
+ Para acesso à mesma conta, não deve haver uma declaração `Deny` explícita contra o solicitante ao qual você está tentando conceder permissões, seja na política de bucket ou na política de usuário do IAM. Se você quiser conceder permissões usando somente a política de bucket e a política de usuário do IAM, deve haver pelo menos uma declaração `Allow` explícita em uma dessas políticas.
+ Para acesso entre contas, não deve haver uma declaração `Deny` explícita ao solicitante ao qual você está tentando conceder permissões, seja na política de bucket ou na política do usuário do IAM. Para conceder permissões entre contas usando somente a política de bucket e a política do usuário do IAM, a política do bucket e a política do usuário do IAM do solicitante devem incluir uma declaração `Allow` explícita.

**nota**  
As declarações `Allow` em uma política de bucket se aplicam somente a objetos que [pertencem à mesma conta proprietária do bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html). No entanto, as declarações `Deny` em uma política de bucket se aplicam a todos os objetos, independentemente da propriedade dele. 

**Para revisar ou editar a política de bucket**
**nota**  
Para visualizar ou editar uma política de bucket, é necessário ter a permissão `s3:GetBucketPolicy`.

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets**, escolha o nome do bucket para o qual você deseja visualizar ou editar uma política de bucket.

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

1. Em **Bucket policy** (Política de bucket), escolha **Edit** (Editar). A página **Edit bucket policy** (Editar política de bucket) é exibida.

Para revisar ou editar a política de bucket usando a AWS Command Line Interface (AWS CLI), use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html).

**nota**  
Se seu acesso a um bucket for bloqueado devido a uma política de bucket incorreta, [faça login no Console de gerenciamento da AWS usando as credenciais de usuário-raiz da Conta da AWS.](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html) Para recuperar o acesso ao bucket, exclua a política de bucket incorreta usando as credenciais de usuário-raiz da Conta da AWS.

### Dicas para verificar permissões
<a name="troubleshoot-403-tips"></a>

Para verificar se o solicitante tem as permissões adequadas para realizar uma operação do Amazon S3, tente o seguinte:
+ Identifique o solicitante. Se for uma solicitação não assinada, será uma solicitação anônima sem uma política de usuário do IAM. Se for uma solicitação que use um URL pré-assinado, a política do usuário será a mesma do perfil ou do usuário do IAM que assinou a solicitação.
+ Verifique se você está usando o perfil ou usuário do IAM correto. É possível verificar o perfil ou usuário do IAM no canto superior direito doConsole de gerenciamento da AWS ou usando o comando [https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html).
+ Verifique as políticas do IAM relacionadas ao perfil ou usuário do IAM. É possível usar um dos seguintes métodos:
  + [Testar as políticas do IAM com o simulador de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html).
  + Analise os diferentes [tipos de política do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).
+ Se necessário, [edite a política de usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html).
+ Veja os seguintes exemplos de políticas que negam ou permitem explicitamente o acesso:
  + Política de usuário do IAM de permissão explícita: [IAM: permite e nega acesso a vários serviços de forma programática e no console](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam_multiple-services-console.html)
  + Política de bucket de permissão explícita: [Conceder permissões a várias contas para fazer upload de objetos ou definir ACLs de objetos para acesso público](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-acl-1)
  + Política de usuário do IAM de negação explícita: [AWS: negar acesso àAWS com base na Região da AWS solicitada](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-requested-region.html)
  + Política de bucket de negação explícita: [Exigir SSE-KMS para todos os objetos gravados em um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-encryption-1)

## Configurações de ACL do Amazon S3
<a name="troubleshoot-403-acl-settings"></a>

Ao verificar as configurações de ACL, primeiro [revise a configuração de propriedade de objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-retrieving.html) para verificar se as ACLs estão ativadas no bucket. Esteja ciente de que as permissões de ACL podem ser usadas somente para conceder permissões e não podem ser usadas para rejeitar solicitações. Também não é possível usar ACLs para conceder acesso a solicitantes que são rejeitados por negações explícitas nas políticas de bucket ou nas políticas do usuário do IAM.

### A configuração de propriedade de objeto está definida como “Imposto pelo proprietário do bucket”
<a name="troubleshoot-403-object-ownership-1"></a>

Se a configuração **Imposto pelo proprietário do bucket** estiver habilitada, é improvável que as configurações de ACL causem um erro de acesso negado (403 proibido), pois essa configuração desabilita todas as ACLs que se aplicam ao bucket e aos objetos. **Imposto pelo proprietário do bucket** é a configuração padrão (e recomendada) para os buckets do Amazon S3.

### A configuração de propriedade de objeto está definida como “Proprietário do bucket preferido” ou “Autor do objeto”
<a name="troubleshoot-403-object-ownership-2"></a>

As permissões de ACL ainda são válidas com a configuração **Proprietário do objeto preferido** ou a configuração **Autor do objeto**. Há dois tipos de ACLs: ACLs de bucket e ACLs de objeto. Para ver as diferenças entre esses dois tipos de ACLs, consulte [Mapeamento das permissões da ACL e das permissões da política de acesso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping).

Dependendo da ação da solicitação rejeitada, [verifique as permissões de ACL para o bucket ou objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html):
+ Se o Amazon S3 rejeitou uma `LIST`, um objeto `PUT`, `GetBucketAcl` ou uma solicitação `PutBucketAcl`, [revise as permissões de ACL para o bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html).
**nota**  
Não é possível conceder permissões de objeto `GET` com as configurações de ACL do bucket.
+ Se o Amazon S3 rejeitou uma solicitação `GET` em um objeto do S3 ou uma solicitação [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html), [revise as permissões de ACL para o objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html).
**Importante**  
Se a conta da que possui o objeto for diferente da conta da que possui o bucket, o acesso ao objeto não será controlado pela política de bucket.

### Solução de problemas de um erro de acesso negado (403 proibido) de uma solicitação de objeto `GET` durante a propriedade de objetos entre contas
<a name="troubleshoot-403-object-ownership-tips"></a>

Examine as [configurações de propriedade de objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html#object-ownership-overview) do bucket para determinar o proprietário do objeto. Se você tiver acesso às [ACLs do objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html), também poderá verificar a conta do proprietário do objeto. (Para visualizar a conta do proprietário do objeto, revise a configuração da ACL do objeto no console do Amazon S3.) Como alternativa, você também pode fazer uma solicitação `GetObjectAcl` a fim de encontrar a [ID canônica](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) do proprietário do objeto para verificar a conta do proprietário do objeto. Por padrão, as ACLs concedem permissões explícitas para solicitações `GET` à conta do proprietário do objeto.

Depois de confirmar que o proprietário do objeto é diferente do proprietário do bucket, dependendo do caso de uso e nível de acesso, escolha um dos seguintes métodos para ajudar a resolver o erro Acesso negado (403 proibido):
+ **Desative as ACLs (recomendado)**: esse método se aplicará a todos os objetos e poderá ser executado pelo proprietário do bucket. Esse método concede automaticamente ao proprietário do bucket propriedade e controle total de todos os objetos do bucket. Antes de implementar esse método, verifique os [pré-requisitos para desativar as ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-migrating-acls-prerequisites.html). Para ter informações sobre como configurar o bucket no modo **Imposto pelo proprietário do bucket** (recomendado), consulte [Configurar propriedade de objeto em um bucket existente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html).
**Importante**  
Para evitar um erro de acesso negado (403 proibido), migre as permissões da ACL para uma política de bucket antes de desativar as ACLs. Para obter mais informações, consulte [Exemplos de políticas de bucket para migrar de permissões de ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-migrating-acls-prerequisites.html#migrate-acl-permissions-bucket-policies).
+ **Altere o proprietário do objeto para o proprietário do bucket**: esse método pode ser aplicado a objetos individuais, mas somente o proprietário do objeto (ou um usuário com as permissões apropriadas) pode alterar a propriedade de um objeto. Custos adicionais de `PUT` podem ser aplicados. (Para obter mais informações, consulte [Preço do Amazon S3](https://aws.amazon.com/s3/pricing/).) Esse método concede ao proprietário do bucket a propriedade total do objeto, permitindo que ele controle o acesso ao objeto por meio de uma política de bucket. 

  Para alterar a propriedade do objeto, siga um destes procedimentos:
  + Você (o proprietário do bucket) pode [copiar o objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html#CopyingObjectsExamples) de volta para o bucket. 
  + É possível alterar a configuração de propriedade de objeto do bucket para a configuração **Proprietário do bucket preferido**. Se o versionamento estiver desativado, os objetos no bucket serão substituídos. Se o versionamento estiver ativado, versões duplicadas do mesmo objeto aparecerão no bucket, e o proprietário do bucket poderá [definir uma regra de ciclo de vida para expirar](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-expire-general-considerations.html). Para obter instruções sobre como alterar a configuração de propriedade de objetos, consulte [Configurar propriedade de objeto em um bucket existente](object-ownership-existing-bucket.md).
**nota**  
Quando você atualiza a configuração de propriedade de objeto para **Proprietário do bucket preferido**, a configuração só é aplicada a novos objetos que são enviados ao bucket.
  + É possível fazer com que o proprietário do objeto carregue o objeto novamente com a ACL `bucket-owner-full-control` do objeto predefinido. 
**nota**  
Para uploads entre contas, você também pode exigir a ACL `bucket-owner-full-control` do objeto predefinido na política de bucket. Para obter um exemplo de política de bucket, consulte [Conceder permissões entre contas para fazer upload de objetos garantindo que o proprietário do bucket tenha controle total](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-acl-2).
+ **Mantenha o gravador do objeto como proprietário do objeto**: esse método não altera o proprietário do objeto, mas permite que você conceda acesso aos objetos individualmente. Para conceder acesso a um objeto, você deve ter a permissão `PutObjectAcl` para o objeto. Depois, para corrigir o erro Acesso negado (403 proibido), adicione o solicitante como [beneficiário](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#specifying-grantee) para acessar o objeto nas ACLs do objeto. Para obter mais informações, consulte [Configurar ACLs](managing-acls.md).

## Configurações do bloqueio de acesso público do S3
<a name="troubleshoot-403-bpa"></a>

Se a solicitação com falha envolver acesso público ou políticas públicas, confira as configurações do Bloqueio de Acesso Público do S3 na conta, no bucket ou no ponto de acesso. Para ter mais informações sobre como solucionar erros de acesso negado relacionados a configurações do Bloqueio de Acesso Público do S3, consulte [Acesso negado devido a configurações do Bloqueio de Acesso Público](#access-denied-bpa-examples).

## Configurações de criptografia do Amazon S3
<a name="troubleshoot-403-encryption"></a>

O Amazon S3 é compatível com a criptografia do lado do servidor no bucket. A criptografia do lado do servidor é a criptografia de dados em seu destino pela aplicação ou serviço que os recebe. O Amazon S3 criptografa os dados no nível do objeto no momento em que os grava em discos nos datacenters da AWS e descriptografa-os quando você os acessa. 

Por padrão, o Amazon S3 agora aplica a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) como nível básico de criptografia para cada bucket no Amazon S3. O Amazon S3 também permite que você especifique o método de criptografia do lado do servidor ao fazer upload de objetos.

**Para revisar as configurações de criptografia e o status da criptografia do lado do servidor do 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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets**, escolha o bucket para o qual você deseja verificar as configurações de criptografia.

1. Escolha a guia **Properties (Propriedades)**.

1. Role para baixo até a seção **Criptografia padrão** e veja as configurações de **Tipo de criptografia**.

Para verificar as configurações de criptografia usando a AWS CLI, use o comando [https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-encryption.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-encryption.html).

**Para verificar o status de criptografia 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. No painel de navegação à esquerda, escolha **Buckets**.

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

1. Na lista **Objetos**, escolha o nome do objeto ao qual você deseja adicionar ou no qual deseja alterar a criptografia. 

   A página de detalhes do objeto é exibida.

1. Role para baixo até a seção **Configurações de criptografia do lado do servidor** para ver as configurações de criptografia do lado do servidor do objeto.

Para verificar o status de criptografia do objeto usando a AWS CLI, use o comando [https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html#examples](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html#examples).

### Requisitos de permissões e criptografia
<a name="troubleshoot-403-encryption-requirements"></a>

O Amazon S3 agora é compatível com três tipos de criptografia do lado do servidor.
+ Criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3)
+ Criptografia no lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS)
+ Criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C)

Com base nas configurações de criptografia, verifique se os seguintes requisitos de permissões são atendidos:
+ **SSE-S3**: nenhuma permissão extra é necessária.
+ **SSE-KMS (com uma chave gerenciada pelo cliente)**: para fazer upload de objetos, é necessária a permissão `kms:GenerateDataKey` no AWS KMS key. Para baixar objetos e fazer uploads de objetos em várias partes, é necessária a permissão `kms:Decrypt` na chave do KMS.
+ **SSE-KMS (com um Chave gerenciada pela AWS)**: o solicitante deve ser da mesma conta que possui a chave do KMS `aws/s3`. O solicitante também deve ter as permissões corretas do Amazon S3 para acessar o objeto.
+ **SSE-C (com uma chave fornecida pelo cliente)**: nenhuma permissão adicional é necessária. É possível configurar a política de bucket para [exigir e restringir a criptografia do lado do servidor com chaves de criptografia fornecidas pelo cliente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key) para objetos no bucket.

Se o objeto estiver criptografado com uma chave gerenciada pelo cliente, certifique-se de que a política de chaves do KMS permita que você realize as ações `kms:GenerateDataKey` ou `kms:Decrypt`. Para obter instruções sobre como verificar a política de chaves do KMS, consulte [Visualizar uma política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-viewing.html) no *Guia do desenvolvedor do AWS Key Management Service*.

## Configurações do bloqueio de objetos do S3
<a name="troubleshoot-403-object-lock"></a>

Se o bucket tiver o [Bloqueio de Objetos do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) habilitado, o objeto estiver protegido por um [período de retenção](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-retention-periods) ou uma [restrição legal](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-legal-holds) e você tentar excluir o objeto, o Amazon S3 exibirá uma das seguintes respostas, dependendo de como você tentou excluir o objeto:
+ **Solicitação de `DELETE` permanente**: se você emitiu uma solicitação `DELETE` permanente (uma solicitação que especifica um ID de versão), o Amazon S3 exibirá um erro Access Denied (`403 Forbidden`) quando você tentar excluir o objeto.
+ **Solicitação `DELETE` simples**: se você emitiu uma solicitação `DELETE` simples (que não especifica um versão de ID), o Amazon S3 exibirá uma resposta `200 OK` inserirá um [marcador de exclusão](DeleteMarker.md) no bucket, e esse marcador se tornará a versão atual do objeto com um novo ID.

**Para verificar se o bucket tem o bloqueio de objetos ativado**

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets**, escolha o nome do bucket que deseja revisar.

1. Escolha a guia **Properties (Propriedades)**.

1. Role para baixo até a seção **Bloqueio de objetos**. Verifique se a configuração de **Bloqueio de objetos** está **Ativada** ou **Desativada**.

Para determinar se o objeto está protegido por um período de retenção ou uma retenção legal, [veja as informações de bloqueio](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-view) do objeto. 

Se o objeto estiver protegido por um período de retenção ou uma retenção legal, verifique o seguinte:
+ Se a versão do objeto estiver protegida pelo modo de retenção de conformidade, não há como excluí-lo permanentemente. Uma solicitação `DELETE` permanente de qualquer solicitante, incluindo o usuário-raiz da Conta da AWS, vai gerar um erro de Acesso negado (403 Proibido). Além disso, lembre-se de que quando você envia uma solicitação `DELETE` para um objeto protegido pelo modo de retenção de conformidade, o Amazon S3 cria um [marcador de exclusão](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html) para o objeto.
+ Se a versão do objeto estiver protegida com o modo de retenção de governança e você tiver a permissão `s3:BypassGovernanceRetention`, poderá ignorar a proteção e excluir permanentemente a versão. Para obter mais informações, consulte [Ignorar modo de governança](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-bypass).
+ Se a versão do objeto estiver protegida por uma retenção legal, uma solicitação `DELETE` permanente poderá resultar em um erro de Acesso negado (403 proibido). Para excluir permanentemente a versão do objeto, é necessário remover a retenção legal da versão do objeto. Para remover uma retenção legal, você deve ter a permissão `s3:PutObjectLegalHold`. Para obter mais informações como remover uma retenção legal, consulte [Configurar a funcionalidade Bloqueio de Objetos do S3](object-lock-configure.md).

## Políticas de VPC endpoint
<a name="troubleshoot-403-vpc"></a>

Se você estiver acessando o Amazon S3 por meio de um endpoint da nuvem privada virtual (VPC), verifique se a política de endpoint da VPC não está impedindo o acesso aos recursos do Amazon S3. Por padrão, a política de endpoint da VPC permite todas as solicitações ao Amazon S3. Também é possível configurar a política de endpoint da VPC para restringir determinadas solicitações. Para ter informações sobre como conferir a política de endpoint da VPC, consulte os seguintes recursos: 
+ [Acesso negado devido a uma política de endpoint da VPC: negação implícita](#access-denied-vpc-endpoint-examples-implicit)
+ [Acesso negado devido a uma política de endpoint da VPC: negação explícita](#access-denied-vpc-endpoint-examples-explicit)
+ [Control access to VPC endpoints by using endpoint policies](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) no *Guia do AWS PrivateLink*

## AWS OrganizationsPolíticas do
<a name="troubleshoot-403-orgs"></a>

Se a sua Conta da AWS pertence a uma organização, as políticas do AWS Organizations podem impedir que você acesse os recursos do Amazon S3. Por padrão, as políticas do AWS Organizations não bloqueiam nenhuma solicitação ao Amazon S3. No entanto, verifique se as suas políticas do AWS Organizations não foram configuradas para bloquear o acesso aos buckets do S3. Para ter instruções sobre como conferir as políticas do AWS Organizations, consulte os seguintes recursos: 
+ [Acesso negado devido a uma política de controle de serviço: negação implícita](#access-denied-scp-examples-implicit)
+ [Acesso negado devido a uma política de controle de serviço: negação explícita](#access-denied-scp-examples-explicit)
+ [Acesso negado devido a uma política de controle de recurso: negação explícita](#access-denied-rcp-examples-explicit)
+ [Listing all policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_info-operations.html#list-all-pols-in-org) no *Guia do usuário do AWS Organizations*

Além disso, se você configurou incorretamente a política de bucket para uma conta-membro a fim de negar a todos os usuários o acesso ao bucket do S3, é possível desbloquear o bucket iniciando uma sessão privilegiada para a conta-membro no IAM. Depois de iniciar uma sessão privilegiada, você pode excluir a política de bucket configurada incorretamente para recuperar o acesso ao bucket. Consulte mais informações em [Perform a privileged task on an AWS Organizations member account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) no *Guia do usuário do AWS Identity and Access Management*. 

## Acesso à distribuição do CloudFront
<a name="troubleshoot-403-cloudfront"></a>

Se você receber um erro Access Denied (403 Forbidden) ao tentar acessar seu site estático do S3 por meio do CloudFront, verifique estes problemas comuns:
+ **Você tem o formato correto de nome de domínio de origem?**
  + Você deve usar o formato de endpoint do site do S3 (bucket-name.s3-website-region.amazonaws.com) em vez do endpoint da API REST.
  + Verifique se a hospedagem do site estático está habilitada em seu bucket.
+ **Sua política de bucket permite acesso ao CloudFront?**
  + Garanta que sua política de bucket inclua permissões para a identidade de acesso de origem (OAI) ou controle de acesso de origem (OAC) da sua distribuição do CloudFront.
  + Verifique se a política inclui as permissões s3:GetObject necessárias.

Para etapas e configurações adicionais de solução de problemas, incluindo configurações de página de erro e configurações de protocolo, consulte [Estou usando um endpoint do site do S3 como origem de minha distribuição do CloudFront. Por que estou recebendo erros 403 Access Denied (Acesso negado)](https://repost.aws/knowledge-center/s3-website-cloudfront-error-403)? no Centro de Conhecimento do AWS re:Post.

**nota**  
Esse erro é diferente dos erros 403 que você pode receber ao acessar o S3 diretamente. Para problemas específicos do CloudFront, verifique as configurações de distribuição do CloudFront e as configurações do S3.

## Configurações do ponto de acesso
<a name="troubleshoot-403-access-points"></a>

Se você receber um erro de acesso negado (403 proibido) ao fazer solicitações por meio de Pontos de Acesso Amazon S3, talvez seja necessário verificar o seguinte: 
+ As configurações dos pontos de acesso
+ A política de usuário do IAM usada para os pontos de acesso
+ A política de bucket usada para gerenciar ou configurar os pontos de acesso entre contas

**Políticas e configurações de pontos de acesso**
+ Ao criar um ponto de acesso, é possível designar **Internet** ou **VPC** como a origem da rede. Se a origem da rede for definida somente como VPC, o Amazon S3 rejeitará todas as solicitações feitas ao ponto de acesso que não sejam originadas da VPC especificada. Para verificar a origem da rede do ponto de acesso, consulte [Criar pontos de acesso restritos a uma nuvem privada virtual](access-points-vpc.md).
+ Com os pontos de acesso, você também pode definir configurações personalizadas do bloqueio de acesso público, que funcionam de forma semelhante às configurações desse recurso no nível do bucket ou da conta. Para verificar as configurações personalizadas do bloqueio de acesso público, consulte [Gerenciar o acesso público a pontos de acesso para buckets de uso geral](access-points-bpa-settings.md).
+ Para fazer solicitações bem-sucedidas ao Amazon S3 usando pontos de acesso, o solicitante deve ter as permissões necessárias do IAM. Para obter mais informações, consulte [Configurar políticas do IAM para uso de pontos de acesso](access-points-policies.md).
+ Se a solicitação envolver pontos de acesso entre contas, o proprietário do bucket deve ter atualizado a política do bucket para autorizar solicitações do ponto de acesso. Para obter mais informações, consulte [Conceder permissões para pontos de acesso entre contas](access-points-policies.md#access-points-cross-account).

Se o erro Acesso negado (403 proibido) persistir depois de verificar todos os itens neste tópico, [recupere seu ID de solicitação do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/get-request-ids.html) e entre em contato com o Suporte para obter mais orientações.

## Recursos adicionais
<a name="troubleshoot-403-additional-resources"></a>

Para obter orientação adicional sobre os erros Access Denied (403 Forbidden), você pode conferir os seguintes recursos:
+ [Como solucionar erros 403 Acesso Negado do Amazon S3?](https://repost.aws/knowledge-center/s3-troubleshoot-403) no Centro de Conhecimento do AWS re:Post.
+ [Por que estou recebendo um erro “403 Forbidden” (Proibido) quando tento acessar um bucket ou objeto do Amazon S3?](https://repost.aws/knowledge-center/s3-403-forbidden-error) no Centro de Conhecimento do AWS re:Post.
+ [Como soluciono os erros 403 Acesso negado do meu bucket do Amazon S3 em que todos os recursos são da mesma Conta da AWS?](https://repost.aws/knowledge-center/s3-troubleshoot-403-resource-same-account) no Centro de Conhecimento do AWS re:Post.
+ [Como solucionar problemas de erros 403 Acesso negado em um bucket do Amazon S3 com acesso de leitura pública](https://repost.aws/knowledge-center/s3-troubleshoot-403-public-read)? no Centro de Conhecimento do AWS re:Post.
+ [Como soluciono os erros “SignatureDoesNotMatch” ou “403 Forbidden” nas solicitações de URL pré-assinadas do Amazon S3?](https://repost.aws/knowledge-center/s3-presigned-url-signature-mismatch) no Centro de Conhecimento do AWS re:Post.
+ [Por que recebo um erro de acesso negado para ListObjectsV2 quando executo o comando de sincronização no meu bucket do Amazon S3?](https://repost.aws/knowledge-center/s3-access-denied-listobjects-sync) no Centro de Conhecimento do AWS re:Post.
+ [Estou usando um endpoint do site do S3 como origem de minha distribuição do CloudFront. Por que estou recebendo erros 403 Access Denied (Acesso negado)?](https://repost.aws/knowledge-center/s3-website-cloudfront-error-403) no Centro de Conhecimento do AWS re:Post.