Ejemplos de políticas basadas en identidades de AWS WAF - AWS WAF, AWS Firewall Manager, y AWS Shield Advanced

Ejemplos de políticas basadas en identidades de AWS WAF

En esta sección, se proporcionan ejemplos de políticas basadas en identidades para AWS WAF.

De forma predeterminada, los usuarios y roles no tienen permiso para crear, ver ni modificar recursos de AWS WAF. Tampoco pueden realizar tareas mediante la AWS Management Console, la AWS Command Line Interface (AWS CLI) o la API de AWS. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan. A continuación, el administrador puede añadir las políticas de IAM a roles y los usuarios pueden asumirlos.

Para obtener información acerca de cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte Creación de políticas de IAM (consola) en la Guía del usuario de IAM.

Para obtener más información sobre las acciones y los tipos de recursos definidos por AWS WAF, incluido el formato de los ARN para cada tipo de recurso, consulte Acciones, recursos y claves de condición para AWS WAF V2 en la Referencia de autorizaciones de servicio.

Prácticas recomendadas sobre las políticas

Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de AWS WAF de la cuenta. Estas acciones pueden generar costes adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:

  • Comience con las políticas administradas por AWSy continúe con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de trabajo, utilice las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas administradas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas por AWS o las políticas administradas por AWS para funciones de trabajo en la Guía de usuario de IAM.

  • Aplique permisos de privilegio mínimo: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte Políticas y permisos en IAM en la Guía del usuario de IAM.

  • Utilice condiciones en las políticas de IAM para restringir aún más el acceso: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puede usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado como, por ejemplo, AWS CloudFormation. Para obtener más información, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.

  • Utilice el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para obtener más información, consulte Validación de políticas mediante el Analizador de acceso de IAM en la Guía del usuario de IAM.

  • Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesita usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para mayor seguridad. Para solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de la MFA a sus políticas. Para obtener más información, consulte Acceso seguro a la API con MFA en la Guía del usuario de IAM.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte las Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

Mediante la consola de AWS WAF

Para acceder a la consola de AWS WAF, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y consultar los detalles sobre los recursos de AWS WAF en su Cuenta de AWS. Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.

No es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intentan realizar.

Para asegurarse de que los usuarios y los roles puedan utilizar la consola de AWS WAF, asocie como mínimo también las entidades la política administrada por AWS WAF AWSWAFConsoleReadOnlyAccess AWS. Para obtener información sobre esta política administrada, consulte Política administrada de AWS: AWSWAFConsoleReadOnlyAccess. Para obtener más información sobre cómo agregar una política administrada a un usuario, consulte Agregar permisos a un usuario en la Guía del usuario de IAM.

Cómo permitir a los usuarios consultar sus propios permisos

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para llevar a cabo esta acción en la consola o mediante programación con la AWS CLI o la API de AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Concesión de acceso de solo lectura a AWS WAF, CloudFront y CloudWatch

La siguiente política concede a los usuarios acceso de solo lectura a los recursos de AWS WAF, a las distribuciones web de Amazon CloudFront y a las métricas de Amazon CloudWatch. Resulta muy útil para los usuarios que necesitan permiso para ver la configuración de las condiciones, reglas y ACL web de AWS WAF para comprobar que la distribución se asocia a una ACL web y monitorizar las métricas y una muestra de solicitudes de CloudWatch. Estos usuarios no pueden crear, actualizar ni eliminar recursos de AWS WAF.

{ "Version":"2012-10-17", "Statement": [ { "Action": [ "wafv2:Get*", "wafv2:List*", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "ec2:DescribeRegions" ], "Effect": "Allow", "Resource": "*" } ] }

Concesión de acceso completo a AWS WAF, CloudFront y CloudWatch

La siguiente política permite a los usuarios realizar cualquier operación de AWS WAF, realizar cualquier operación en distribuciones web de CloudFront y monitorizar las métricas y una muestra de las solicitudes de CloudWatch. Resulta muy útil para los usuarios que son administradores de AWS WAF:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "wafv2:*", "cloudfront:CreateDistribution", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:UpdateDistribution", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudfront:DeleteDistribution", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "ec2:DescribeRegions" ], "Effect": "Allow", "Resource": "*" } ] }

Recomendamos encarecidamente que configure la autenticación multifactor (MFA) para los usuarios que tienen permisos administrativos. Para obtener más información, consulte Uso de la autenticación multifactor (MFA) en dispositivos con AWS en la Guía del usuario de IAM.

Conceder acceso a un único Cuenta de AWS

Esta política concede los siguientes permisos a la cuenta 444455556666:

  • Acceso completo a todas las operaciones y recursos de AWS WAF.

  • Acceso de lectura y escritura a todas las distribuciones de CloudFront, lo que le permite asociar ACL web y distribuciones de CloudFront.

  • Acceso de lectura a todas las métricas y estadísticas de las métricas de CloudWatch para que pueda ver los datos y una muestra de las solicitudes de AWS WAF en la consola de CloudWatch.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wafv2:*" ], "Resource": [ "arn:aws:wafv2:us-east-1:444455556666:*" ] }, { "Effect": "Allow", "Action": [ "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudfront:UpdateDistribution", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "ec2:DescribeRegions" ], "Resource": [ "*" ] } ] }

Concesión de acceso a una única ACL web

La siguiente política permite a los usuarios realizar cualquier operación de AWS WAF a través de la consola en una ACL web específica de la cuenta 444455556666.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wafv2:*" ], "Resource": [ "arn:aws:wafv2:us-east-1:444455556666:regional/webacl/test123/112233d7c-86b2-458b-af83-51c51example", ] }, { "Sid": "consoleAccess", "Effect": "Allow", "Action": [ "wafv2:ListWebACLs", "ec2:DescribeRegions" ], "Resource": [ "*" ] } ] }

Concesión de acceso a la CLI a una ACL web y a un grupo de reglas

La siguiente política permite a los usuarios realizar cualquier operación de AWS WAF a través CLI en una ACL web específica y en la consola en una ACL web específica de la cuenta 444455556666.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wafv2:*" ], "Resource": [ "arn:aws:wafv2:us-east-1:444455556666:regional/webacl/test123/112233d7c-86b2-458b-af83-51c51example", "arn:aws:wafv2:us-east-1:444455556666:regional/rulegroup/test123rulegroup/555555555-6666-1234-abcd-00d11example" ] } ] }

La siguiente política permite a los usuarios realizar cualquier operación de AWS WAF a través de la consola en una ACL web específica de la cuenta 444455556666.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wafv2:*" ], "Resource": [ "arn:aws:wafv2:us-east-1:444455556666:regional/webacl/test123/112233d7c-86b2-458b-af83-51c51example", ] }, { "Sid": "consoleAccess", "Effect": "Allow", "Action": [ "wafv2:ListWebACLs", "ec2:DescribeRegions" ], "Resource": [ "*" ] } ] }