IAMAuthentifizierung mit temporären Anmeldeinformationen - Amazon Neptune

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.

IAMAuthentifizierung mit temporären Anmeldeinformationen

Amazon Neptune unterstützt die IAM Authentifizierung mit temporären Anmeldeinformationen.

Sie können eine angenommene Rolle verwenden, um sich mithilfe einer IAM Authentifizierungsrichtlinie zu authentifizieren, wie 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 AWS Ressourcen anzufordern.

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
  1. Erstellen Sie eine IAM Rolle mit der Berechtigung, auf einen Neptun-Cluster zuzugreifen. Weitere Informationen zum Erstellen dieser Rolle finden Sie unter Verwendung verschiedener IAM Richtlinien zur Steuerung des Zugriffs auf Neptune.

  2. 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 und AWS_SESSION_TOKEN.

  3. 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 AWS Signature Version 4 verbinden und signieren.

Es gibt verschiedene Methoden zum Abrufen der temporären Anmeldeinformationen, die von der jeweiligen Umgebung abhängig sind.

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 IAM Neptune-Authentifizierungsrolle die folgende Vertrauensbeziehung hinzu. Wenn Sie keine IAM Neptune-Authentifizierungsrolle haben, finden Sie weitere Informationen unter. Verwendung verschiedener IAM Richtlinien zur 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. Hängen Sie die IAM Neptune-Authentifizierungsrichtlinie an und fügen Sie 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
  1. Geben Sie den folgenden Befehl ein, um die Anmeldeinformationen mithilfe der AWS CLI anzufordern. Ersetzen Sie die RolleARN, den Sitzungsnamen und das Profil durch Ihre eigenen Werte.

    aws sts assume-role --role-arn arn:aws:iam::123456789012:role/NeptuneIAMAuthRole --role-session-name test --profile testprofile
  2. 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" } }
  3. 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
  4. Stellen Sie die Verbindung mit einem der folgenden Verfahren her.

So verwenden Sie ein Skript zum Abrufen der Anmeldeinformationen
  1. 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
  2. Erstellen Sie in einem Texteditor eine Datei mit der Bezeichnung credentials.sh, und fügen Sie den folgenden Text hinzu. Ersetzen Sie die Dienstregion, die RolleARN, den Sitzungsnamen 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-name test --profile testprofile) 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
  3. Stellen Sie die Verbindung mit einem der folgenden Verfahren her.

AWS Lambda für die IAM Neptune-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 IAM Neptune-Authentifizierungsrolle die folgende Vertrauensbeziehung hinzu. Wenn Sie keine IAM Neptune-Authentifizierungsrolle haben, finden Sie weitere Informationen unter. Verwendung verschiedener IAM Richtlinien zur 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. Hängen Sie die IAM Neptune-Authentifizierungsrichtlinie an und fügen Sie 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
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Lambda Konsole unter. https://console.aws.amazon.com/lambda/

  2. Erstellen Sie eine neue Lambda-Funktion für die Python-Version 3.6.

  3. Weisen Sie die AWSLambdaVPCAccessExecutionRole-Rolle der Lambda-Funktion zu. Dies ist erforderlich, um auf Neptun-Ressourcen zuzugreifen, die nur VPC

  4. Weisen Sie der Lambda-Funktion die IAM Neptune-Authentifizierungsrolle zu.

    Weitere Informationen finden Sie unter AWS -Lambda-Berechtigungen im AWS Lambda -Entwicklerhandbuch.

  5. Kopieren Sie das IAM Python-Authentifizierungsbeispiel in den Lambda-Funktionscode.

    Weitere Informationen zum Beispiel und zum Beispielcode finden Sie unter Beispiel: Herstellen von Verbindungen mit Neptune über Python mit Signature-Version-4-Signierung.

Amazon EC2 für die IAM Neptune-Authentifizierung einrichten

Amazon EC2 ermöglicht es Ihnen, Instance-Profile zu verwenden, um Anmeldeinformationen automatisch bereitzustellen. Weitere Informationen finden Sie unter Verwenden von Instanzprofilen im IAMBenutzerhandbuch.

Zunächst fügen Sie eine Vertrauensbeziehung hinzu, die dem EC2 Amazon-Service die Erlaubnis erteilt, die Rolle zu übernehmen.

Fügen Sie der IAM Neptune-Authentifizierungsrolle die folgende Vertrauensbeziehung hinzu. Wenn Sie keine IAM Neptune-Authentifizierungsrolle haben, finden Sie weitere Informationen unter. Verwendung verschiedener IAM Richtlinien zur 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. Hängen Sie die IAM Neptune-Authentifizierungsrichtlinie an und fügen Sie 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
  1. 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
  2. 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.

    role_name=$( curl -s http://169.254.169.254/latest/meta-data/iam/security-credentials/ ) creds_json=$(curl -s 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
  3. Führen Sie das Skript in der bash-Shell mit dem source-Befehl aus:

    source credentials.sh

    Noch besser ist es, die Befehle in diesem Skript zur .bashrc Datei auf Ihrer EC2 Instanz hinzuzufügen, sodass sie automatisch aufgerufen werden, wenn Sie sich anmelden, sodass temporäre Anmeldeinformationen für die Gremlin-Konsole verfügbar sind.

  4. Stellen Sie die Verbindung mit einem der folgenden Verfahren her.