

# Chaves de política específicas de autenticação do Amazon S3 Signature Version 4.
<a name="bucket-policy-s3-sigv4-conditions"></a>

A tabela a seguir mostra as chaves de política relacionadas à autenticação do Amazon S3 Signature Version 4 que podem estar nas políticas do Amazon S3. Em uma política de bucket, você pode adicionar essas condições para aplicar um comportamento específico quando as solicitações forem autenticadas usando o Signature Version 4. Para obter exemplos de políticas, consulte [Exemplos de política de bucket que usam chaves de condição relacionadas ao Signature Version 4](#bucket-policy-sig-v4-condition-key-example). 


| Chaves aplicáveis | Descrição | 
| --- | --- | 
| `s3:signatureversion` | Identifica a versão do AWS Signature à qual você deseja oferecer suporte para solicitações autenticadas. Para solicitações autenticadas, o Amazon S3 é compatível com o Signature Version 4 e o Signature Version 2. Você pode adicionar essa condição à sua política de bucket para exigir uma versão de assinatura específica.<br />Valores válidos: <br />`"AWS"` identifica o Signature Version 2 <br /> `"AWS4-HMAC-SHA256"` identifica o Signature Version 4 | 
| `s3:authType` | O Amazon S3 é compatível com vários métodos de autenticação (consulte [Autenticação de solicitações (AWS Signature Version 4)](sig-v4-authenticating-requests.md)). Você pode usar essa chave de condição opcional para restringir as solicitações recebidas a usar um método específico de autenticação. Por exemplo, é possível permitir que somente o cabeçalho HTTP `Authorization` seja usado na autenticação de solicitação. <br />Valores válidos: <br />`REST-HEADER` <br />`REST-QUERY-STRING` <br />`POST` <br />  | 
| `s3:signatureAge` | A duração em milissegundos da validade de uma assinatura em uma solicitação autenticada.<br />Essa condição funciona para:+ *URLs pré-assinados*: onde a condição mais restritiva vence. Para obter mais informações, consulte [Trabalho com URLs pré-assinados](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html).<br />+ *POST pré-assinado*: faça upload de arquivos diretamente para o S3 usando POST pré-assinado. Para obter mais informações, consulte [Política de POST do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-HTTPPOSTConstructPolicy.html).<br />No Signature Version 2, esse valor é sempre definido como 0. <br />No Signature Version 4, a chave de assinatura é válida por até 7 dias. Portanto, as assinaturas também são válidas por até 7 dias. Você pode usar essa condição para limitar ainda mais a idade da assinatura. Para obter mais informações, consulte [Introdução à assinatura de solicitações](sig-v4-authenticating-requests.md#signing-request-intro).<br />Exemplo de valor: : `100` | 
| `s3:x-amz-content-sha256` | É possível usar essa chave de condição para proibir conteúdo não assinado em seu bucket.<br />Ao usar o Signature Version 4, para solicitações que usem o cabeçalho `Authorization`, você adiciona o cabeçalho `x-amz-content-sha256` no cálculo da assinatura e, em seguida, defina seu valor para a carga útil do hash. Essa chave de condição não é compatível com o cabeçalho `x-amz-content-sha256` como parâmetro de string de consulta.<br />Você pode usar essa chave de condição em sua política de bucket para negar qualquer upload cujas cargas úteis não estejam assinadas. Por exemplo, você pode negar uploads que usem o cabeçalho `Authorization` para autenticar solicitações, mas não assinem a carga útil. Para obter mais informações, consulte [Cálculos de assinatura para o cabeçalho de autorização: transferência de carga útil em uma única parte (AWS Signature Version 4)](sig-v4-header-based-auth.md).<br />Valor válido: `UNSIGNED-PAYLOAD` | 

## Exemplos de política de bucket que usam chaves de condição relacionadas ao Signature Version 4
<a name="bucket-policy-sig-v4-condition-key-example"></a>

A política de bucket a seguir vai negar qualquer solicitação de URL pré-assinado do Amazon S3 em objetos em `examplebucket` se a assinatura tiver mais de dez minutos de idade. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "Deny a presigned URL request if the signature is more than 10 min old",
         "Effect": "Deny",
         "Principal": "*",
         "Action": "s3:*",
         "Resource": "arn:aws:s3:::examplebucket3/*",
         "Condition": {
            "NumericGreaterThan": {
               "s3:signatureAge": 600000
            }
         }
      }
   ]
}
```

------

A política de bucket a seguir permite somente solicitações que usem o cabeçalho `Authorization` para autenticação de solicitação. Toda solicitação de POST ou URL pré-assinado será negada.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
               "Sid": "Allow only requests that use Authorization header for request authentication. Deny POST or presigned URL requests.",
               "Effect": "Deny",
               "Principal": "*",
               "Action": "s3:*",
               "Resource": "arn:aws:s3:::examplebucket3/*",
               "Condition": {
                     "StringNotEquals": {
                           "s3:authType": "REST-HEADER"
                     }
               }
         }
   ]
}
```

------

A política de bucket a seguir nega solicitações que usam URLs pré-assinados para autenticação de solicitações:

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"DenyUploadsUsingPresignedURL",
         "Effect":"Deny",
         "Principal":"*",
         "Action":"s3:*",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*",
         "Condition":{
            "StringEquals":{
               "s3:authType":"{{REST-query-string}}"
            }
         }
      }
   ]
}
```

------

A política de bucket a seguir nega qualquer upload com cargas úteis não assinadas:

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
               "Sid": "Deny uploads with unsigned payloads that use the Authorization header.",
               "Effect": "Deny",
               "Principal": "*",
               "Action": "s3:*",
               "Resource": "arn:aws:s3:::examplebucket3/*",
               "Condition": {
                     "StringEquals": {
                           "s3:x-amz-content-sha256": "UNSIGNED-PAYLOAD"
                     }
               }
         }
   ]
}
```

------