View a markdown version of this page

Gerenciando permissões para neptune.read () - Amazon Neptune

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciando permissões para neptune.read ()

Políticas do IAM exigidas

Para executar consultas OpenCypher que usamneptune.read(), você deve ter as permissões apropriadas para acessar dados em seu banco de dados do Neptune. Read-only consultas exigem a ReadDataViaQuery ação. As consultas que modificam dados exigem WriteDataViaQuery inserções ou exclusõesDeleteDataViaQuery. O exemplo abaixo concede todas as três ações no cluster especificado.

Além disso, você precisa de permissões para acessar o bucket do S3 que contém seus arquivos de dados. A declaração de política Neptunes3Access concede as permissões S3 necessárias:

  • s3:ListBucket: necessária para verificar a existência do bucket e o conteúdo da lista.

  • s3:GetObject: necessário para acessar o objeto especificado para que seu conteúdo possa ser lido para integração às consultas do OpenCypher.

Se seu bucket do S3 usa criptografia do lado do servidor com AWS KMS, você também deve conceder permissões de KMS. A declaração de política Neptunes3KMSAccess permite que o Neptune descriptografe dados e gere chaves de dados ao acessar objetos criptografados do S3. A condição restringe as operações do KMS às solicitações originadas dos serviços S3 e RDS em sua região.

  • kms:Decrypt: necessário para realizar a decodificação do objeto criptografado para que seus dados possam ser lidos pelo Neptune.

  • kms:GenerateDataKey: Também exigido pela API do S3 usada para recuperar objetos a serem lidos.

{ "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" ] } } }

Pré-requisitos importantes

Essas permissões e pré-requisitos garantem a integração segura e confiável dos dados do S3 nas consultas do OpenCypher, mantendo controles de acesso e medidas de proteção de dados adequados.

  • Autenticação IAM: esse recurso só é compatível com clusters do Neptune com a autenticação IAM ativada. Consulte Protegendo seu banco de dados Amazon Neptune para obter instruções detalhadas sobre como criar e conectar-se a clusters habilitados para autenticação do IAM.

  • Endpoint VPC:

    • É necessário um endpoint Gateway-type VPC para o Amazon S3 para permitir que o Neptune se comunique com o Amazon S3.

    • Para usar AWS KMS criptografia personalizada na consulta, AWS KMS é necessário um Interface-type VPC endpoint para permitir que o Neptune se comunique com ele. AWS KMS

    • Para obter instruções detalhadas sobre como configurar esse endpoint, consulte Criação do Amazon S3 VPC Endpoint.