View a markdown version of this page

Pilar de seguridad - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Pilar de seguridad

La seguridad en la nube AWS es la máxima prioridad. Como AWS cliente, usted se beneficia de una arquitectura de centro de datos y red diseñada para cumplir con los requisitos de las organizaciones más sensibles a la seguridad.

La seguridad es una responsabilidad compartida entre usted AWS y usted. El modelo de responsabilidad compartida la describe como seguridad de la nube y seguridad en la nube:

  • Seguridad de la nube: AWS es responsable de proteger la infraestructura que se ejecuta Servicios de AWS en la Nube de AWS. AWS también le proporciona servicios que puede utilizar de forma segura. Los auditores externos prueban y verifican periódicamente la eficacia de la AWS seguridad como parte de los programas de AWS cumplimiento. Para obtener más información acerca de los programas de conformidad que se aplican a Amazon Neptune, consulte Servicios de AWS en el ámbito del programa de conformidad.

  • Seguridad en la nube: su responsabilidad viene determinada por lo Servicio de AWS que utilice. También es responsable de otros factores, incluida la confidencialidad de los datos, los requisitos de la empresa y la legislación y los reglamentos aplicables. Para obtener más información sobre la privacidad de datos, consulte Preguntas frecuentes sobre la privacidad de datos. Para obtener información sobre la protección de datos en Europa, consulte la publicación de blog AWS Shared Responsibility Model and GDPR.

El pilar de seguridad le ayuda a entender cómo aplicar el modelo de responsabilidad compartida al utilizar Neptune. En los siguientes temas, se le mostrará cómo configurar Neptune para satisfacer sus objetivos de seguridad y conformidad. También aprenderá a usar otros Servicios de AWS que le ayuden a monitorear y proteger sus recursos de Neptune.

El pilar de seguridad incluye las siguientes áreas clave:

  • Seguridad de los datos

  • Seguridad de la red

  • Autenticación y autorización

Implementación la seguridad de los datos

Las brechas de seguridad y las filtraciones de datos ponen en riesgo a sus clientes y pueden tener un impacto negativo sustancial en su empresa. Las siguientes prácticas recomendadas permiten proteger los datos de sus clientes de una exposición inadvertida o malintencionada:

  • Los nombres de los clústeres, las etiquetas, los grupos de parámetros, las funciones AWS Identity and Access Management (IAM) y otros metadatos no deben contener información confidencial o delicada, ya que esos datos pueden aparecer en los registros de facturación o diagnóstico.

  • URIs o los enlaces a servidores externos almacenados como datos en Neptune no deben contener información sobre credenciales para validar las solicitudes.

  • Las instancias cifradas de Neptune ofrecen una capa adicional de protección de datos al ayudarle a proteger los datos del acceso no autorizado al almacenamiento subyacente. Puede utilizar el cifrado de Neptune para aumentar la protección de datos de las aplicaciones implementadas en la nube. También puede utilizar el cifrado de Neptune para cumplir con los requisitos de cumplimiento del cifrado de datos en reposo.

    Para habilitar el cifrado para una nueva instancia de base de datos de Neptune, elija en la sección Habilitar el cifrado de la consola Neptune (seleccionada de forma predeterminada) o configurando la propiedad en. AWS::Neptune::DBCluster::StorageEncrypted CloudFormation Si el cifrado está activado, Neptune utilizará la clave administrada de AWS de Amazon Relational Database Service (Amazon RDS) de forma predeterminada. También puede crear una clave administrada por el cliente. Para obtener información acerca de la creación de una instancia de base de datos de Neptune, consulte Creating a new Neptune DB cluster. Para obtener más información, consulte Encrypting Neptune Resources at Rest. Las instantáneas automatizadas y manuales utilizan el mismo cifrado que seleccionó para el clúster de Neptune.

  • Cuando utilice los lenguajes SPARQL y openCypher, practique las técnicas adecuadas de validación y parametrización de las entradas para evitar la inyección de código SQL y otras formas de ataques. Evite crear consultas que utilicen la concatenación de cadenas con entradas proporcionadas por el usuario. Utilice consultas parametrizadas o declaraciones preparadas para pasar de forma segura los parámetros de entrada a la base de datos de gráficos. Para obtener más información, consulte Examples of openCypher parameterized queries y SPARQL Injection Defence.

  • En el caso del lenguaje Gremlin, utilice variantes del lenguaje Gremlin en lugar de pasar directamente los scripts Gremlin basados en cadenas para evitar posibles problemas de inyección.

