Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Temporäre Anmeldeinformationen verwenden, um eine Verbindung zu Amazon Neptune herzustellen
Amazon Neptune unterstützt die IAM-Authentifizierung mit temporären Anmeldeinformationen.
Sie können eine angenommene Rolle zur Authentifizierung mithilfe einer IAM-Authentifizierungsrichtlinie verwenden, etwa eine der Beispielrichtlinien in den vorherigen Abschnitten.
Wenn Sie temporäre Anmeldeinformationen verwenden, müssen Sie AWS_SESSION_TOKEN
zusätzlich zu AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
und SERVICE_REGION
angeben.
Anmerkung
Die temporären Anmeldeinformationen laufen nach einem angegebenen Intervall ab, , einschließlich des Sitzungs-Tokens.
Sie müssen Ihren Sitzungs-Token aktualisieren, wenn Sie neue Anmeldeinformationen anfragen. Weitere Informationen finden Sie unter Verwenden temporärer Sicherheitsanmeldedaten, um Zugriff auf Ressourcen anzufordern. AWS
In den folgenden Abschnitten wird beschrieben, wie Sie den Zugriff zulassen und temporäre Anmeldeinformationen abrufen.
So führen Sie die Authentifizierung mithilfe temporärer Anmeldeinformationen durch
Erstellen Sie eine IAM-Rolle mit Berechtigung für den Zugriff auf einen Neptune-Cluster. Weitere Informationen zum Erstellen dieser Rolle finden Sie unter Verwenden verschiedener Arten von IAM-Richtlinien für die Steuerung des Zugriffs auf Neptune.
-
Fügen Sie eine Vertrauensstellung der Rolle hinzu, die den Zugriff auf die Anmeldeinformationen ermöglicht.
Rufen Sie die temporären Anmeldeinformationen ab, einschließlich
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
undAWS_SESSION_TOKEN
. Stellen Sie eine Verbindung mit dem Neptune-Cluster her und signieren Sie die Anforderungen mithilfe der temporären Anmeldeinformationen. Für weitere Informationen zu Verbindungen und zum Signieren von Anfragen finden Sie unter Mit Authentifizierung eine Verbindung zu Ihrer Amazon Neptune Neptune-Datenbank herstellen AWS Identity and Access Management.
Es gibt verschiedene Methoden zum Abrufen der temporären Anmeldeinformationen, die von der jeweiligen Umgebung abhängig sind.
Themen
Abrufen temporärer Anmeldeinformationen über die AWS CLI
Um Anmeldeinformationen mithilfe von AWS Command Line Interface (AWS CLI) abzurufen, müssen Sie zunächst eine Vertrauensstellung hinzufügen, die dem AWS Benutzer, der den AWS CLI Befehl ausführt, die Berechtigung erteilt, die Rolle zu übernehmen.
Fügen Sie der Neptune-IAM-Authentifizierungsrolle die folgende Vertrauensstellung hinzu. Wenn Sie keine Neptune-IAM-Authentifizierungsrolle haben, siehe Verwenden verschiedener Arten von IAM-Richtlinien für die Steuerung des Zugriffs auf Neptune.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/test" }, "Action": "sts:AssumeRole" } ] }
Informationen zum Hinzufügen der Vertrauensstellung zur Rolle finden Sie unter Bearbeiten der Vertrauensstellung für eine vorhandene Rolle im AWS Directory Service Administrationshandbuch.
Wenn die Neptune-Richtlinie noch nicht an eine Rolle angefügt ist, erstellen Sie eine neue Rolle. Fügen Sie die Neptune-IAM-Authentifizierungsrichtlinie an und dann die Vertrauensrichtlinie hinzu. Informationen zum Erstellen einer neuen Rolle finden Sie unter Erstellen einer neuen Rolle.
Anmerkung
In den folgenden Abschnitten wird davon ausgegangen, dass Sie das AWS CLI installiert haben.
Um das AWS CLI manuell auszuführen
-
Geben Sie den folgenden Befehl ein, um die Anmeldeinformationen mithilfe der AWS CLI anzufordern. Ersetzen Sie den Rollen-ARN, den Namen der Sitzung und das Profil durch Ihre eigenen Werte.
aws sts assume-role --role-arn
arn:aws:iam::123456789012:role/NeptuneIAMAuthRole
--role-session-nametest
--profiletestprofile
-
Das folgende Beispiel zeigt die Ausgabe des Befehls. Der Abschnitt
Credentials
enthält die Werte, die Sie benötigen.Anmerkung
Notieren Sie den
Expiration
-Wert, da Sie ihn später zum Anfordern neuer Anmeldeinformationen benötigen.{ "AssumedRoleUser": { "AssumedRoleId": "AROA3XFRBF535PLBIFPI4:s3-access-example", "Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example" }, "Credentials": { "SecretAccessKey": "
9drTJvcXLB89EXAMPLELB8923FB892xMFI
", "SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=
", "Expiration": "2016-03-15T00:05:07Z", "AccessKeyId": "ASIAJEXAMPLEXEG2JICEA
" } } -
Stellen Sie die Umgebungsvariablen anhand der zurückgegebenen Anmeldeinformationen ein.
export AWS_ACCESS_KEY_ID=
ASIAJEXAMPLEXEG2JICEA
export AWS_SECRET_ACCESS_KEY=9drTJvcXLB89EXAMPLELB8923FB892xMFI
export AWS_SESSION_TOKEN=AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=
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-central-1 or il-central-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
-
Stellen Sie die Verbindung mit einem der folgenden Verfahren her.
So verwenden Sie ein Skript zum Abrufen der Anmeldeinformationen
-
Führen Sie den folgenden Befehl aus, um den jq-Befehl zu installieren. Das Skript verwendet diesen Befehl, um die Ausgabe des AWS CLI Befehls zu analysieren.
sudo yum -y install jq
-
Erstellen Sie in einem Texteditor eine Datei mit der Bezeichnung
credentials.sh
, und fügen Sie den folgenden Text hinzu. Ersetzen Sie die Service-Region, den Rollen-ARN, den Namen der Sitzung und das Profil durch Ihre eigenen Werte.#!/bin/bash creds_json=$(aws sts assume-role --role-arn
arn:aws:iam::123456789012:role/NeptuneIAMAuthRole
--role-session-nametest
--profiletestprofile
) export AWS_ACCESS_KEY_ID=$(echo "$creds_json" | jq .Credentials.AccessKeyId |tr -d '"') export AWS_SECRET_ACCESS_KEY=$(echo "$creds_json" | jq .Credentials.SecretAccessKey| tr -d '"') export AWS_SESSION_TOKEN=$(echo "$creds_json" | jq .Credentials.SessionToken|tr -d '"') 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-central-1 or il-central-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
-
Stellen Sie die Verbindung mit einem der folgenden Verfahren her.
AWS Lambda für die Neptune-IAM-Authentifizierung einrichten
AWS Lambda schließt bei jeder Ausführung der Lambda-Funktion automatisch Anmeldeinformationen ein.
Zunächst müssen Sie eine Vertrauensstellung hinzufügen, die dem Lambda-Service die Berechtigung zur Übernahme der Rolle gewährt.
Fügen Sie der Neptune-IAM-Authentifizierungsrolle die folgende Vertrauensstellung hinzu. Wenn Sie keine Neptune-IAM-Authentifizierungsrolle haben, siehe Verwenden verschiedener Arten von IAM-Richtlinien für die Steuerung des Zugriffs auf Neptune.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Informationen zum Hinzufügen der Vertrauensstellung zur Rolle finden Sie unter Bearbeiten der Vertrauensstellung für eine vorhandene Rolle im AWS Directory Service Administrationshandbuch.
Wenn die Neptune-Richtlinie noch nicht an eine Rolle angefügt ist, erstellen Sie eine neue Rolle. Fügen Sie die Neptune-IAM-Authentifizierungsrichtlinie an und dann die Vertrauensrichtlinie hinzu. Informationen zum Erstellen einer neuen Rolle finden Sie unter Erstellen einer neuen Rolle im AWS Directory Service Administrationshandbuch.
Zugriff auf Neptune über Lambda
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Lambda Konsole unter https://console.aws.amazon.com/lambda/
. Erstellen Sie eine neue Lambda-Funktion für die Python-Version 3.6.
Weisen Sie die
AWSLambdaVPCAccessExecutionRole
-Rolle der Lambda-Funktion zu. Dies ist für den Zugriff auf Neptune-Ressourcen erforderlich, die nur in einer VPC existieren.-
Weisen Sie der Lambda-Funktion die Neptune-Authentifizierungs-IAM-Rolle zu.
Weitere Informationen finden Sie unter AWS -Lambda-Berechtigungen im AWS Lambda -Entwicklerhandbuch.
-
Kopieren Sie das IAM-Authentifizierungs-Python-Beispiel in den Lambda-Funktionscode.
Weitere Informationen zum Beispiel und zum Beispielcode finden Sie unter Herstellen einer Verbindung zu Amazon Neptune Neptune-Datenbanken mithilfe der IAM-Authentifizierung mit Python.
Amazon EC2 für die Neptune IAM-Authentifizierung einrichten
Amazon EC2 ermöglicht es Ihnen, Instance-Profile zu verwenden, um Anmeldeinformationen automatisch bereitzustellen. Weitere Informationen finden Sie unter Verwenden von Instance-Profilen im IAM-Benutzerhandbuch.
Zunächst fügen Sie eine Vertrauensbeziehung hinzu, die dem EC2 Amazon-Service die Erlaubnis erteilt, die Rolle zu übernehmen.
Fügen Sie der Neptune-IAM-Authentifizierungsrolle die folgende Vertrauensstellung hinzu. Wenn Sie keine Neptune-IAM-Authentifizierungsrolle haben, siehe Verwenden verschiedener Arten von IAM-Richtlinien für die Steuerung des Zugriffs auf Neptune.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Informationen zum Hinzufügen der Vertrauensstellung zur Rolle finden Sie unter Bearbeiten der Vertrauensstellung für eine vorhandene Rolle im AWS Directory Service Administrationshandbuch.
Wenn die Neptune-Richtlinie noch nicht an eine Rolle angefügt ist, erstellen Sie eine neue Rolle. Fügen Sie die Neptune-IAM-Authentifizierungsrichtlinie an und dann die Vertrauensrichtlinie hinzu. Informationen zum Erstellen einer neuen Rolle finden Sie unter Erstellen einer neuen Rolle im AWS Directory Service Administrationshandbuch.
So verwenden Sie ein Skript zum Abrufen der Anmeldeinformationen
-
Führen Sie den folgenden Befehl aus, um den jq-Befehl zu installieren. Das Skript verwendet diesen Befehl zum Analysieren der Ausgabe des curl-Befehl.
sudo yum -y install jq
-
Erstellen Sie in einem Texteditor eine Datei mit der Bezeichnung
credentials.sh
, und fügen Sie den folgenden Text hinzu. Ersetzen Sie die Service-Region durch Ihren eigenen Wert.TOKEN=$( curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" ) role_name=$( curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/ ) creds_json=$( curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/${role_name} ) export AWS_ACCESS_KEY_ID=$(echo "$creds_json" | jq .AccessKeyId |tr -d '"') export AWS_SECRET_ACCESS_KEY=$(echo "$creds_json" | jq .SecretAccessKey| tr -d '"') export AWS_SESSION_TOKEN=$(echo "$creds_json" | jq .Token|tr -d '"') 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-central-1 or il-central-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
-
Führen Sie das Skript in der
bash
-Shell mit demsource
-Befehl aus:source credentials.sh
Noch besser ist es, die Befehle in diesem Skript zur
.bashrc
Datei auf Ihrer EC2 Instance hinzuzufügen, sodass sie automatisch aufgerufen werden, wenn Sie sich anmelden, sodass temporäre Anmeldeinformationen für die Gremlin-Konsole verfügbar sind. -
Stellen Sie die Verbindung mit einem der folgenden Verfahren her.