Realizar solicitudes HTTPS a AWS WAF o Shield Advanced - AWS WAF, AWS Firewall ManagerAWS Shield Advanced, y director AWS Shield de seguridad de red

Presentamos una nueva experiencia de consola para AWS WAF

Ahora puede usar la experiencia actualizada para acceder a las AWS WAF funciones desde cualquier parte de la consola. Para obtener más información, consulta Trabajar con la experiencia de consola actualizada.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Realizar solicitudes HTTPS a AWS WAF o Shield Advanced

AWS WAF y las solicitudes Shield Advanced son solicitudes HTTPS, según se define en el RFC 2616. Como cualquier solicitud HTTP, una solicitud a Shield Advanced AWS WAF o a Shield Advanced contiene un método de solicitud, un URI, encabezados de solicitud y un cuerpo de solicitud. La respuesta contiene un código de estado HTTP, encabezados de respuesta y, a veces, una respuesta.

URI de solicitud

La solicitud URI siempre es un signo de barra diagonal sencilla, /.

Encabezados HTTP

AWS WAF y Shield Advanced requieren la siguiente información en el encabezado de una solicitud HTTP:

Host (requerida)

Punto de conexión que especifica dónde se crean los recursos. Para obtener más información acerca de los puntos de enlace, consulte Puntos de enlace de servicio de AWS. Por ejemplo, el valor del Host encabezado AWS WAF de una CloudFront distribución eswaf.amazonaws.com:443.

x-amz-date o Fecha (obligatorio)

Fecha utilizada para crear la firma que se encuentra en el encabezado de la Authorization. Especifique la fecha en formato estándar ISO 8601, hora UTC, tal y como se muestra en el ejemplo siguiente:

x-amz-date: 20151007T174952Z

Debe incluir x-amz-date o Date. (Algunas bibliotecas de cliente de HTTP no permiten configurar el encabezado de la Date). Cuando hay un x-amz-date encabezado, AWS WAF ignora cualquier Date encabezado al autenticar la solicitud.

La marca de tiempo debe estar a menos de 15 minutos de la hora del AWS sistema en que se recibe la solicitud. En caso contrario, la solicitud falla y emite el código de error RequestExpired para impedir que otra persona reproduzca sus solicitudes.

Authorization (requerida)

Información necesaria para solicitar la autenticación. Para obtener más información sobre la creación de este encabezado, consulte Autenticación de solicitudes.

X-Amz-Target (Obligatorio)

Concatenación de AWSWAF_ o AWSShield_, la versión de la API sin puntuación, un punto (.) y el nombre de la operación, por ejemplo:

AWSWAF_20150824.CreateWebACL

Content-Type (condicional)

Especifica que el tipo de contenido es JSON, así como la versión de JSON, tal y como se muestra en el ejemplo siguiente:

Content-Type: application/x-amz-json-1.1

Condición: obligatorio para las solicitudes de POST.

Content-Length (condicional)

Longitud del mensaje (sin encabezados) de acuerdo con RFC 2616.

Condición: obligatoria si el texto de la solicitud contiene información (la mayoría de los kits de herramientas agregan este encabezado automáticamente).

A continuación se muestra un ejemplo de encabezado de una solicitud HTTP para crear un paquete de protección (ACL web) en 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

Cuerpo de la solicitud HTTP

Muchas acciones AWS WAF de la API Shield Advanced requieren que incluyas datos con formato JSON en el cuerpo de la solicitud.

La siguiente solicitud de ejemplo utiliza una declaración JSON simple para actualizar una IPSet e incluir la dirección IP 192.0.2.44 (representada en notación 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" } } ] }