Bloqueo de acceso público con políticas basadas en recursos en Aurora DSQL - Amazon Aurora DSQL

Bloqueo de acceso público con políticas basadas en recursos en Aurora DSQL

El bloqueo de acceso público (BPA) es una característica que identifica y evita que se asocien políticas basadas en recursos que conceden acceso público a los clústeres de Aurora DSQL en las cuentas de AWS. Con BPA, puede impedir el acceso público a los recursos de Aurora DSQL. BPA realiza comprobaciones durante la creación o modificación de una política basada en recursos y ayuda a mejorar la seguridad con Aurora DSQL.

BPA utiliza un razonamiento automatizado para analizar el acceso que concede su política basada en recursos y le avisa si encuentra dichos permisos al administrar una política basada en recursos. El análisis verifica el acceso a todas las instrucciones de políticas basadas en recursos, las acciones y el conjunto de claves de condición que se utilizan en sus políticas.

importante

BPA ayuda a proteger los recursos al impedir que se conceda acceso público a través de las políticas basadas en recursos que se asocian directamente a los recursos de Aurora DSQL, como clústeres. Además de habilitar BPA, analice detenidamente las siguientes políticas para confirmar que no otorgan acceso público:

  • Políticas basadas en identidad asociadas a las entidades principales de AWS vinculadas (por ejemplo, los roles de IAM)

  • Políticas basadas en recursos adjuntas a recursos de AWS asociados (por ejemplo, claves de AWS Key Management Service [KMS])

Debe asegurarse de que la entidad principal no incluya una entrada * o que una de las claves de condición especificadas restrinja el acceso de las entidades principales al recurso. Si la política basada en recursos concede acceso público al clúster en las cuentas de AWS, Aurora DSQL le impedirá crear o modificar la política hasta que se corrija la especificación de la política y se considere no pública.

Para que una política no sea pública, especifique una o más entidades principales dentro del bloque Principal. El siguiente ejemplo de política basada en recursos bloquea el acceso público al especificar dos entidades principales.

{ "Effect": "Allow", "Principal": { "AWS": [ "123456789012", "111122223333" ] }, "Action": "dsql:*", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id" }

Las políticas que restringen el acceso al especificar determinadas claves de condición tampoco se consideran públicas. Junto con la evaluación de la entidad principal especificada en la política basada en recursos, se utilizan las siguientes claves de condición fiables para completar la evaluación de una política basada en recursos para el acceso no público:

  • aws:PrincipalAccount

  • aws:PrincipalArn

  • aws:PrincipalOrgID

  • aws:PrincipalOrgPaths

  • aws:SourceAccount

  • aws:SourceArn

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserId

  • aws:PrincipalServiceName

  • aws:PrincipalServiceNamesList

  • aws:PrincipalIsAWSService

  • aws:Ec2InstanceSourceVpc

  • aws:SourceOrgID

  • aws:SourceOrgPaths

Además, para que una política basada en recursos no sea pública, los valores del Nombre de recurso de Amazon (ARN) y las claves de cadena no deben contener comodines ni variables. Si su política basada en recursos usa la clave aws:PrincipalIsAWSService, debe asegurarse de establecer el valor de la clave en true.

La siguiente política limita el acceso al usuario Ben de la cuenta especificada. La condición limita a la Principal y no se considera pública.

{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "dsql:*", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id", "Condition": { "StringEquals": { "aws:PrincipalArn": "arn:aws:iam::123456789012:user/Ben" } } }

El siguiente ejemplo de una política basada en recursos no pública restringe sourceVPC al usar el operador StringEquals.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "dsql:*", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id", "Condition": { "StringEquals": { "aws:SourceVpc": [ "vpc-91237329" ] } } } ] }