Cómo funciona AWS WAF con IAM
En esta sección, se explica cómo usar las características de IAM con AWS WAF.
Antes de utilizar IAM para administrar el acceso a AWS WAF, conozca qué características de IAM se pueden utilizar con AWS WAF.
Característica de IAM | Compatibilidad con AWS WAF |
---|---|
Sí |
|
Sí |
|
Sí |
|
Sí |
|
Sí |
|
No |
|
Parcial |
|
Sí |
|
Sí |
|
Sí |
|
Sí |
Para obtener una perspectiva general sobre cómo funcionan AWS WAF y otros servicios de AWS con las características de IAM, consulte Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.
Políticas de AWS WAF basadas en identidades
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 información sobre cómo crear una política basada en identidades, consulte Definición de permisos de IAM personalizados con políticas administradas por el cliente 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. No es posible especificar la entidad principal en una política basada en identidad porque se aplica al usuario o rol al que está adjunto. Para más información sobre los elementos que puede utilizar en una política de JSON, consulte Referencia de los elementos de las políticas de JSON de IAM en la Guía del usuario de IAM.
Para ver ejemplos de políticas basadas en identidad de AWS WAF, consulte Ejemplos de políticas basadas en identidades de AWS WAF.
Políticas basadas en recursos de AWS WAF
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. 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 en una política en función de recursos. Las entidades 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. Añadir a una política en función de recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Cuando la entidad principal y el recurso se encuentran en Cuentas de AWS diferentes, un administrador de IAM de la cuenta de confianza también debe conceder a la entidad principal (usuario o rol) permiso para acceder al recurso. Para conceder el permiso, adjunte la entidad a una política basada en identidad. Sin embargo, si la política en función de recursos concede el acceso a una entidad principal de la misma cuenta, no es necesaria una política basada en identidad adicional. Para más información, consulte Cross account resource access in IAM 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 cuenta de AWS, debe proporcionar la configuración de políticas basada en los recursos a la llamada a la API PutPermissionPolicy
de AWS WAF o un equivalente a la llamada a la CLI o el SDK. Para obtener información adicional, incluidos ejemplos y enlaces a la documentación de los demás idiomas disponibles, consulte PutPermissionPolicy en la referencia de la API de AWS WAF. Esta funcionalidad no está disponible a través de otros medios, como la consola o. AWS CloudFormation
Acciones de política para AWS WAF
Compatibilidad con las acciones de política: sí
Los administradores pueden utilizar las políticas JSON de AWS 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. Las acciones de la política generalmente tienen el mismo nombre que la operación de API de AWS asociada. Hay algunas excepciones, como acciones de solo permiso que no tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.
Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.
Para ver una lista de las acciones de AWS WAF y los permisos de cada uno, consulte Acciones definidas por AWS WAF V2 en la Referencia de autorizaciones de servicio.
Las acciones de políticas de 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 (*) para especificar varias acciones . Por ejemplo, para especificar todas las acciones en AWS WAF que comiencen con List
, incluya la siguiente acción:
"Action": "wafv2:List*"
Para ver ejemplos de políticas basadas en identidad de AWS WAF, consulte Ejemplos de políticas basadas en identidades de AWS WAF.
Acciones que requieren configuraciones de permisos adicionales
Algunas acciones requieren permisos que no se pueden describir completamente en Acciones definidas por AWS WAF versión 2 de la Referencia de autorización de servicios. En esta sección, se proporciona información adicional sobre los permisos.
Temas
Permisos para AssociateWebACL
En esta sección, se enumeran los permisos necesarios para asociar una ACL web a un recurso mediante la acción AssociateWebACL
de AWS WAF.
Para las distribuciones de Amazon CloudFront, utilice la acción UpdateDistribution
de CloudFront en lugar de esta acción. Para obtener más información, consulte UpdateDistribution en la Referencia de la API de Amazon CloudFront.
API de REST de Amazon API Gateway
Requiere permiso para llamar a API Gateway SetWebACL
en el tipo de recurso de API de REST y para llamar a AssociateWebACL
de AWS WAF 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": [ "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 y para llamar a AssociateWebACL
de AWS WAF en la 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/*/*" ] }
API de GraphQL de AWS AppSync
Requiere permiso para llamar a AWS AppSync SetWebACL
en el tipo de recurso de la API GraphQL y para llamar a AWS WAF AssociateWebACL
en una 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 llamar a la acción AssociateWebACL
de Amazon Cognito en el tipo de recurso de grupo de usuarios y para llamar a AssociateWebACL
de AWS WAF en la 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/*" ] }
Servicio de AWS App Runner
Requiere permiso para llamar a la acción de App Runner AssociateWebACL
en el tipo de recurso de servicio App Runner y para llamar a AssociateWebACL
de AWS WAF en la 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/*/*" ] }
Instancia de acceso verificado de AWS
Requiere permiso para llamar a la acción ec2:AssociateVerifiedAccessInstanceWebAcl
en el tipo de recurso de instancia de acceso verificado y para llamar a AssociateWebACL
de AWS WAF en la 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
En esta sección se enumeran los permisos necesarios para desasociar una ACL web de un recurso mediante la AWS WAF acciónDisassociateWebACL
.
Para las distribuciones de Amazon CloudFront, en lugar de esta acción, utilice la acción CloudFront UpdateDistribution
con un ID de ACL web vacío. Para obtener más información, consulte UpdateDistribution en la Referencia de la API de Amazon CloudFront.
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 a DisassociateWebACL
de AWS WAF.
{ "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 a DisassociateWebACL
de AWS WAF.
{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "elasticloadbalancing:SetWebACL" ], "Resource": [ "arn:aws:elasticloadbalancing:*:
account-id
:loadbalancer/app/*/*" ] }
API de GraphQL de AWS AppSync
Requiere permiso para llamar a SetWebACL
de AWS AppSync en el tipo de recurso de la API de GraphQL. No requiere permiso para llamar a DisassociateWebACL
de AWS WAF.
{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "appsync:SetWebACL" ], "Resource": [ "arn:aws:appsync:*:
account-id
:apis/*" ] }
Grupo de usuarios de Amazon Cognito
Requiere permiso para llamar a la acción DisassociateWebACL
de Amazon Cognito en el tipo de recurso de grupo de usuarios y para llamar a DisassociateWebACL
de AWS WAF.
{ "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:DisassociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:
account-id
:userpool/*" ] }
Servicio de AWS App Runner
Requiere permiso para llamar a la acción DisassociateWebACL
de App Runner en el tipo de recurso de servicio de App Runner y para llamar a DisassociateWebACL
de AWS WAF.
{ "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "apprunner:DisassociateWebAcl" ], "Resource": [ "arn:aws:apprunner:*:
account-id
:service/*/*" ] }
Instancia de acceso verificado de AWS
Requiere permiso para llamar a la acción ec2:DisassociateVerifiedAccessInstanceWebAcl
en el tipo de recurso de instancia de acceso verificado y llamar a DisassociateWebACL
de AWS WAF.
{ "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
En esta sección se enumeran los permisos necesarios para obtener la ACL web para un recurso protegido mediante la AWS WAF acción de GetWebACLForResource
.
Para las distribuciones de Amazon CloudFront, utilice la acción GetDistributionConfig
de CloudFront en lugar de esta acción. Para obtener información, consulte GetDistributionConfig en la Referencia de la API de Amazon CloudFront.
nota
GetWebACLForResource
requiere el permiso para llamar a GetWebACL
. En este contexto, AWS WAF utiliza GetWebACL
únicamente para comprobar que su cuenta tiene el permiso que necesita para acceder a la ACL web que devuelve GetWebACLForResource
. Cuando llame a GetWebACLForResource
, es posible que aparezca un error que indique que su cuenta no está autorizada a realizar wafv2:GetWebACL
en el recurso. AWS WAF no agrega este tipo de error al historial de eventos de AWS CloudTrail.
API de REST de Amazon API Gateway, equilibrador de carga de aplicación y API de GraphQL de AWS AppSync
Se requiere permiso para realizar llamadas a GetWebACLForResource
y GetWebACL
de AWS WAF para una 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/*" ] }
Servicio de AWS App Runner
Requiere permiso para ejecutar la DescribeWebAclForService
acción de App Runner en el tipo de recurso del 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/*/*" ] }
Instancia de acceso verificado de AWS
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
yGetWebACL
.
{ "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
En esta sección, se enumeran los permisos necesarios para recuperar la lista de recursos protegidos para una ACL web mediante la acción ListResourcesForWebACL
de AWS WAF.
Para las distribuciones de Amazon CloudFront, utilice la acción ListDistributionsByWebACLId
de CloudFront en lugar de esta acción. Para obtener información, consulte ListDistributionsByWebACLId en la Referencia de la API de Amazon CloudFront.
API de REST de Amazon API Gateway, equilibrador de carga de aplicación y API de GraphQL de AWS AppSync
Se requiere permiso para llamar a ListResourcesForWebACL
de AWS WAF para 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/*" ] }
Servicio de AWS App Runner
Requiere permiso para llamar a la acción ListAssociatedServicesForWebAcl
de App Runner en el tipo de recurso de servicio de App Runner 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": [ "apprunner:ListAssociatedServicesForWebAcl" ], "Resource": [ "arn:aws:apprunner:*:account-id
:service/*/*" ] }
Instancia de acceso verificado de AWS
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
Compatibilidad con los recursos de políticas: sí
Los administradores pueden utilizar las políticas JSON de AWS 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. Las instrucciones deben contener un elemento Resource
o NotResource
. Como práctica recomendada, especifique un recurso utilizando el Nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.
Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.
"Resource": "*"
Para ver una lista de los tipos de recursos de AWS WAF y sus ARN, consulte Recursos definidos por AWS WAF V2 en la Referencia de autorizaciones de servicio. Para obtener información sobre las acciones con las que puede especificar el ARN de cada recurso, consulte Acciones definidas por AWS WAF V2. Para permitir o denegar el acceso a un subconjunto de recursos de AWS WAF, incluya el ARN del recurso en el elemento resource
de la política.
Los ARN de recursos de wafv2
de AWS WAF tienen el siguiente formato:
arn:
partition
:wafv2:region
:account-id
:scope
/resource-type
/resource-name
/resource-id
Para obtener información general acerca de las especificaciones de ARN, consulte Nombres de recursos de Amazon (ARN) en la Referencia general de Amazon Web Services.
A continuación, se enumeran los requisitos específicos de los ARN de los recursos de wafv2
:
-
región
: en el caso de los recursos de AWS WAF que utiliza para proteger las distribuciones de Amazon CloudFront, establézcalo enus-east-1
. De lo contrario, establézcalo en la región que esté utilizando con sus recursos regionales protegidos. -
ámbito
: defina el ámbitoglobal
para utilizarlo con una distribución de Amazon CloudFront oregional
para utilizarlo con cualquiera de los recursos regionales compatibles con AWS WAF. Los recursos regionales son una API de REST de Amazon API Gateway, un equilibrador de carga de aplicación, una API GraphQL de AWS AppSync, un grupo de usuarios de Amazon Cognito, un servicio de AWS App Runner y una instancia de acceso verificado de AWS. -
Tipo de recurso
: especifique uno de los siguientes valores:webacl
,rulegroup
,ipset
,regexpatternset
omanagedruleset
. -
Nombre-recurso
: especifique el nombre que asignó al recurso de AWS WAF 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 recurso de AWS WAF 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 todas las ACL web con ámbito regional para la cuenta 111122223333
en la 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 basadas en identidad de AWS WAF, consulte Ejemplos de políticas basadas en identidades de AWS WAF.
Claves de condición de políticas para AWS WAF
Compatibilidad con claves de condición de políticas específicas del servicio: sí
Los administradores pueden utilizar las políticas JSON de AWS 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
(o bloque de Condition
) permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition
es opcional. Puede crear expresiones condicionales que utilicen operadores de condición, tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud.
Si especifica varios elementos de Condition
en una instrucción o varias claves en un único elemento de Condition
, AWS las evalúa mediante una operación AND
lógica. Si especifica varios valores para una única clave de condición, AWS evalúa la condición con una operación lógica OR
. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción.
También puede utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre de usuario de IAM. Para más información, consulte Elementos de la política de IAM: variables y etiquetas en la Guía del usuario de IAM.
AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las claves de condición globales de AWS, consulte Claves de contexto de condición globales de AWSen la Guía del usuario de IAM.
Además, AWS WAF admite las siguientes claves de condición que puede utilizar para proporcionar filtrado detallado para 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 ARN del bucket de Amazon S3 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 las claves de condición de AWS WAF, consulte Claves de condición para AWS WAF V2 en la Referencia de autorizaciones de servicio. Para obtener más información sobre las acciones y los recursos con los que puede utilizar una clave de condición, consulte Acciones definidas por AWS WAF V2.
Para ver ejemplos de políticas basadas en identidad de AWS WAF, consulte Ejemplos de políticas basadas en identidades de AWS WAF.
ACL en AWS WAF
Compatibilidad con ACL: no
Las listas de control de acceso (ACL) controlan qué entidades principales (miembros de cuentas, usuarios o roles) tienen permisos para acceder a un recurso. Las ACL son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.
ABAC con AWS WAF
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. En AWS, estos atributos se denominan etiquetas. Puede adjuntar etiquetas a entidades de IAM (usuarios o roles) y a muchos recursos de AWS. El etiquetado de entidades y recursos es el primer paso de ABAC. A continuación, designa las políticas de ABAC para permitir operaciones cuando la etiqueta de la entidad principal coincida con la etiqueta del recurso al que se intenta acceder.
ABAC es útil en entornos que crecen con rapidez y ayuda en situaciones en las que la administración de las políticas resulta engorrosa.
Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición aws:ResourceTag/
, key-name
aws:RequestTag/
o key-name
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 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) en la Guía del usuario de IAM.
Uso de credenciales temporales con AWS WAF
Compatibilidad con credenciales temporales: sí
Algunos Servicios de AWS no funcionan cuando inicia sesión con credenciales temporales. Para obtener información adicional, incluida la información sobre qué Servicios de AWS funcionan con credenciales temporales, consulte Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.
Utiliza credenciales temporales si inicia sesión en la AWS Management Console con cualquier método, excepto un nombre de usuario y una contraseña. Por ejemplo, cuando accede a AWS utilizando el enlace de inicio de sesión único (SSO) de la empresa, ese proceso crea automáticamente credenciales temporales. También crea automáticamente credenciales temporales cuando inicia sesión en la consola como usuario y luego cambia de rol. Para obtener más información sobre el cambio de roles, consulte Cambio de un rol de usuario a un rol de IAM (consola) en la Guía del usuario de IAM.
Puede crear credenciales temporales de forma manual mediante la AWS CLI o la API de AWS. A continuación, puede usar esas credenciales temporales para acceder a AWS. AWS recomienda generar credenciales temporales de forma dinámica en lugar de usar claves de acceso a largo plazo. Para más información, consulte Credenciales de seguridad temporales en IAM.
Sesiones de acceso directo para el servicio de AWS WAF
Admite sesiones de acceso directo (FAS): sí
Cuando utiliza un usuario o un rol de IAM para llevar a cabo acciones en AWS, se lo considera una entidad principal. Cuando utiliza algunos servicios, es posible que realice una acción que desencadene otra acción en un servicio diferente. FAS utiliza los permisos de la entidad principal para llamar a un Servicio de AWS, combinados con el Servicio de AWS solicitante para realizar solicitudes a servicios posteriores. Las solicitudes de FAS solo se realizan cuando un servicio recibe una solicitud que requiere interacciones con otros Servicios de AWS o recursos para completarse. En este caso, debe tener permisos para realizar ambas acciones. Para obtener información detallada sobre las políticas a la hora de realizar solicitudes de FAS, consulte Forward access sessions.
Roles de servicio para AWS WAF
Compatibilidad con roles de servicio: sí
Un rol de servicio es un rol de IAM 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 Creación de un rol para delegar permisos a un Servicio de AWS en la Guía del usuario de IAM.
aviso
Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de AWS WAF. Edite los roles de servicio sólo cuando AWS WAF proporcione orientación para hacerlo.
Roles vinculados a servicios de AWS WAF
Admite roles vinculados al servicio: sí
Un rol vinculado al 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 a servicios aparecen en la 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 acerca de cómo crear o administrar roles vinculados a servicios de AWS WAF, consulte Uso de roles vinculados a servicios de AWS WAF.