Ejemplos de AWS WAF Classic Regional que utilizan la AWS CLI - AWS Command Line Interface

Ejemplos de AWS WAF Classic Regional que utilizan la AWS CLI

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con AWS WAF Classic Regional.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar associate-web-acl.

AWS CLI

Para asociar una ACL web con un recurso

El siguiente comando associate-web-acl asocia una ACL web, especificada por web-acl-id, con un recurso, especificado por resource-arn. El ARN del recurso puede hacer referencia a un Equilibrador de carga de aplicación o a una puerta de enlace de la API:

aws waf-regional associate-web-acl \ --web-acl-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ --resource-arn 12cs345-67cd-890b-1cd2-c3a4567d89f1

Para obtener más información, consulte Trabajar con ACL web en la Guía para desarrolladores de AWS WAF.

  • Para obtener información sobre la API, consulte AssociateWebAcl en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-logging-configuration.

AWS CLI

Para crear una configuración de registro para el ARN de ACL web con el ARN de flujo de Kinesis Firehose especificado

En el siguiente ejemplo de put-logging-configuration, se muestra la configuración de registro para WAF con ALB/APIGateway en la región us-east-1.

aws waf-regional put-logging-configuration \ --logging-configuration ResourceArn=arn:aws:waf-regional:us-east-1:123456789012:webacl/3bffd3ed-fa2e-445e-869f-a6a7cf153fd3,LogDestinationConfigs=arn:aws:firehose:us-east-1:123456789012:deliverystream/aws-waf-logs-firehose-stream,RedactedFields=[] \ --region us-east-1

Salida:

{ "LoggingConfiguration": { "ResourceArn": "arn:aws:waf-regional:us-east-1:123456789012:webacl/3bffd3ed-fa2e-445e-869f-a6a7cf153fd3", "LogDestinationConfigs": [ "arn:aws:firehose:us-east-1:123456789012:deliverystream/aws-waf-logs-firehose-stream" ] } }
  • Para obtener información sobre la API, consulte PutLoggingConfiguration en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-byte-match-set.

AWS CLI

Para actualizar un conjunto de coincidencias de bytes

El siguiente comando update-byte-match-set elimina un objeto ByteMatchTuple (filtro) de un ByteMatchSet. Como el valor updates tiene comillas dobles incrustadas, debe escribir el valor entre comillas simples.

aws waf-regional update-byte-match-set \ --byte-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ --updates 'Action="DELETE",ByteMatchTuple={FieldToMatch={Type="HEADER",Data="referer"},TargetString="badrefer1",TextTransformation="NONE",PositionalConstraint="CONTAINS"}'

Para obtener más información, consulte Trabajar con condiciones de coincidencia de cadena en la Guía para desarrolladores de AWS WAF.

  • Para obtener información acerca de la API, consulte UpdateByteMatchSet en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-ip-set.

AWS CLI

Para actualizar un conjunto de IP

El siguiente comando update-ip-set actualiza un IPSet con una dirección IPv4 y elimina una dirección IPv6. Para obtener el valor de change-token, ejecute el comando get-change-token. Como el valor para las actualizaciones tiene comillas dobles incrustadas, debe escribir el valor entre comillas simples.

aws waf update-ip-set \ --ip-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ --updates 'Action="INSERT",IPSetDescriptor={Type="IPV4",Value="12.34.56.78/16"},Action="DELETE",IPSetDescriptor={Type="IPV6",Value="1111:0000:0000:0000:0000:0000:0000:0111/128"}'

Como alternativa, puede utilizar un archivo JSON para especificar la entrada. Por ejemplo:

aws waf-regional update-ip-set \ --ip-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ --updates file://change.json

Contenido del change.json

[ { "Action": "INSERT", "IPSetDescriptor": { "Type": "IPV4", "Value": "12.34.56.78/16" } }, { "Action": "DELETE", "IPSetDescriptor": { "Type": "IPV6", "Value": "1111:0000:0000:0000:0000:0000:0000:0111/128" } } ]

Para obtener más información, consulte Trabajar con condiciones de coincidencia de IP en la Guía para desarrolladores de AWS WAF.

  • Para obtener información sobre la API, consulte UpdateIpSet en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-rule.

AWS CLI

Para actualizar una regla

El siguiente comando update-rule elimina un objeto Predicate de una regla. Como el valor updates tiene comillas dobles incrustadas, debe escribir el valor entero entre comillas simples.

aws waf-regional update-rule \ --rule-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ --updates 'Action="DELETE",Predicate={Negated=false,Type="ByteMatch",DataId="MyByteMatchSetID"}'

Para obtener más información, consulte Trabajar con reglas en la Guía para desarrolladores de AWS WAF.

  • Para obtener información sobre la API, consulte UpdateRule en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-size-constraint-set.

AWS CLI

Para actualizar un conjunto de restricciones de tamaño

El siguiente comando update-size-constraint-set elimina un objeto SizeConstraint (filtros) de un conjunto de restricciones de tamaño. Como el valor updates tiene comillas dobles incrustadas, debe escribir el valor entero entre comillas simples.

aws waf-regional update-size-constraint-set \ --size-constraint-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ --updates 'Action="DELETE",SizeConstraint={FieldToMatch={Type="QUERY_STRING"},TextTransformation="NONE",ComparisonOperator="GT",Size=0}'

Para obtener más información, consulte Trabajar con condiciones de restricción de tamaño en la Guía para desarrolladores de AWS WAF.

  • Para obtener información sobre la API, consulte UpdateSizeConstraintSet en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-sql-injection-match-set.

AWS CLI

Para actualizar un conjunto de coincidencias de inyección de código SQL

El siguiente comando update-sql-injection-match-set elimina un objeto SqlInjectionMatchTuple (filtros) de un conjunto de coincidencias de inyección de código SQL. Como el valor updates tiene comillas dobles incrustadas, debe escribir el valor entero entre comillas simples.

aws waf-regional update-sql-injection-match-set --sql-injection-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates 'Action="DELETE",SqlInjectionMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}'

Para obtener más información, consulte Trabajar con condiciones de coincidencia de inyección de código SQL en la Guía para desarrolladores de AWS WAF.

En el siguiente ejemplo de código, se muestra cómo utilizar update-web-acl.

AWS CLI

Para actualizar una ACL web

El siguiente comando update-web-acl elimina un objeto ActivatedRule de una WebACL. Como el valor updates tiene comillas dobles incrustadas, debe escribir el valor entero entre comillas simples.

aws waf-regional update-web-acl \ --web-acl-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ --updates Action="DELETE",ActivatedRule='{Priority=1,RuleId="WAFRule-1-Example",Action={Type="ALLOW"},Type="ALLOW"}'

Para obtener más información, consulte Trabajar con ACL web en la Guía para desarrolladores de AWS WAF.

  • Para obtener información sobre la API, consulte UpdateWebAcl en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-xss-match-set.

AWS CLI

Para actualizar un XSSMatchSet

El siguiente comando update-xss-match-set elimina un objeto XssMatchTuple (filtros) de un XssMatchSet. Como el valor updates tiene comillas dobles incrustadas, debe escribir el valor entero entre comillas simples.

aws waf-regional update-xss-match-set \ --xss-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ --updates 'Action="DELETE",XssMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}'

Para obtener más información, consulte Trabajar con condiciones de coincidencia de scripting entre sitios en la Guía para desarrolladores de AWS WAF.

  • Para obtener información sobre la API, consulte UpdateXssMatchSet en la Referencia de comandos de la AWS CLI.