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 aux bases de données Amazon Neptune à l'aide de l'authentification IAM avec la console Gremlin
Pour vous connecter à Amazon Neptune à l'aide de la console Gremlin avec authentification Signature Version 4, vous devez requestInterceptor() connecter un signataire SigV4 à la connexion établie par la commande. :remote Cela nécessite que vous configuriez l'Clusterobjet manuellement, puis que vous le transmettiez à la :remote commande.
Notez que cela est très différent de la situation typique où la commande :remote utilise un fichier de configuration pour établir la connexion. L'approche utilisant le fichier de configuration ne fonctionne pas, car requestInterceptor() doit être défini par programmation et ne peut pas charger sa configuration à partir d'un fichier.
Note
Les exemples suivants utilisentrequestInterceptor(), qui a été introduit dans la version TinkerPop 3.6.6. Si vous utilisez une TinkerPop version antérieure à 3.6.6 (mais 3.5.5 ou supérieure), utilisez handshakeInterceptor() plutôt que requestInterceptor() dans les exemples de code ci-dessous.
Les prérequis suivants sont nécessaires :
Vous devez fournir les informations d'identification IAM nécessaires pour signer les demandes. Consultez la section Utilisation de la chaîne de fournisseurs d'informations d'identification par défaut dans le Guide du AWS SDK pour Java développeur.
Vous devez avoir installé une version de la console Gremlin compatible avec la version du moteur Neptune utilisée par le 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 le 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 SSL/TLS.
Connect la console G705 avec la signature Sig4
-
Démarrez la console Gremlin :
$ bin/gremlin.sh -
À l'invite
gremlin>, installez la bibliothèqueamazon-neptune-sigv4-signer(cette opération ne doit être effectuée qu'une seule fois pour la console) ::install com.amazonaws amazon-neptune-sigv4-signer 2.4.0Si vous rencontrez des problèmes lors de cette étape, il peut être utile de consulter la TinkerPop documentation relative
à la configuration de Grape . Note
Si vous utilisez un proxy HTTP, vous risquez de rencontrer des erreurs lors de cette étape où la commande
:installne s’exécute pas. Afin de résoudre ce problème, exécutez les commandes suivantes pour informer la console de l’existence du proxy :System.setProperty("https.proxyHost", "(the proxy IP address)") System.setProperty("https.proxyPort", "(the proxy port)") -
Importez la classe requise pour gérer la signature dans
requestInterceptor()::import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider :import com.amazonaws.neptune.auth.NeptuneNettyHttpSigV4Signer -
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)") -
Si vous n'avez pas encore établi les informations d'identification de votre compte, vous pouvez les attribuer comme suit :
System.setProperty("aws.accessKeyId","") System.setProperty("aws.secretKey","(your access key)(your secret key)") -
Construisez manuellement l'objet
Clusterà connecter à Neptune :cluster = Cluster.build("(host name)") \ .enableSsl(true) \ .requestInterceptor { r -> \ def sigV4Signer = new NeptuneNettyHttpSigV4Signer("(Amazon region)", \ DefaultCredentialsProvider.create()); \ sigV4Signer.signRequest(r); \ return r; } \ .create()Pour découvrir comment trouver le nom d'hôte de l'instance de base de données Neptune, consultez Connexion aux points de terminaison Amazon Neptune.
-
Pour établir la connexion
:remote, utilisez le nom de variable de l'objetClusterà l'étape précédente ::remote connect tinkerpop.server cluster -
Entrez la commande suivante pour passer en mode distant. Toutes les requêtes Gremlin sont alors envoyées à la connexion distante.
:remote console