

**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, consulte [Trabajar con la consola](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

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.

# Cómo AWS WAF funciona con IAM
<a name="security_iam_service-with-iam"></a>

En esta sección se explica cómo utilizar las funciones de IAM con. AWS WAF

Antes de utilizar IAM para gestionar el acceso AWS WAF, infórmese sobre las funciones de IAM disponibles para su uso. AWS WAF






**Funciones de IAM que puede utilizar con AWS WAF**  

| Característica de IAM | AWS WAF soporte | 
| --- | --- | 
|  [Políticas basadas en identidades](#security_iam_service-with-iam-id-based-policies)  |   Sí  | 
|  [Políticas basadas en recursos](#security_iam_service-with-iam-resource-based-policies)  |   Sí  | 
|  [Acciones de políticas](#security_iam_service-with-iam-id-based-policies-actions)  |   Sí  | 
|  [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)  |   Sí  | 
|  [Claves de condición de política (específicas del servicio)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sí  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   No   | 
|  [ABAC (etiquetas en políticas)](#security_iam_service-with-iam-tags)  |   Parcial  | 
|  [Credenciales temporales](#security_iam_service-with-iam-roles-tempcreds)  |   Sí  | 
|  [Sesiones de acceso directo (FAS)](#security_iam_service-with-iam-principal-permissions)  |   Sí  | 
|  [Roles de servicio](#security_iam_service-with-iam-roles-service)  |   Sí  | 
|  [Roles vinculados al servicio](#security_iam_service-with-iam-roles-service-linked)  |   Sí  | 

Para obtener una visión general de cómo AWS WAF funcionan otros AWS servicios con la mayoría de las funciones de IAM, consulte [AWS los servicios que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la Guía del usuario de *IAM*.

## Políticas basadas en la identidad para AWS WAF
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatibilidad con las políticas basadas en identidad:** sí

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. Para obtener más información sobre los elementos que puede utilizar en una política de JSON, consulte [Referencia de los elementos de la política de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

Para ver ejemplos de políticas AWS WAF basadas en la identidad, consulte. [Ejemplos de políticas basadas en la identidad para AWS WAF](security_iam_id-based-policy-examples.md)

## Políticas basadas en recursos incluidas AWS WAF
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Compatibilidad con las políticas basadas en recursos:** sí

Las políticas basadas en recursos son documentos de política JSON que se asocian a un recurso. Los ejemplos de políticas basadas en recursos son las *políticas de confianza de roles* de IAM y las *políticas de bucket* de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Para el recurso al que se asocia la política, la política define qué acciones puede realizar una entidad principal especificada en ese recurso y en qué condiciones. Debe [especificar una entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos. Los principales pueden incluir cuentas, usuarios, roles, usuarios federados o. Servicios de AWS

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la entidad principal de una política en función de recursos. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

AWS WAF utiliza políticas basadas en recursos para permitir el uso compartido de grupos de reglas entre cuentas. Para compartir un grupo de reglas de su propiedad con otra AWS cuenta, debe proporcionar la configuración de políticas basada en recursos a la llamada a la AWS WAF API `PutPermissionPolicy` o a una llamada de CLI o SDK equivalente. Para obtener información adicional, incluidos ejemplos y enlaces a la documentación de los demás idiomas disponibles, consulta la referencia de [PutPermissionPolicy](https://docs.aws.amazon.com/waf/latest/APIReference/API_PutPermissionPolicy.html)la AWS WAF API. Esta funcionalidad no está disponible a través de otros medios, como la consola o. CloudFormation

## Acciones políticas para AWS WAF
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatibilidad con las acciones de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.



Para ver una lista de AWS WAF acciones y permisos para cada una de ellas, consulta [las acciones definidas por la AWS WAF versión 2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-actions-as-permissions) en la *Referencia de autorización de servicios*.

Las acciones políticas AWS WAF utilizan el siguiente prefijo antes de la acción:

```
wafv2
```

Para especificar varias acciones en una única instrucción, sepárelas con comas.

```
"Action": [
      "wafv2:action1",
      "wafv2:action2"
         ]
```



Puede utilizar caracteres comodín (\$1) para especificar varias acciones . Por ejemplo, para especificar todas las acciones AWS WAF que comiencen por`List`, incluya la siguiente acción:

```
"Action": "wafv2:List*"
```

Para ver ejemplos de políticas AWS WAF basadas en la identidad, consulte. [Ejemplos de políticas basadas en la identidad para AWS WAF](security_iam_id-based-policy-examples.md)

### Acciones que requieren configuraciones de permisos adicionales
<a name="security_iam_action-additions"></a>

Algunas acciones requieren permisos que no se pueden describir completamente en [las acciones definidas por la AWS WAF versión 2 de](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-actions-as-permissions) la *Referencia de autorización de servicios*. En esta sección, se proporciona información adicional sobre los permisos.

**Topics**
+ [Permisos para `AssociateWebACL`](#security_iam_action-AssociateWebACL)
+ [Permisos para `DisassociateWebACL`](#security_iam_action-DisassociateWebACL)
+ [Permisos para `GetWebACLForResource`](#security_iam_action-GetWebACLForResource)
+ [Permisos para `ListResourcesForWebACL`](#security_iam_action-ListResourcesForWebACL)

#### Permisos para `AssociateWebACL`
<a name="security_iam_action-AssociateWebACL"></a>

En esta sección, se enumeran los permisos necesarios para asociar un paquete de protección (ACL web) a un recurso mediante la acción `AssociateWebACL` de AWS WAF . 

Para CloudFront las distribuciones de Amazon, usa la acción en lugar de esta CloudFront acción`UpdateDistribution`. Para obtener más información, consulta [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)la *referencia de la CloudFront API de Amazon*. 

**API de REST de Amazon API Gateway**  
Requiere permiso para llamar a API Gateway `SetWebACL` en el tipo de recurso de API REST y para llamar AWS WAF `AssociateWebACL` a un paquete de protección (ACL web). 

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "apigateway:SetWebACL"
    ],
    "Resource": [
        "arn:aws:apigateway:*::/restapis/*/stages/*"
    ]
}
```

**Equilibrador de carga de aplicación**  
Requiere permiso para realizar una `elasticloadbalancing:SetWebACL` acción en el tipo de recurso Application Load Balancer y para llamar AWS WAF `AssociateWebACL` a un paquete de protección (ACL web). 

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "elasticloadbalancing:SetWebACL"
    ],
    "Resource": [
        "arn:aws:elasticloadbalancing:*:account-id:loadbalancer/app/*/*"
    ]
}
```

**AWS AppSync API GraphQL**  
Requiere permiso para llamar al tipo AWS AppSync `SetWebACL` de recurso de la API GraphQL y a un paquete AWS WAF `AssociateWebACL` de protección (ACL web). 

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "appsync:SetWebACL"
    ],
    "Resource": [
        "arn:aws:appsync:*:account-id:apis/*"
    ]
}
```

**Grupo de usuarios de Amazon Cognito**  
Requiere permiso para ejecutar la `AssociateWebACL` acción de Amazon Cognito en el tipo de recurso del grupo de usuarios y para AWS WAF `AssociateWebACL` invocar un paquete de protección (ACL web). 

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "cognito-idp:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:cognito-idp:*:account-id:userpool/*"
    ]
}
```

**AWS App Runner servicio**  
Requiere permiso para llamar a la `AssociateWebACL` acción de App Runner en el tipo de recurso de servicio de App Runner y para llamar AWS WAF `AssociateWebACL` a una ACL web. 

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "apprunner:AssociateWebAcl"
    ],
    "Resource": [
        "arn:aws:apprunner:*:account-id:service/*/*"
    ]
}
```

**AWS Instancia de acceso verificado**  
Requiere permiso para ejecutar la `ec2:AssociateVerifiedAccessInstanceWebAcl` acción en el tipo de recurso de la instancia de acceso verificado y para llamar AWS WAF `AssociateWebACL` a una ACL web. 

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "ec2:AssociateVerifiedAccessInstanceWebAcl"
    ],
    "Resource": [
        "arn:aws:ec2:*:account-id:verified-access-instance/*"
    ]
}
```

#### Permisos para `DisassociateWebACL`
<a name="security_iam_action-DisassociateWebACL"></a>

En esta sección, se enumeran los permisos necesarios para desasociar un paquete de protección (ACL web) de un recurso mediante la acción `DisassociateWebACL` de AWS WAF . 

Para CloudFront las distribuciones de Amazon, en lugar de esta acción, usa la CloudFront acción `UpdateDistribution` con un ID de paquete de protección (ACL web) vacío. Para obtener más información, consulta [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)la *referencia de la CloudFront API de Amazon*. 

**API de REST de Amazon API Gateway**  
Requiere permiso para llamar a API Gateway `SetWebACL` en el tipo de recurso de API de REST. No requiere permiso para llamar AWS WAF `DisassociateWebACL`.

```
{
    "Sid": "DisassociateWebACL",
    "Effect": "Allow",
    "Action": [
        "apigateway:SetWebACL"
    ],
    "Resource": [
        "arn:aws:apigateway:*::/restapis/*/stages/*"
    ]
}
```

**Equilibrador de carga de aplicación**  
Requiere permiso para llamar a la acción `elasticloadbalancing:SetWebACL` en el tipo de recurso equilibrador de carga de aplicación. No requiere permiso para llamar AWS WAF `DisassociateWebACL`.

```
{
    "Sid": "DisassociateWebACL",
    "Effect": "Allow",
    "Action": [
        "elasticloadbalancing:SetWebACL"
    ],
    "Resource": [
        "arn:aws:elasticloadbalancing:*:account-id:loadbalancer/app/*/*"
    ]
}
```

**AWS AppSync API GraphQL**  
Requiere permiso para invocar el AWS AppSync `SetWebACL` tipo de recurso de la API GraphQL. No requiere permiso para llamar AWS WAF `DisassociateWebACL`.

```
{
    "Sid": "DisassociateWebACL",
    "Effect": "Allow",
    "Action": [
        "appsync:SetWebACL"
    ],
    "Resource": [
        "arn:aws:appsync:*:account-id:apis/*"
    ]
}
```

**Grupo de usuarios de Amazon Cognito**  
Requiere permiso para ejecutar la `DisassociateWebACL` acción de Amazon Cognito en el tipo de recurso del grupo de usuarios y para realizar la llamada. AWS WAF `DisassociateWebACL` 

```
{
    "Sid": "DisassociateWebACL1",
    "Effect": "Allow",
    "Action": "wafv2:DisassociateWebACL",
    "Resource": "*"
},
{
    "Sid": "DisassociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "cognito-idp:DisassociateWebACL"
    ],
    "Resource": [
        "arn:aws:cognito-idp:*:account-id:userpool/*"
    ]
}
```

**AWS App Runner servicio**  
Requiere permiso para ejecutar la `DisassociateWebACL` acción de App Runner en el tipo de recurso de servicio de App Runner y realizar la llamada AWS WAF `DisassociateWebACL`. 

```
{
    "Sid": "DisassociateWebACL1",
    "Effect": "Allow",
    "Action": "wafv2:DisassociateWebACL",
    "Resource": "*"
},
{
    "Sid": "DisassociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "apprunner:DisassociateWebAcl"
    ],
    "Resource": [
        "arn:aws:apprunner:*:account-id:service/*/*"
    ]
}
```

**AWS Instancia de acceso verificado**  
Requiere permiso para ejecutar la `ec2:DisassociateVerifiedAccessInstanceWebAcl` acción en el tipo de recurso de la instancia de Verified Access y para realizar la llamada AWS WAF `DisassociateWebACL`. 

```
{
    "Sid": "DisassociateWebACL1",
    "Effect": "Allow",
    "Action": "wafv2:DisassociateWebACL",
    "Resource": "*"
},
{
    "Sid": "DisassociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "ec2:DisassociateVerifiedAccessInstanceWebAcl"
    ],
    "Resource": [
        "arn:aws:ec2:*:account-id:verified-access-instance/*"
    ]
}
```

#### Permisos para `GetWebACLForResource`
<a name="security_iam_action-GetWebACLForResource"></a>

En esta sección, se enumeran los permisos necesarios para obtener el paquete de protección (ACL web) para un recurso protegido mediante la acción `GetWebACLForResource` de AWS WAF . 

Para CloudFront las distribuciones de Amazon, usa la acción en lugar de esta CloudFront acción`GetDistributionConfig`. Para obtener más información, consulta [GetDistributionConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html)la *referencia de la CloudFront API de Amazon*. 

**nota**  
`GetWebACLForResource` requiere el permiso para llamar a `GetWebACL`. En este contexto, se AWS WAF utiliza `GetWebACL` únicamente para comprobar que su cuenta tiene el permiso que necesita para acceder al paquete de protección (ACL web) que `GetWebACLForResource` aparece. Cuando llames`GetWebACLForResource`, es posible que aparezca un error que indique que tu cuenta no está autorizada a `wafv2:GetWebACL` utilizar el recurso. AWS WAF no añade este tipo de error al historial de AWS CloudTrail eventos. 

**API REST, Application Load Balancer y AWS AppSync GraphQL de Amazon API Gateway**  
Se requiere permiso para llamar AWS WAF `GetWebACLForResource` y `GetWebACL` para obtener un paquete de protección (ACL web). 

```
{
    "Sid": "GetWebACLForResource",
    "Effect": "Allow",
    "Action": [
        "wafv2:GetWebACLForResource",
        "wafv2:GetWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
}
```

**Grupo de usuarios de Amazon Cognito**  
Requiere permiso para llamar a la `GetWebACLForResource` acción de Amazon Cognito en el tipo de recurso del grupo de usuarios y para llamar AWS WAF `GetWebACLForResource` a y. `GetWebACL` 

```
{
    "Sid": "GetWebACLForResource1",
    "Effect": "Allow",
    "Action": [
        "wafv2:GetWebACLForResource",
        "wafv2:GetWebACL"
    ],
    "Resource": [ 
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "GetWebACLForResource2",
    "Effect": "Allow",
    "Action": [
        "cognito-idp:GetWebACLForResource"
    ],
    "Resource": [
        "arn:aws:cognito-idp:*:account-id:userpool/*"
    ]
}
```

**AWS App Runner servicio**  
Requiere permiso para llamar a la `DescribeWebAclForService` acción de App Runner en el tipo de recurso de servicio de App Runner y para llamar a AWS WAF `GetWebACLForResource` y`GetWebACL`. 

```
{
    "Sid": "GetWebACLForResource1",
    "Effect": "Allow",
    "Action": [
        "wafv2:GetWebACLForResource",
        "wafv2:GetWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "GetWebACLForResource2",
    "Effect": "Allow",
    "Action": [
        "apprunner:DescribeWebAclForService"
    ],
    "Resource": [
        "arn:aws:apprunner:*:account-id:service/*/*"
    ]
}
```

**AWS Instancia de acceso verificado**  
Requiere permiso para ejecutar la `ec2:GetVerifiedAccessInstanceWebAcl` acción en el tipo de recurso de la instancia de acceso verificado y para llamar a AWS WAF `GetWebACLForResource` y`GetWebACL`. 

```
{
    "Sid": "GetWebACLForResource1",
    "Effect": "Allow",
    "Action": [
        "wafv2:GetWebACLForResource",
        "wafv2:GetWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "GetWebACLForResource2",
    "Effect": "Allow",
    "Action": [
        "ec2:GetVerifiedAccessInstanceWebAcl"
    ],
    "Resource": [
        "arn:aws:ec2:*:account-id:verified-access-instance/*"
    ]
}
```

#### Permisos para `ListResourcesForWebACL`
<a name="security_iam_action-ListResourcesForWebACL"></a>

En esta sección, se enumeran los permisos necesarios para recuperar la lista de recursos protegidos para un paquete de protección (ACL web) mediante la acción `ListResourcesForWebACL` de AWS WAF . 

Para CloudFront las distribuciones de Amazon, usa la acción en lugar de esta CloudFront acción`ListDistributionsByWebACLId`. Para obtener más información, consulta [ListDistributionsByWebACLId](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDistributionsByWebACLId.html)la *referencia de la CloudFront API de Amazon*. 

**API REST, Application Load Balancer y AWS AppSync GraphQL de Amazon API Gateway**  
Se requiere permiso AWS WAF `ListResourcesForWebACL` para solicitar una ACL web. 

```
{
    "Sid": "ListResourcesForWebACL",
    "Effect": "Allow",
    "Action": [
        "wafv2:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
}
```

**Grupo de usuarios de Amazon Cognito**  
Requiere permiso para llamar a la acción `ListResourcesForWebACL` de Amazon Cognito en el tipo de recurso de grupo de usuarios y para llamar a `ListResourcesForWebACL` de AWS WAF . 

```
{
    "Sid": "ListResourcesForWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "ListResourcesForWebACL2",
    "Effect": "Allow",
    "Action": [
        "cognito-idp:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:cognito-idp:*:account-id:userpool/*"
    ]
}
```

**AWS App Runner servicio**  
Requiere permiso para ejecutar la `ListAssociatedServicesForWebAcl` acción de App Runner en el tipo de recurso de servicio de App Runner y realizar la llamada AWS WAF `ListResourcesForWebACL`. 

```
{
    "Sid": "ListResourcesForWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "ListResourcesForWebACL2",
    "Effect": "Allow",
    "Action": [
        "apprunner:ListAssociatedServicesForWebAcl"
    ],
    "Resource": [
        "arn:aws:apprunner:*:account-id:service/*/*"
    ]
}
```

**AWS Instancia de acceso verificado**  
Requiere permiso para llamar a la acción `ec2:DescribeVerifiedAccessInstanceWebAclAssociations` en el tipo de recurso de instancia de acceso verificado y llamar a `ListResourcesForWebACL` de AWS WAF . 

```
{
    "Sid": "ListResourcesForWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "ListResourcesForWebACL2",
    "Effect": "Allow",
    "Action": [
        "ec2:DescribeVerifiedAccessInstanceWebAclAssociations"
    ],
    "Resource": [
        "arn:aws:ec2:*:account-id:verified-access-instance/*"
    ]
}
```

## Recursos de políticas para AWS WAF
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatibilidad con los recursos de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Resource` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

```
"Resource": "*"
```

Para ver la lista de tipos de AWS WAF recursos y sus tipos ARNs, consulte [los recursos definidos por la AWS WAF versión 2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-resources-for-iam-policies) en la *Referencia de autorización de servicios*. Para saber con qué acciones puede especificar el ARN de cada recurso, consulte [Acciones definidas por AWS WAF](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-actions-as-permissions) V2. Para permitir o denegar el acceso a un subconjunto de AWS WAF recursos, incluya el ARN del recurso en el elemento de `resource` la política.

Los ARNs AWS WAF `wafv2` recursos tienen el siguiente formato:

```
arn:partition:wafv2:region:account-id:scope/resource-type/resource-name/resource-id
```

Para obtener información general sobre las especificaciones del ARN, consulte [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) en el. Referencia general de Amazon Web Services

A continuación se enumeran los requisitos específicos ARNs de los `wafv2` recursos: 
+ *region*: En el caso de AWS WAF los recursos que utilizas para proteger CloudFront las distribuciones de Amazon, establézcalo en. `us-east-1` De lo contrario, establézcalo en la región que esté utilizando con sus recursos regionales protegidos. 
+ *scope*: establece el alcance `global` para usarlo con una CloudFront distribución de Amazon o `regional` para usarlo con cualquiera de los recursos regionales AWS WAF compatibles. Los recursos regionales son una API REST de Amazon API Gateway, un Application Load Balancer, una API de AWS AppSync GraphQL, un grupo de usuarios de Amazon Cognito, un AWS App Runner servicio y una instancia de Verified Access. AWS 
+ *resource-type*: especifique uno de los siguientes valores:`webacl`,, `rulegroup``ipset`, `regexpatternset` o. `managedruleset`
+ *resource-name*: especifique el nombre que asignó al AWS WAF recurso o especifique un comodín (`*`) para indicar todos los recursos que cumplen las demás especificaciones del ARN. Debe especificar el nombre y el identificador del recurso, o especificar un comodín para ambos. 
+ *resource-id*: especifique el ID del AWS WAF recurso o especifique un comodín (`*`) para indicar todos los recursos que cumplen las demás especificaciones del ARN. Debe especificar el nombre y el identificador del recurso, o especificar un comodín para ambos.

Por ejemplo, el siguiente ARN especifica todos los paquetes de protección (web ACLs) con alcance regional para la cuenta `111122223333` en Región: `us-west-1`

```
arn:aws:wafv2:us-west-1:111122223333:regional/webacl/*/*
```

El siguiente ARN especifica el grupo de reglas denominado `MyIPManagementRuleGroup` con un alcance global para la cuenta `111122223333` en la región `us-east-1`:

```
arn:aws:wafv2:us-east-1:111122223333:global/rulegroup/MyIPManagementRuleGroup/1111aaaa-bbbb-cccc-dddd-example-id
```

Para ver ejemplos de políticas AWS WAF basadas en la identidad, consulte. [Ejemplos de políticas basadas en la identidad para AWS WAF](security_iam_id-based-policy-examples.md)

## Claves de condición de la política para AWS WAF
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Compatibilidad con claves de condición de políticas específicas del servicio:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Condition` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición AWS globales, consulte las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

Además, AWS WAF admite las siguientes claves de condición que puede utilizar para proporcionar un filtrado detallado a sus políticas de IAM:
+ **wafv2: LogDestinationResource**

  Esta clave de condición usa una especificación de nombre de recurso de Amazon (ARN) para el destino del registro. Este es el ARN que proporciona para el destino del registro cuando utiliza la llamada `PutLoggingConfiguration` a la API de REST. 

  Puede especificar un ARN de forma explícita, así como también el filtrado del ARN. El siguiente ejemplo especifica el filtrado de los buckets de Amazon S3 ARNs que tienen una ubicación y un prefijo específicos. 

  ```
  "Condition": { "ArnLike": { "wafv2:LogDestinationResource": "arn:aws:s3:::aws-waf-logs-suffix/custom-prefix/*" } }
  ```
+ **wafv2: LogScope**

  Esta clave de condición define el origen de la configuración de registro en una cadena. En la actualidad, siempre tiene el valor predeterminado `Customer`, lo que indica que el destino del registro es de su propiedad y está administrado por usted. 

Para ver una lista de claves de AWS WAF condición, consulte las claves de [condición de la AWS WAF versión 2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-policy-keys) en la Referencia de *autorización de servicio*. Para saber con qué acciones y recursos puede utilizar una clave de condición, consulte [Acciones definidas por la AWS WAF V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-actions-as-permissions).

Para ver ejemplos de políticas AWS WAF basadas en la identidad, consulte. [Ejemplos de políticas basadas en la identidad para AWS WAF](security_iam_id-based-policy-examples.md)

## ACLs in AWS WAF
<a name="security_iam_service-with-iam-acls"></a>

**Soporta ACLs**: No 

Las listas de control de acceso (ACLs) controlan qué directores (miembros de la cuenta, usuarios o roles) tienen permisos para acceder a un recurso. ACLs son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.

## ABAC con AWS WAF
<a name="security_iam_service-with-iam-tags"></a>

**Compatibilidad con ABAC (etiquetas en las políticas):** parcial

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos denominados etiquetas. Puede adjuntar etiquetas a las entidades y AWS los recursos de IAM y, a continuación, diseñar políticas de ABAC para permitir las operaciones cuando la etiqueta del principal coincida con la etiqueta del recurso.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el [elemento de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de una política utilizando las claves de condición `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`.

Si un servicio admite las tres claves de condición para cada tipo de recurso, el valor es **Sí** para el servicio. Si un servicio admite las tres claves de condición solo para algunos tipos de recursos, el valor es **Parcial**.

*Para obtener más información sobre ABAC, consulte [Definición de permisos con la autorización de ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) en la Guía del usuario de IAM*. Para ver un tutorial con los pasos para configurar ABAC, consulte [Uso del control de acceso basado en atributos (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) en la *Guía del usuario de IAM*.

## Utilizar credenciales temporales con AWS WAF
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatibilidad con credenciales temporales:** sí

Las credenciales temporales proporcionan acceso a AWS los recursos a corto plazo y se crean automáticamente al utilizar la federación o al cambiar de función. AWS recomienda generar credenciales temporales de forma dinámica en lugar de utilizar claves de acceso a largo plazo. Para obtener más información, consulte [Credenciales de seguridad temporales en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) y [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

## Reenvíe las sesiones de acceso para el servicio AWS WAF
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Admite sesiones de acceso directo (FAS):** sí

 Las sesiones de acceso directo (FAS) utilizan los permisos del operador principal que realiza la llamada Servicio de AWS, junto con los de solicitud, Servicio de AWS para realizar solicitudes a los servicios descendentes. Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte [Sesiones de acceso directo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Funciones de servicio para AWS WAF
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatible con roles de servicio:** sí

 Un rol de servicio es un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte [Crear un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *Guía del usuario de IAM*. 

**aviso**  
Cambiar los permisos de un rol de servicio podría interrumpir AWS WAF la funcionalidad. Edite las funciones de servicio solo cuando se AWS WAF proporcionen instrucciones para hacerlo.

## Funciones vinculadas al servicio para AWS WAF
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatible con roles vinculados al servicio:** sí

 Un rol vinculado a un servicio es un tipo de rol de servicio que está vinculado a un. Servicio de AWS El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados al servicio aparecen en usted Cuenta de AWS y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios. 

Para obtener más información sobre la creación o la administración de funciones AWS WAF vinculadas al servicio, consulte. [Uso de roles vinculados a servicios para AWS WAF](using-service-linked-roles.md)