Connexion à Neptune à l'aide de la console G705 avec signature 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 G705 avec signature Signature version 4

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

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. Consultez la section Utilisation d'informations d'identification de sécurité temporaires pour demander l'accès aux AWS ressources dans le guide de l'utilisateur IAM.

Pour obtenir de l'aide sur la connexion via SSL/TLS, consultez. Configuration du protocole SSL/TLS

Utilisation de la TinkerPop version 3.4.11 ou supérieure pour se connecter à Neptune avec la signature Sig4

Avec la TinkerPop version 3.4.11 ou supérieure, vous utiliserezhandshakeInterceptor(), qui permet de connecter un signataire Sigv4 à la connexion établie par la commande. :remote Comme pour l'approche utilisée pour Java, vous devez configurer l'Clusterobjet manuellement, puis le transmettre à la :remote commande.

Notez que cela est très différent de la situation typique où la :remote commande utilise un fichier de configuration pour établir la connexion. L'approche du fichier de configuration ne fonctionnera pas car elle handshakeInterceptor() doit être définie par programmation et ne peut pas charger sa configuration à partir d'un fichier.

Connect la console Gremlin (TinkerPop 3.4.11 et versions ultérieures) à l'aide de la signature Sig4
  1. Démarrez la console Gremlin :

    $ bin/gremlin.sh
  2. À l'gremlin>invite, installez la amazon-neptune-sigv4-signer bibliothè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 la TinkerPop documentation relative à la configuration de Grape.

  3. Importez la classe requise pour gérer la signature dans handshakeInterceptor() :

    :import com.amazonaws.auth.DefaultAWSCredentialsProviderChain :import com.amazonaws.neptune.auth.NeptuneNettyHttpSigV4Signer
  4. Si vous utilisez des informations d'identification temporaires, vous devrez également fournir votre jeton de session comme suit :

    System.setProperty("aws.sessionToken","(your session token)")
  5. Si vous n'avez pas encore établi 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)")
  6. Construisez manuellement l'Clusterobjet à 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, consultez. Connexion aux points de terminaison Amazon Neptune

  7. Établissez la :remote connexion en utilisant le nom de variable de l'Clusterobjet à l'étape précédente :

    :remote connect tinkerpop.server cluster
  8. Entrez la commande suivante pour passer en mode distant. Toutes les requêtes Gkremlin sont ainsi envoyées à la connexion distante :

    :remote console

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

Avec la TinkerPop version 3.4.10 ou une version antérieure, utilisez la amazon-neptune-gremlin-java-sigv4 bibliothè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) à l'aide de la signature Sig4
  1. Démarrez la console Gremlin :

    $ bin/gremlin.sh
  2. À l'gremlin>invite, installez la amazon-neptune-sigv4-signer bibliothè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 la TinkerPop documentation relative à la configuration de Grape.

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

    Si vous avez utilisé le AWS CloudFormation modèle pour créer votre cluster de base de données Neptune, un neptune-remote.yaml fichier existe déjà. Dans ce cas, il vous suffit de modifier le fichier existant pour inclure le paramètre channelizer illustré ci-dessous.

    Sinon, copiez le texte suivant dans le fichier en remplaçant (nom d'hôte) par le nom d'hôte ou l'adresse IP de votre instance de base de données Neptune. Notez que les crochets ([]) encadrant 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 me-south-2 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 Neptune Version 4 Signer utilise la chaîne de fournisseurs d'informations d'identification par défaut. Pour d'autres méthodes de fourniture d'informations d'identification, consultez la section Utilisation de la chaîne de fournisseurs d'informations d'identification par défaut dans le guide du AWS SDK for Java développeur.

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

  5. Établissez la :remote connexion à l'aide du .yaml fichier :

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

    :remote console