View a markdown version of this page

Administrar los permisos de neptune.read () - Amazon Neptune

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.

Administrar los permisos de neptune.read ()

Políticas de IAM obligatorias

Para ejecutar las consultas de OpenCypher que utiliceneptune.read(), debe tener los permisos adecuados para acceder a los datos de la base de datos de Neptune. Las consultas de solo lectura requieren esta acción. ReadDataViaQuery Las consultas que modifican datos requieren WriteDataViaQuery inserciones o DeleteDataViaQuery eliminaciones. El siguiente ejemplo permite realizar las tres acciones en el clúster especificado.

Además, necesita permisos para acceder al depósito de S3 que contiene sus archivos de datos. La declaración de política de Neptunes3access otorga los permisos de S3 necesarios:

  • s3:ListBucket: necesario para verificar la existencia del bucket y enumerar su contenido.

  • s3:GetObject: Necesario para acceder al objeto especificado para poder leer su contenido e integrarlo en las consultas de OpenCypher.

Si su bucket de S3 utiliza el cifrado del lado del servidor AWS KMS, también debe conceder permisos de KMS. La declaración de KMSAccess política de Neptunes3 permite a Neptune descifrar datos y generar claves de datos al acceder a objetos S3 cifrados. La condición restringe las operaciones de KMS a las solicitudes que se originen en los servicios de S3 y RDS de su región.

  • kms:Decrypt: Necesario para descifrar el objeto cifrado para que Neptune pueda leer sus datos.

  • kms:GenerateDataKey: También lo requiere la API de S3 que se utiliza para recuperar los objetos que se van a leer.

{ "Sid": "NeptuneQueryAccess", "Effect": "Allow", "Action": [ "neptune-db:ReadDataViaQuery", "neptune-db:WriteDataViaQuery", "neptune-db:DeleteDataViaQuery" ], "Resource": "arn:aws:neptune-db:<REGION>:<AWS_ACCOUNT_ID>:<CLUSTER_RESOURCE_ID>/*" }, { "Sid": "NeptuneS3Access", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::neptune-read-bucket", "arn:aws:s3:::neptune-read-bucket/*" ] }, { "Sid": "NeptuneS3KMSAccess", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:<REGION>:<AWS_ACCOUNT_ID>:key/<KEY_ID>", "Condition": { "StringEquals": { "kms:ViaService": [ "s3.<REGION>.amazonaws.com", "rds.<REGION>.amazonaws.com" ] } } }

Requisitos previos importantes

Estos permisos y requisitos previos garantizan una integración segura y confiable de los datos de S3 en las consultas de OpenCypher, al tiempo que mantienen los controles de acceso y las medidas de protección de datos adecuados.

  • Autenticación de IAM: esta función solo es compatible con los clústeres de Neptune con la autenticación de IAM habilitada. Consulte Proteger la base de datos de Amazon Neptune para obtener instrucciones detalladas sobre cómo crear clústeres habilitados para la autenticación de IAM y conectarse a ellos.

  • Punto de conexión de VPC:

    • Para que Neptune pueda comunicarse con Amazon S3e, se requiere un punto de conexión de VPC de tipo puerta de enlace para Amazon S3.

    • Para usar el AWS KMS cifrado personalizado en la consulta, se requiere un punto de enlace de VPC de tipo interfaz AWS KMS para permitir que Neptune se comunique con él. AWS KMS

    • Para obtener instrucciones detalladas sobre cómo configurar este punto de enlace, consulte Creación del punto de enlace de VPC de Amazon S3.