Protección de las redes

Un clúster de base de datos de Amazon Neptune solo se puede crear en una nube privada virtual (VPC) en AWS. Hasta Neptune 1.4.6.0, solo se podía acceder a los puntos finales del clúster de base de datos de Neptune dentro de esa VPC. A partir de Neptune 1.4.6.0 y versiones posteriores, las instancias de Neptune se pueden configurar para que sean de acceso público a través de Internet. Se recomienda utilizar esta función solo en entornos que no sean de producción para permitir el acceso simplificado a Neptune para los desarrolladores (aunque siempre se requiere la autenticación de IAM para permitir la accesibilidad pública). Si tiene habilitada la accesibilidad pública, considere configurar las reglas de los grupos de seguridad entrantes para el puerto de su base de datos para que solo el tráfico de direcciones IP conocidas. En entornos de producción o con clústeres que contengan datos confidenciales, proteja sus datos de Neptune impidiendo la accesibilidad pública y limitando el acceso a la VPC en la que se encuentra su clúster de base de datos de Neptune. Para obtener más información, consulte Connecting to your Amazon Neptune graph.

Para proteger sus datos en tránsito, Neptune aplica conexiones SSL a través de HTTPS a cualquier instancia o punto de conexión del clúster mediante protocolos y cifrados seguros. Neptune proporciona certificados SSL para las instancias de base de datos de Neptune. Los certificados SSL de Neptune solo admiten nombres de host de punto de conexión de clúster, punto de conexión de lector y punto de conexión de instancia.

Si utiliza un equilibrador de carga o un servidor proxy (por ejemplo HAProxy), debe utilizar la terminación SSL y tener su propio certificado SSL en el servidor proxy. El acceso directo SSL no funciona porque los certificados SSL proporcionados no coinciden con el nombre de host del servidor proxy. Para obtener más información acerca de la conexión a puntos de conexión de Neptune con SSL, consulte Using the HTTP REST endpoint to connect to a Neptune DB instance.

Implementación de la autenticación y autorización

Para controlar quién puede realizar acciones de administración de Neptune en los clústeres y las instancias de base de datos de Neptune, habilite la autenticación de bases de datos de IAM y utilice las credenciales de IAM. Cuando se conecta a AWS con credenciales de IAM, el rol de IAM debe tener políticas de IAM que concedan los permisos necesarios para realizar operaciones de administración de Neptune. Asegúrese de seguir el principio de privilegio mínimo, que consiste en conceder únicamente los permisos necesarios para completar una tarea. Para obtener más información, consulte Using different kinds of IAM policies for controlling access to Neptune e IAM Authentication Using Temporary Credentials.

Para controlar quién puede conectarse a un clúster de base de datos de Neptune y consultar los datos, puede usar IAM para autenticarse en la instancia o clúster de base de datos de Neptune. Si activa la autenticación de IAM en un clúster de base de datos de Neptune, cualquier persona que acceda al clúster de base de datos debe autenticarse primero. Para obtener más información y ver los pasos para activar la autenticación de IAM, consulte Enabling IAM database authentication in Neptune.

Cuando la autenticación de bases de datos de IAM está habilitada, cada una de las solicitudes debe firmarse con AWS Signature Version 4. Para aprender a enviar solicitudes firmadas a todos los puntos de conexión de Neptune con la autenticación de IAM activada, consulte Connecting and Signing with AWS Signature Version 4. Muchas bibliotecas y herramientas, como awscurl, ya son compatible con AWS  Signature Version 4.

 Para interactuar con otros Servicios de AWS, Amazon Neptune utiliza funciones vinculadas a servicios de IAM. Un rol vinculado a un servicio es un tipo único de rol de IAM que está vinculado directamente a Neptune. Los roles vinculados a servicios están predefinidos por Neptune e incluyen todos los permisos que el servicio requiere para llamar a otros Servicios de AWS en su nombre. Para obtener más información, consulte Using Service-Linked Roles for Neptune.