Seguridad de la infraestructura de Amazon Redshift - Amazon Redshift

Seguridad de la infraestructura de Amazon Redshift

Como se trata de un servicio administrado, Amazon Redshift está protegido por la seguridad de red global de AWS. Para obtener información sobre los servicios de seguridad de AWS y cómo AWSprotege la infraestructura, consulte Seguridad en la nube de AWS. Para diseñar su entorno de AWS con las prácticas recomendadas de seguridad de infraestructura, consulte Protección de la infraestructura en Portal de seguridad de AWS Well‐Architected Framework.

Puede utilizar llamadas a la API publicadas de AWS para acceder a Amazon Redshift a través de la red. Los clientes deben admitir lo siguiente:

  • Seguridad de la capa de transporte (TLS). Exigimos TLS 1.2 y recomendamos TLS 1.3.

  • Conjuntos de cifrado con confidencialidad directa total (PFS) como DHE (Ephemeral Diffie-Hellman) o ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). La mayoría de los sistemas modernos como Java 7 y posteriores son compatibles con estos modos.

Además, las solicitudes deben estar firmadas mediante un ID de clave de acceso y una clave de acceso secreta que esté asociada a una entidad de seguridad de IAM principal. También puede utilizar AWS Security Token Service (AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes.

Aislamiento de red

Una nube virtual privada (VPC) basada en el servicio Amazon VPC es su red privada y aislada de manera lógica en la nube de AWS. Puede implementar un clúster de Amazon Redshift o un grupo de trabajo de Redshift sin servidor en una VPC si completa los siguientes pasos:

Los clústeres de Amazon Redshift se encuentran bloqueados de forma predeterminada desde el aprovisionamiento. Para permitir el tráfico de red entrante de los clientes de Amazon Redshift, asocie un grupo de seguridad de VPC a un clúster de Amazon Redshift. Para obtener más información, consulte Subredes para recursos de Redshift.

Para permitir el tráfico solo hacia o desde rangos de direcciones IP específicos, actualice los grupos de seguridad con su VPC. Un ejemplo consiste en permitir el tráfico solo desde o hacia su red corporativa.

Al configurar las listas de control de acceso a la red asociadas con las subredes con las que está etiquetado el clúster de Amazon Redshift, asegúrese de que los intervalos de CIDR de S3 de la región de AWS se agreguen a la lista de permitidos para las reglas de entrada y de salida. Esto le permite ejecutar operaciones basadas en S3, como Redshift Spectrum, COPY y UNLOAD, sin interrupciones.

El siguiente comando de ejemplo analiza la respuesta JSON de todas las direcciones IPv4 utilizadas en Amazon S3 en la región us-east-1.

curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="S3") | .ip_prefix' 54.231.0.0/17 52.92.16.0/20 52.216.0.0/15

Para obtener instrucciones sobre cómo conseguir rangos de IP de S3 para una región en particular, consulte Rangos de direcciones IP de AWS.

Amazon Redshift admite la implementación de clústeres en las VPC de tenencia dedicada. Para obtener más información, consulte Instancias dedicadas en la Guía del usuario de Amazon EC2.

Grupos de seguridad de Amazon Redshift

Cuando aprovisiona un clúster de Amazon Redshift, se bloquea de forma predeterminada para que nadie pueda obtener acceso a él. Para concederle a otros usuarios acceso de entrada a un clúster de Amazon Redshift, debe asociar el clúster a un grupo de seguridad. Si está en la plataforma de EC2-VPC, puede utilizar un grupo de seguridad de Amazon VPC ya existente o definir uno nuevo y luego asociarlo a un clúster. Para obtener más información acerca de la administración de un clúster en la plataforma de EC2-VPC, consulte Recursos de Redshift en una VPC.

Puede conectarse directamente a los servicios de la API de Amazon Redshift y Amazon Redshift sin servidor mediante un punto de conexión de VPC de interfaz (AWS PrivateLink) en la nube privada virtual (VPC) en lugar de conectarse a través de Internet. Para obtener más información sobre las acciones de la API de Amazon Redshift, consulte Acciones en la Referencia de la API de Amazon Redshift. Para obtener más información sobre las acciones de la API de Redshift sin servidor, consulte Acciones en la Referencia de la API de Amazon Redshift sin servidor. Para obtener más información acerca de AWS PrivateLink, consulte Puntos de enlace de la VPC de interfaz (AWS PrivateLink) en la Guía del usuario de Amazon VPC. Tenga en cuenta que la conexión JDBC/ODBC al clúster o grupo de trabajo no forma parte del servicio de API de Amazon Redshift.

