Seguridad de la infraestructura en Amazon DynamoDB - Amazon DynamoDB

Seguridad de la infraestructura en Amazon DynamoDB

Como se trata de un servicio administrado, Amazon DynamoDB está protegido por los procedimientos de seguridad de red globales de AWS que se describen en la sección Protección de la infraestructura de AWS Well-Architected Framework.

Puede utilizar llamadas a la API publicadas de AWS para acceder a DynamoDB a través de la red. Los clientes pueden utilizar la versión 1.2 o 1.3. de TLS (seguridad de la capa de transporte). Los clientes también deben admitir conjuntos de cifrado con confidencialidad directa total (PFS) tales como Ephemeral Diffie-Hellman (DHE) o Elliptic Curve Diffie-Hellman Ephemeral (ECDHE). 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 principal de IAM. También puede utilizar AWS Security Token Service (AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes.

También puede utilizar un punto de enlace de la nube virtual privada (VPC) para DynamoDB para permitir que las instancias de Amazon EC2 de la VPC utilicen sus direcciones IP privadas para tener acceso a DynamoDB sin exponerse en la Internet pública. Para obtener más información, consulte Uso de puntos de conexión de Amazon VPC para tener acceso a DynamoDB.

Uso de puntos de conexión de Amazon VPC para tener acceso a DynamoDB

Por razones de seguridad, muchos clientes de AWS ejecutan sus aplicaciones dentro de un entorno de Amazon Virtual Private Cloud (Amazon VPC). Con Amazon VPC, puede lanzar instancias de Amazon EC2 en una nube virtual privada que está aislada de forma lógica de otras redes, incluida la red pública de Internet. Con una Amazon VPC, puede controlar el rango de direcciones IP, las subredes, las tablas de enrutamiento, las gateways de red y los ajustes de seguridad.

nota

Si creó la Cuenta de AWS después del 4 de diciembre de 2013, ya dispone de una VPC predeterminada en cada Región de AWS. Las VPC predeterminadas están listas para usarse; puede comenzar de inmediato a usarlas sin tener que realizar ningún paso de configuración adicional.

Para obtener más información acerca de las VPC predeterminadas, consulte VPC predeterminada y subredes predeterminadas en la Guía del usuario de Amazon VPC.

Para obtener acceso a la red pública de Internet, la VPC debe tener un gateway de Internet, es decir, un router virtual que conecta su VPC a Internet. Esto permite a las aplicaciones que se ejecutan en Amazon EC2 en su Amazon VPC acceder a los recursos de Internet, como Amazon DynamoDB.

De forma predeterminada, las comunicaciones de entrada y salida de DynamoDB usan el protocolo HTTPS, que protege el tráfico de la red mediante el uso del cifrado SSL/TLS. En el siguiente diagrama se muestra una instancia de Amazon EC2 en una VPC que accede a DynamoDB, por lo que DynamoDB utiliza una puerta de enlace de Internet en lugar de los puntos de conexión de VPC.

Diagrama de flujo de trabajo que muestra una instancia de Amazon EC2 que accede a DynamoDB a través de un enrutador, una puerta de enlace de Internet e Internet.

A muchos clientes les preocupa con razón la privacidad y la seguridad en el envío y recepción de datos a través de la red pública de Internet. Estas preocupaciones se pueden atajar con el uso de una red privada virtual (VPN) para dirigir todo el tráfico de la red de DynamoDB a través de su propia infraestructura de red corporativa. Sin embargo, este enfoque puede conllevar problemas de ancho de banda y disponibilidad.

Estos problemas se pueden solventar con puntos de enlace de la VPC para DynamoDB. Un punto de enlace de la VPC para DynamoDB permite que las instancias de Amazon EC2 de la VPC utilicen sus direcciones IP privadas para acceder a DynamoDB sin exponerse en la Internet pública. Sus instancias EC2 no tienen que ser direcciones IP públicas, ni necesita un gateway de Internet, un dispositivo NAT o una gateway privada virtual en su VPC. Para controlar el acceso a DynamoDB se utilizan políticas de punto de enlace. El tráfico entre su VPC y el servicio AWS no sale de la red de Amazon.

nota

Al utilizar direcciones IP públicas, todas las comunicaciones de VPC entre instancias y servicios alojados en AWS se mantienen privadas dentro de la red de AWS. Los paquetes que se originan en la red de AWS con un destino en la red de AWS permanecen en la red global de AWS, excepto el tráfico con destino u origen en las regiones de China de AWS.

Cuando crea un punto de enlace de la VPC para DynamoDB todas las solicitudes a un punto de enlace de DynamoDB dentro de la región (por ejemplo, dynamodb.us-west-2.amazonaws.com) se enrutan a un punto de enlace de DynamoDB privado dentro de la red de Amazon. No es necesario modificar las aplicaciones que se ejecutan en instancias EC2 en la VPC. El nombre del punto de enlace sigue siendo el mismo, pero la ruta a DynamoDB permanece por completo dentro de la red de Amazon y no accede a la red pública de Internet.

En el siguiente diagrama se muestra cómo una instancia EC2 de un punto de enlace de la VPC, puede utilizar un punto de conexión de la VPC para acceder a DynamoDB.

Diagrama de flujo de trabajo que muestra una instancia EC2 que accede a DynamoDB a través de un enrutador y un punto de enlace de la VPC solamente.

Para obtener más información, consulte Tutorial: Uso de un punto de conexión de VPC para DynamoDB.

Compartir puntos de conexión de VPC de Amazon y DynamoDB

Para habilitar el acceso al servicio de DynamoDB a través del punto de conexión de una puerta de enlace de una subred de VPC, debe tener permisos de cuenta de propietario para esa subred de VPC.

Una vez que el punto de conexión de una puerta de enlace de una subred de VPC tenga acceso a DynamoDB, cualquier cuenta de AWS con acceso a esa subred puede usar DynamoDB. Esto significa que todos los usuarios de cuentas de la subred de VPC pueden usar cualquier tabla de DynamoDB a la que tengan acceso. Esto incluye las tablas de DynamoDB asociadas a una cuenta diferente a la de la subred de VPC. No obstante, el propietario de la subred de VPC puede restringir a cualquier usuario concreto de la subred el uso del servicio de DynamoDB a través del punto de conexión de la puerta de enlace, según su criterio.

Tutorial: Uso de un punto de conexión de VPC para DynamoDB

En esta sección se explica cómo configurar y usar un punto de enlace de la VPC para DynamoDB.

Paso 1: lanzar una instancia de Amazon EC2

En este paso, lanza una instancia de Amazon EC2 en su Amazon VPC predeterminada. A partir de ese momento, podrá crear y utilizar un punto de enlace de la VPC para DynamoDB.

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. Elija Launch Instance y proceda del modo siguiente:

    Paso 1: Elegir una imagen de máquina de Amazon (AMI)

    • En la parte superior de la lista de AMI, vaya a Amazon Linux AMI (AMI de Amazon Linux) y elija Select (Seleccionar).

    Paso 2: Elegir un tipo de instancia

    • En la parte superior de la lista de tipos de instancias, elija t2.micro.

    • Elija Next: Configure Instance Details.

    Paso 3: Configurar los detalles de la instancia

    • Vaya a Network (Red) y elija la VPC predeterminada.

      Elija Siguiente: Añadir almacenamiento.

    Paso 4: Agregar almacenamiento

    • Elija Next: Tag Instance para omitir este paso.

    Paso 5: Etiquetar la instancia

    • Elija Next: Configure Security Group para omitir este paso.

    Paso 6: Configurar un grupo de seguridad

    • Elija Seleccionar un grupo de seguridad existente.

    • En la lista de grupos de seguridad, elija default. Se trata del grupo de seguridad predeterminado para la VPC.

    • Elija Next: Review and Launch.

    Paso 7: Revisar el lanzamiento de la instancia

    • Elija Iniciar.

  3. En la ventana Select an existing key pair or create a new key pair, proceda del modo siguiente:

    • Si no dispone de un par de claves de Amazon EC2, elija Create a new key pair (Crear un nuevo par de claves) y siga las instrucciones. Se le pedirá que descargue un archivo de clave privada (archivo .pem); lo necesitará más adelante cuando inicie sesión en la instancia de Amazon EC2.

    • Si ya dispone de un par de claves de Amazon EC2, vaya a Select a key pair y elíjalo en la lista. Debe tener el archivo de clave privada (archivo .pem) a su disposición para poder iniciar sesión en la instancia de Amazon EC2.

  4. Cuando haya configurado el par de claves, elija Launch Instances.

  5. Vuelva a la página de inicio de la consola de Amazon EC2 y elija la instancia que ha lanzado. En el panel inferior, en la pestaña Description, busque el Public DNS de su instancia. Por ejemplo: ec2-00-00-00-00.us-east-1.compute.amazonaws.com.

    Anote el nombre de DNS público, pues lo necesitará en el paso siguiente de este tutorial (Paso 2: configurar la instancia de Amazon EC2).

nota

La instancia de Amazon EC2 tardará unos minutos en estar disponible. Antes de continuar con el siguiente paso, asegúrese de que Instance State tenga el valor running y de que se hayan superado todas las comprobaciones de estado (Status Checks).

Paso 2: configurar la instancia de Amazon EC2

Una vez que la instancia de Amazon EC2 esté disponible, podrá iniciar sesión en ella y prepararla para utilizarla por primera vez.

nota

En los pasos siguientes se presupone que se va a conectar a la instancia de Amazon EC2 desde un ordenador que ejecuta Linux. Para obtener información sobre otras maneras de conectarse, consulte Conexión con la instancia de Linux en la Guía del usuario de Amazon EC2.

  1. Tendrá que autorizar el tráfico SSH entrante en su instancia de Amazon EC2. Para ello, creará un nuevo grupo de seguridad de EC2 y, a continuación, asignará el grupo de seguridad a la instancia EC2.

    1. En el panel de navegación, elija Security Groups.

    2. Elija Crear grupo de seguridad. En la ventana Crear grupo de seguridad, haga lo siguiente:

      • Security group name: escriba un nombre único para su grupo de seguridad. Por ejemplo: my-ssh-access.

      • Description: escriba una breve descripción del grupo de seguridad.

      • VPC: seleccione la VPC predeterminada.

      • En la sección Security group rules, elija Add Rule y proceda del modo siguiente:

        • Type: elija SSH.

        • Source: elija My IP.

      Cuando esté conforme con los ajustes, elija Crear.

    3. En el panel de navegación, seleccione Instances (Instancia[s]).

    4. Elija la instancia de Amazon EC2 que ha lanzado en Paso 1: lanzar una instancia de Amazon EC2.

    5. Seleccione Actions --> Networking --> Change Security Groups.

    6. En Cambiar Security Groups, seleccione el grupo de seguridad que ha creado anteriormente en este procedimiento (por ejemplo: my-ssh-access). El grupo de seguridad default existente también debe estar seleccionado. Cuando la configuración sea la que desea, elija Assign Security Groups.

  2. Utilice el comando ssh para iniciar sesión en su instancia de Amazon EC2, como se muestra en el siguiente ejemplo.

    ssh -i my-keypair.pem ec2-user@public-dns-name

    Deberá especificar el archivo de clave privada (archivo .pem) y el nombre de DNS público de la instancia. (Consulte Paso 1: lanzar una instancia de Amazon EC2).

    El identificador de inicio de sesión es ec2-user. No se requiere contraseña.

  3. Configure las credenciales de AWS como se muestra en el siguiente ejemplo. Introduzca su ID de clave de acceso de AWS, una clave secreta, y el nombre de la región predeterminada cuando se le solicite.

    aws configure
    AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-east-1 Default output format [None]:

Ahora está listo para crear un punto de enlace de la VPC para DynamoDB.

Paso 3: crear un punto de conexión de VPC para DynamoDB

En este paso, creará un punto de enlace de la VPC para DynamoDB y lo probará para asegurarse de que funciona.

  1. Antes de empezar, compruebe que puede comunicarse con DynamoDB mediante su punto de enlace público.

    aws dynamodb list-tables

    La salida mostrará una lista de las tablas de DynamoDB que tiene actualmente. (Si no tiene tablas, la lista estará vacía).

  2. Compruebe que DynamoDB es un servicio disponible para la creación de puntos de enlace de la VPC en la región de AWS. (El comando se muestra en negrita, seguido del resultado de ejemplo).

    aws ec2 describe-vpc-endpoint-services
    { "ServiceNames": [ "com.amazonaws.us-east-1.s3", "com.amazonaws.us-east-1.dynamodb" ] }

    En el resultado de ejemplo, DynamoDB es uno de los servicios disponibles, por lo que puede a empezar crear un punto de enlace de la VPC para este servicio.

  3. Determine el identificador de su VPC.

    aws ec2 describe-vpcs
    { "Vpcs": [ { "VpcId": "vpc-0bbc736e", "InstanceTenancy": "default", "State": "available", "DhcpOptionsId": "dopt-8454b7e1", "CidrBlock": "172.31.0.0/16", "IsDefault": true } ] }

    En el resultado de ejemplo, el ID de la VPC es vpc-0bbc736e.

  4. Crear el punto de enlace de la VPC. Para el parámetro --vpc-id, especifique el ID de la VPC del paso anterior. Utilice el parámetro --route-table-ids para asociar el punto de enlace con las tablas de enrutamiento.

    aws ec2 create-vpc-endpoint --vpc-id vpc-0bbc736e --service-name com.amazonaws.us-east-1.dynamodb --route-table-ids rtb-11aa22bb
    { "VpcEndpoint": { "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}", "VpcId": "vpc-0bbc736e", "State": "available", "ServiceName": "com.amazonaws.us-east-1.dynamodb", "RouteTableIds": [ "rtb-11aa22bb" ], "VpcEndpointId": "vpce-9b15e2f2", "CreationTimestamp": "2017-07-26T22:00:14Z" } }
  5. Compruebe que puede acceder a DynamoDB a través del punto de enlace de la VPC:

    aws dynamodb list-tables

    Si lo desea, puede probar otros comandos de la AWS CLI para DynamoDB. Para obtener más información, consulte Referencia de comandos de la AWS CLI.

Paso 4: (Opcional) Eliminar

Si desea eliminar los recursos que ha creado en este tutorial, siga estos procedimientos:

Para eliminar el punto de enlace de la VPC para DynamoDB
  1. Inicie sesión en la instancia de Amazon EC2.

  2. Determine el ID de punto de enlace de la VPC.

    aws ec2 describe-vpc-endpoints
    { "VpcEndpoint": { "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}", "VpcId": "vpc-0bbc736e", "State": "available", "ServiceName": "com.amazonaws.us-east-1.dynamodb", "RouteTableIds": [], "VpcEndpointId": "vpce-9b15e2f2", "CreationTimestamp": "2017-07-26T22:00:14Z" } }

    En el resultado de ejemplo, el ID de punto de conexión de VPC es vpce-9b15e2f2.

  3. Elimine el punto de conexión de VPC.

    aws ec2 delete-vpc-endpoints --vpc-endpoint-ids vpce-9b15e2f2
    { "Unsuccessful": [] }

    La matriz vacía [] indica que la operación se ha realizado correctamente (no hay solicitudes con error).

Para terminar la instancia de Amazon EC2
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Instances (Instancia[s]).

  3. Seleccione la instancia Amazon EC2.

  4. Elija Actions (Acciones), Instance State (Estado de la instancia), Terminate (Terminar).

  5. En la ventana de confirmación, elija Yes, Terminate.