View a markdown version of this page

Chaves de política específicas de autenticação do Amazon S3 Signature Version 4. - Amazon Simple Storage Service

Chaves de política específicas de autenticação do Amazon S3 Signature Version 4.

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.

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.

Valores válidos:

"AWS" identifica o Signature Version 2

"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)). 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.

Valores válidos:

REST-HEADER

REST-QUERY-STRING

POST

s3:signatureAge

A duração em milissegundos da validade de uma assinatura em uma solicitação autenticada.

Essa condição funciona para:

No Signature Version 2, esse valor é sempre definido como 0.

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.

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.

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.

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).

Valor válido: UNSIGNED-PAYLOAD

Exemplos de política de bucket que usam chaves de condição relacionadas ao Signature Version 4

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" } } } ] }