Cuando utiliza un punto de conexión de VPC de interfaz, la comunicación entre la VPC y Amazon Redshift o Redshift sin servidor se realiza en su totalidad dentro de la red de AWS, lo que puede proporcionar mayor seguridad. Cada punto de enlace de la VPC está representado por una o varias interfaces de red elástica con direcciones IP privadas en las subredes de la VPC. Para obtener más información sobre las interfaces de red elásticas, consulte Interfaces de red elásticas en la Guía del usuario de Amazon EC2.

Un punto de enlace de la VPC de interfaz conecta la VPC directamente a Amazon Redshift. No utiliza una gateway de Internet, un dispositivo de conversión de direcciones de red (NAT), una conexión de red privada virtual (VPN) o una conexión de AWS Direct Connect. Las instancias de la VPC no necesitan direcciones IP públicas para comunicarse con la API de Amazon Redshift.

Tiene dos opciones para utilizar Amazon Redshift o Redshift sin servidor a través de la VPC. Una opción es conectarse desde una instancia que está dentro de su VPC. La otra opción es conectar su red privada a la VPC a través de una opción de AWS VPN o a través de AWS Direct Connect. Para obtener más información acerca de las opciones de AWS VPN, consulte Conexiones de VPN en la Guía del usuario de Amazon VPC. Para obtener información acerca de AWS Direct Connect, consulte Creación de una conexión en la Guía del usuario de AWS Direct Connect.

Puede crear un punto de enlace de la VPC de interfaz para conectarse a Amazon Redshift a través de los comandos de la AWS Management Console o la AWS Command Line Interface (AWS CLI). Para obtener más información, consulte Creación de un punto de conexión de interfaz.

Después de crear un punto de enlace de la VPC de interfaz, puede habilitar nombres de alojamiento de DNS privados para el punto de enlace. Cuando lo haga, el punto de conexión predeterminado es el siguiente:

  • Amazon Redshift aprovisionado: https://redshift.Region.amazonaws.com

  • Amazon Redshift sin servidor: https://redshift-serverless.Region.amazonaws.com

Si no habilita nombres de alojamiento de DNS privados, Amazon VPC proporciona un nombre de punto de enlace de DNS que puede utilizar en el siguiente formato.

  • Amazon Redshift aprovisionado: VPC_endpoint_ID.redshift.Region.vpce.amazonaws.com

  • Amazon Redshift sin servidor: VPC_endpoint_ID.redshift-serverless.Region.vpce.amazonaws.com

Para obtener más información, consulte Puntos de conexión de VPC de interfaz (AWS PrivateLink) en la Guía del usuario de Amazon VPC.

Amazon Redshift y Redshift sin servidor permiten realizar llamadas a todas las operaciones de la API de Amazon Redshift y a las operaciones de la API de Redshift sin servidor en la VPC.

Puede adjuntar políticas de punto de enlace de la VPC a un punto de enlace de la VPC para controlar el acceso de las entidades principales de AWS Identity and Access Management (IAM). También puede asociar grupos de seguridad a un punto de enlace de la VPC para controlar el acceso de entrada y salida en función del origen y el destino del tráfico de red. Un ejemplo es un rango de direcciones IP. Para obtener más información, consulte Controlar el acceso a servicios con puntos de conexión de VPC en la Guía del usuario de Amazon VPC.

Puede crear una política para los puntos de enlace de la VPC para Amazon Redshift y especificar lo siguiente:

  • La entidad principal que puede o no puede realizar acciones

  • Las acciones que se pueden realizar

  • Los recursos en los que se pueden llevar a cabo las acciones

Para más información, consulte Control del acceso a los servicios con puntos de enlace de la VPC en la Guía del usuario de Amazon VPC.

A continuación, encontrará ejemplos de políticas de puntos de enlace de la VPC.

A continuación, encontrará ejemplos de políticas de punto de conexión de VPC para Amazon Redshift aprovisionado.

La siguiente política de punto de enlace de la VPC deniega a la cuenta de AWS 123456789012 el acceso a los recursos a través del punto de enlace.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }

La siguiente política de punto de conexión de VPC permite el acceso pleno solo al rol de IAM redshiftrole en la cuenta de AWS 123456789012. A las demás entidades principales de IAM se les deniega el acceso a través del punto de enlace.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::123456789012:role/redshiftrole" ] } }] }

Solo es un ejemplo. En la mayoría de los casos de uso, recomendamos adjuntar permisos para acciones específicas a fin de reducir el alcance de los permisos.

La siguiente política de punto de enlace de la VPC permite el acceso pleno solo al usuario de IAM redshiftadmin en la cuenta de AWS 123456789012. A las demás entidades principales de IAM se les deniega el acceso a través del punto de enlace.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::123456789012:user/redshiftadmin" ] } }] }

