Connexion à Neptune à l'aide de la console Gremlin avec signature (version 4) - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connexion à Neptune à l'aide de la console Gremlin avec signature (version 4)

La manière dont vous vous connectez à Amazon Neptune à l'aide de la console Gremlin avec authentification Signature Version 4 varie selon que vous utilisez TinkerPop version3.4.11ou une version supérieure, ou une version antérieure. Dans les deux cas, les prérequis suivants sont nécessaires :

  • Vous devez disposer des informations d'identification IAM nécessaires pour signer les demandes. VoirUtilisation de la chaîne de fournisseurs d'identification par défautdans leAWS SDK for JavaManuel du développeur.

  • Vous devez avoir installé une version de console Gremlin compatible avec la version du moteur Neptune utilisée par votre cluster de bases de données.

Si vous utilisez des informations d'identification temporaires, elles expirent après un intervalle spécifié, tout comme le jeton de session. Vous devez donc mettre à jour votre jeton de session lorsque vous demandez de nouvelles informations d'identification. VoirUtilisation d'informations d'identification de sécurité temporaires pour demander l'accès àAWSressourcesdans le Guide de l'utilisateur IAM.

Pour obtenir de l'aide sur la connexion via SSL/TLS, voirConfiguration SSL/TLS.

A l'aide de TinkerPop 3.4.11 ou version ultérieure pour se connecter à Neptune avec signature Sig4

avec TinkerPop 3.4.11 ou version ultérieure, vous utiliserezhandshakeInterceptor(), qui permet de connecter un signataire Sigv4 à la connexion établie par:remotecommande. Comme pour l'approche utilisée pour Java, vous devez configurerClusterobjet manuellement, puis passez-le au:remotecommande.

Notez que c'est très différent de la situation typique où:remoteLa commande prend un fichier de configuration pour établir la connexion. L'approche du fichier de configuration ne fonctionnera pas carhandshakeInterceptor()doit être défini par programmation et ne peut pas charger sa configuration à partir d'un fichier.

Connect la console Gremlin (TinkerPop 3.4.11 et supérieur) avec signature Sig4

  1. Démarrez la console Gremlin :

    $ bin/gremlin.sh
  2. Augremlin>invite, installez leamazon-neptune-sigv4-signerbibliothèque (cela ne doit être fait qu'une seule fois pour la console) :

    :install com.amazonaws amazon-neptune-sigv4-signer 2.4.0

    Si vous rencontrez des problèmes lors de cette étape, il peut être utile de consulter leTinkerPop documentationsurraisinConfiguration .

  3. Importez la classe requise pour gérer la connexion danshandshakeInterceptor() :

    :import com.amazonaws.auth.DefaultAWSCredentialsProviderChain :import com.amazonaws.neptune.auth.NeptuneNettyHttpSigV4Signer
  4. Si vous n'avez pas autrement défini les informations d'identification de votre compte, vous pouvez les attribuer comme suit :

    System.setProperty("aws.accessKeyId","(your access key)") System.setProperty("aws.secretKey","(your secret key)")
  5. Construisez manuellementClusterobjet pour se connecter à Neptune :

    cluster = Cluster.build("(host name)") .enableSsl(true) .handshakeInterceptor{ r -> def sigV4Signer = new NeptuneNettyHttpSigV4Signer("(Amazon region)", new DefaultAWSCredentialsProviderChain()) sigV4Signer.signRequest(r) return r } .create()

    Pour obtenir de l'aide pour trouver le nom d'hôte d'une instance de base de données Neptune, consultezConnexion aux points de terminaison Amazon Neptune.

  6. Établissez le:remoteconnexion à l'aide du nom de variableClusterobjet à l'étape précédente :

    :remote connect tinkerpop.server cluster
  7. Pour passer en mode télécommande, entrez la commande suivante. Cela envoie toutes les requêtes Gremlin à la connexion distante :

    :remote console

Utilisation d'une version de TinkerPopversion antérieure à 3.4.11 pour se connecter à Neptune avec signature Sig4

avec TinkerPop 3.4.10 ou version inférieure, utilisezamazon-neptune-gremlin-java-sigv4bibliothèque fournie par Neptune pour connecter la console à Neptune avec la signature Sigv4, comme décrit ci-dessous :

Connect la console Gremlin (TinkerPop versions antérieures à 3.4.11) avec signature Sig4

  1. Démarrez la console Gremlin :

    $ bin/gremlin.sh
  2. Augremlin>invite, installez leamazon-neptune-sigv4-signerbibliothèque (cela ne doit être fait qu'une seule fois pour la console) :

    :install com.amazonaws amazon-neptune-sigv4-signer 2.4.0

    Si vous rencontrez des problèmes lors de cette étape, il peut être utile de consulter leTinkerPop documentationsurraisinConfiguration .

  3. Dans leconfsous-répertoire du répertoire extrait, créez un fichier nomméneptune-remote.yaml.

    Si vous avez utilisé le pluginAWS CloudFormationmodèle pour créer votre cluster de base de données Neptune, unneptune-remote.yamlle fichier existera déjà. Dans ce cas, il vous suffit de modifier le fichier existant pour y inclure le réglage du channelizer indiqué ci-dessous.

    Sinon, copiez le texte suivant dans le fichier en remplaçant(nom de l'hôte)avec le nom d'hôte ou l'adresse IP de votre instance de base de données Neptune. Notez que les crochets ([]) entourant le nom d'hôte sont obligatoires.

    hosts: [(host name)] port: 8182 connectionPool: { channelizer: org.apache.tinkerpop.gremlin.driver.SigV4WebSocketChannelizer, enableSsl: true } serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1, config: { serializeResultToString: true }}
  4. Important

    Vous devez fournir des informations d'identification IAM pour signer les demandes. Saisissez les commandes suivantes pour définir vos informations d'identification en tant que variables d'environnement, en remplaçant les éléments pertinents par vos informations d'identification.

    export AWS_ACCESS_KEY_ID=access_key_id export AWS_SECRET_ACCESS_KEY=secret_access_key export SERVICE_REGION=us-east-1 or us-east-2 or us-west-1 or us-west-2 or ca-central-1 or sa-east-1 or eu-north-1 or eu-west-1 or eu-west-2 or eu-west-3 or eu-central-1 or me-south-1 or af-south-1 or ap-east-1 or ap-northeast-1 or ap-northeast-2 or ap-southeast-1 or ap-southeast-2 or ap-south-1 or cn-north-1 or cn-northwest-1 or us-gov-east-1 or us-gov-west-1

    Le signataire Neptune Version 4 utilise la chaîne de fournisseur d'informations d'identification par défaut. Pour d'autres méthodes de fourniture d'informations d'identification, consultezUtiliser la chaîne de fournisseurs d'informations d'identification par défautdans leAWS SDK for JavaManuel du développeur.

    La variable SERVICE_REGION est obligatoire, même lors de l'utilisation d'un fichier d'informations d'identification.

  5. Établissez le:remoteconnexion à l'aide du.yamlfichier :

    :remote connect tinkerpop.server conf/neptune-remote.yaml
  6. Entrez la commande suivante pour passer en mode distant, qui envoie toutes les requêtes Gremlin à la connexion distante :

    :remote console