As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
As solicitações do AWS WAF e do Shield Advanced são solicitações HTTPS, conforme definido na RFC 2616
URI da solicitação
O URI da solicitação é sempre uma barra individual, /
.
Cabeçalhos HTTP
O AWS WAF e o Shield Advanced requerem as informações a seguir no cabeçalho de uma solicitação HTTP:
- Host (obrigatório)
O endpoint que especifica onde seus recursos são criados. Para obter informações sobre endpoints, consulte endpoints de serviço da AWS. Por exemplo, o valor do cabeçalho
Host
do AWS WAF para uma distribuição do CloudFront éwaf.amazonaws.com:443
.- x-amz-date ou Data (obrigatório)
A data usada para criar a assinatura contida no cabeçalho
Authorization
. Especifique a data no formato padrão ISO 8601, no horário UTC, como mostrado no exemplo a seguir:x-amz-date: 20151007T174952Z
Você deve incluir
x-amz-date
ouDate
. (Algumas bibliotecas de cliente HTTP não permitem a definição do cabeçalhoDate
). Quando um cabeçalhox-amz-date
estiver presente, o AWS WAF ignorará qualquer cabeçalhoDate
ao autenticar a solicitação.O time stamp deve estar no intervalo de 15 minutos da hora do sistema da AWS quando a solicitação for recebida. Se não estiver, a solicitação falhará, com o código de erro
RequestExpired
, para impedir que outra pessoa reproduza suas solicitações.- Autorização (obrigatório)
As informações necessárias para solicitar a autenticação. Para mais informações sobre a criação desse cabeçalho, consulte Autenticação de solicitações.
- X-Amz-Target (obrigatório)
Uma concatenação de
AWSWAF_
ouAWSShield_
, a versão da API sem pontuação, um ponto final (.
) e o nome da operação, por exemplo:AWSWAF_20150824.CreateWebACL
- Content-Type (condicional)
Especifica que o tipo de conteúdo é JSON, bem como a versão do JSON, como mostrado no exemplo a seguir:
Content-Type: application/x-amz-json-1.1
Condição: Obrigatório para solicitações do
POST
.- Content-Length (condicional)
Comprimento da mensagem (sem cabeçalhos) de acordo com a RFC 2616.
Condição: obrigatório se o corpo da solicitação em si contiver informações (a maioria dos toolkits adiciona esse cabeçalho automaticamente).
Veja a seguir um exemplo de cabeçalho para uma solicitação HTTP para criar uma web ACL no AWS WAF:
POST / HTTP/1.1
Host: waf.amazonaws.com:443
X-Amz-Date: 20151007T174952Z
Authorization: AWS4-HMAC-SHA256
Credential=AccessKeyID/20151007/us-east-2/waf/aws4_request,
SignedHeaders=host;x-amz-date;x-amz-target,
Signature=145b1567ab3c50d929412f28f52c45dbf1e63ec5c66023d232a539a4afd11fd9
X-Amz-Target: AWSWAF_20150824.CreateWebACL
Accept: */*
Content-Type: application/x-amz-json-1.1; charset=UTF-8
Content-Length: 231
Connection: Keep-Alive
Corpo da solicitação HTTP
Muitas ações de API do AWS WAF e do Shield Advanced exigem que você inclua dados formatados por JSON no corpo da solicitação.
A solicitação do exemplo a seguir usa uma instrução JSON simples para atualizar um IPSet
para incluir o endereço IP 192.0.2.44 (representado na notação CIDR como 192.0.2.44/32):
POST / HTTP/1.1
Host: waf.amazonaws.com:443
X-Amz-Date: 20151007T174952Z
Authorization: AWS4-HMAC-SHA256
Credential=AccessKeyID/20151007/us-east-2/waf/aws4_request,
SignedHeaders=host;x-amz-date;x-amz-target,
Signature=145b1567ab3c50d929412f28f52c45dbf1e63ec5c66023d232a539a4afd11fd9
X-Amz-Target: AWSWAF_20150824.UpdateIPSet
Accept: */*
Content-Type: application/x-amz-json-1.1; charset=UTF-8
Content-Length: 283
Connection: Keep-Alive
{
"ChangeToken": "d4c4f53b-9c7e-47ce-9140-0ee5ffffffff",
"IPSetId": "69d4d072-170c-463d-ab82-0643ffffffff",
"Updates": [
{
"Action": "INSERT",
"IPSetDescriptor": {
"Type": "IPV4",
"Value": "192.0.2.44/32"
}
}
]
}