Solo es un ejemplo. En la mayoría de los casos de uso, recomendamos adjuntar permisos a un rol antes de asignarlos a un usuario. Además, recomendamos utilizar acciones específicas para reducir el alcance de los permisos.

La siguiente política de punto de enlace de la VPC solo permite a la cuenta de AWS 123456789012 realizar las acciones de Amazon Redshift especificadas.

Las acciones especificadas proporcionan el equivalente al acceso de solo lectura para Amazon Redshift. Las demás acciones en la VPC se deniegan para la cuenta especificada. También se les deniega el acceso a las demás cuentas. Para obtener una lista de acciones de Amazon Redshift, consulte Acciones, recursos y claves de condición para Amazon Redshift en la Guía del usuario de IAM.

{ "Statement": [ { "Action": [ "redshift:DescribeAccountAttributes", "redshift:DescribeClusterParameterGroups", "redshift:DescribeClusterParameters", "redshift:DescribeClusterSecurityGroups", "redshift:DescribeClusterSnapshots", "redshift:DescribeClusterSubnetGroups", "redshift:DescribeClusterVersions", "redshift:DescribeDefaultClusterParameters", "redshift:DescribeEventCategories", "redshift:DescribeEventSubscriptions", "redshift:DescribeHsmClientCertificates", "redshift:DescribeHsmConfigurations", "redshift:DescribeLoggingStatus", "redshift:DescribeOrderableClusterOptions", "redshift:DescribeQuery", "redshift:DescribeReservedNodeOfferings", "redshift:DescribeReservedNodes", "redshift:DescribeResize", "redshift:DescribeSavedQueries", "redshift:DescribeScheduledActions", "redshift:DescribeSnapshotCopyGrants", "redshift:DescribeSnapshotSchedules", "redshift:DescribeStorage", "redshift:DescribeTable", "redshift:DescribeTableRestoreStatus", "redshift:DescribeTags", "redshift:FetchResults", "redshift:GetReservedNodeExchangeOfferings" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }

La siguiente política de punto de enlace de la VPC permite el acceso pleno a todas las cuentas y las entidades principales. Al mismo tiempo, deniega el acceso de la cuenta de AWS 123456789012 a las acciones realizadas en el clúster de Amazon Redshift con el ID de clúster my-redshift-cluster. Se siguen permitiendo otras acciones de Amazon Redshift que no admiten permisos en el nivel de los recursos para los clústeres. Para obtener una lista de las acciones de Amazon Redshift y los tipos de recursos correspondientes, consulte Acciones, recursos y claves de condición para Amazon Redshift en la Guía del usuario de IAM.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "arn:aws:redshift:us-east-1:123456789012:cluster:my-redshift-cluster", "Principal": { "AWS": [ "123456789012" ] } } ] }

A continuación, encontrará ejemplos de políticas de punto de conexión de VPC para Redshift sin servidor.

La siguiente política de punto de conexión de VPC solo permite a la cuenta de AWS 123456789012 realizar las acciones de Redshift sin servidor especificadas.

Las acciones especificadas proporcionan el equivalente al acceso de solo lectura para Redshift sin servidor. Las demás acciones en la VPC se deniegan para la cuenta especificada. También se les deniega el acceso a las demás cuentas. Para obtener una lista de acciones de Redshift sin servidor, consulte Acciones, recursos y claves de condición para Redshift sin servidor en la Guía del usuario de IAM.

{ "Statement": [ { "Action": [ "redshift-serverless:DescribeOneTimeCredit", "redshift-serverless:GetCustomDomainAssociation", "redshift-serverless:GetEndpointAccess", "redshift-serverless:GetNamespace", "redshift-serverless:GetRecoveryPoint", "redshift-serverless:GetResourcePolicy", "redshift-serverless:GetScheduledAction", "redshift-serverless:GetSnapshot", "redshift-serverless:GetTableRestoreStatus", "redshift-serverless:GetUsageLimit", "redshift-serverless:GetWorkgroup" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }

La siguiente política de punto de enlace de la VPC permite el acceso pleno a todas las cuentas y las entidades principales. Al mismo tiempo, deniega el acceso de la cuenta de AWS 123456789012 a las acciones realizadas en el grupo de trabajo de Amazon Redshift con el ID de grupo de trabajo my-redshift-workgroup. Se siguen permitiendo otras acciones de Amazon Redshift que no admiten permisos en el nivel de los recursos para los grupos de trabajo. Para obtener una lista de las acciones de Redshift sin servidor y los tipos de recursos correspondientes, consulte Acciones, recursos y claves de condición para Redshift sin servidor en la Guía del usuario de IAM.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup:my-redshift-workgroup", "Principal": { "AWS": [ "123456789012" ] } } ] }