

# AWS WAF Classic Ejemplos de usando AWS CLI
<a name="cli_waf_code_examples"></a>

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.

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 distintas funciones de servicio, 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.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

### `put-logging-configuration`
<a name="waf_PutLoggingConfiguration_cli_topic"></a>

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

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

```
{
    "LoggingConfiguration": {
        "ResourceArn": "arn:aws:waf::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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/put-logging-configuration.html) en la *Referencia de comandos de la AWS CLI*. 

### `update-byte-match-set`
<a name="waf_UpdateByteMatchSet_cli_topic"></a>

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:  

```
aws waf 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/update-byte-match-set.html) en la *Referencia de comandos de la AWS CLI*. 

### `update-ip-set`
<a name="waf_UpdateIpSet_cli_topic"></a>

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:  

```
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 update-ip-set --ip-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1  --updates file://change.json
```
Este es el contenido del archivo 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/update-ip-set.html) en la *Referencia de comandos de la AWS CLI*. 

### `update-rule`
<a name="waf_UpdateRule_cli_topic"></a>

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:  

```
aws waf 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/update-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `update-size-constraint-set`
<a name="waf_UpdateSizeConstraintSet_cli_topic"></a>

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:  

```
aws waf 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/update-size-constraint-set.html) en la *Referencia de comandos de la AWS CLI*. 

### `update-sql-injection-match-set`
<a name="waf_UpdateSqlInjectionMatchSet_cli_topic"></a>

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:  

```
aws waf 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*.  
+  Para obtener información sobre la API, consulte [UpdateSqlInjectionMatchSet](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/update-sql-injection-match-set.html) en la *Referencia de comandos de la AWS CLI*. 

### `update-web-acl`
<a name="waf_UpdateWebAcl_cli_topic"></a>

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.  
aws waf update-web-acl --web-acl-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",ActivatedRule='\$1Priority=1,RuleId="WAFRule-1-Example",Action=\$1Type="ALLOW"\$1,Type="REGULAR"\$1'  
Salida:  

```
{
    "ChangeToken": "12cs345-67cd-890b-1cd2-c3a4567d89f1"
}
```
Para obtener más información, consulte [Trabajar con ACL web](https://docs.aws.amazon.com/waf/latest/developerguide/classic-web-acl-working-with.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Avanzado*.  
+  Para obtener información sobre la API, consulte [UpdateWebAcl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/update-web-acl.html) en la *Referencia de comandos de la AWS CLI*. 

### `update-xss-match-set`
<a name="waf_UpdateXssMatchSet_cli_topic"></a>

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:  

```
aws waf 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/waf/update-xss-match-set.html) en la *Referencia de comandos de la AWS CLI*. 