Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Authentifizierung mit IAM-Identität

Fokusmodus
Authentifizierung mit IAM-Identität - Amazon DocumentDB

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.

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.

Amazon DocumentDB-Benutzer und -Anwendungen können IAM-Benutzer und -Rollen verwenden, um sich in einem Amazon DocumentDB-Cluster zu authentifizieren. Die Amazon DocumentDB IAM-Authentifizierung ist eine kennwortlose Authentifizierungsmethode. Außerdem senden Client-Anwendungen die Kennwortgeheimnisse nicht an den Amazon DocumentDB-Cluster, wenn sie IAM-Rollen/-Benutzer verwenden. Stattdessen werden Client-Verbindungen mithilfe temporärer Sicherheitstoken authentifiziert. AWS STS Benutzer und Anwendungen ohne Administratorrechte können jetzt denselben IAM-Identitäts-RN verwenden, wenn sie ARN Verbindung zu verschiedenen Amazon DocumentDB-Clustern und anderen Diensten herstellen. AWS

Sie können sich auch dafür entscheiden, sowohl die kennwortbasierte als auch die IAM-Authentifizierung zu verwenden, um Benutzer und Anwendungen in einem Amazon DocumentDB-Cluster zu authentifizieren. Die IAM-Authentifizierung ist nur in der instanzbasierten Amazon DocumentDB-Cluster-Version 5.0 verfügbar. Die IAM-Authentifizierung mit IAM-Identität ARNs wird für den Amazon DocumentDB DocumentDB-Hauptbenutzer nicht unterstützt.

Anmerkung

Der Hauptbenutzer kann nur mithilfe einer vorhandenen passwortbasierten Authentifizierung authentifiziert werden.

Erste Schritte mit der Authentifizierung mithilfe von IAM-Benutzern und -Rollen

Amazon DocumentDB DocumentDB-Benutzer und -Rollen mit IAM-Identitäten werden in einer Datenbank erstellt und verwaltet. $external

Einen Benutzer erstellen

Connect als Hauptbenutzer her und erstellen Sie dann einen IAM-Benutzer und eine IAM-Rolle:

use $external; db.createUser( { user: "arn:aws:iam::123456789123:user/iamuser", mechanisms: ["MONGODB-AWS"], roles: [ { role: "readWrite", db: "readWriteDB" } ] } );

Alternativ können Sie einen Amazon DocumentDB DocumentDB-Benutzer mit einer IAM-Rolle hinzufügen:

use $external; db.createUser( { user: "arn:aws:iam::123456789123:role/iamrole", mechanisms: ["MONGODB-AWS"], roles: [ { role: "readWrite", db: "readWriteDB" } ] } );

Ändern eines IAM-Benutzers oder einer IAM-Rolle

Ändern Sie einen vorhandenen IAM-Benutzer:

use $external; db.updateUser( "arn:aws:iam::123456789123:user/iamuser", { roles: [ { role: "read", db: "readDB" } ] } );

Ändern Sie eine bestehende IAM-Rolle:

use $external; db.updateUser( "arn:aws:iam::123456789123:role/iamrole", { roles: [ { role: "read", db: "readDB" } ] } );

So gewähren oder entziehen Sie einem IAM-Benutzer Rollen:

use $external; db.grantRolesToUser( "arn:aws:iam::123456789123:user/iamuser", [ { db: "admin", role: "readWriteAnyDatabase" } ] );
use $external; db.revokeRolesFromUser( "arn:aws:iam::123456789123:user/iamuser", [ { db: "admin", role: "readWriteAnyDatabase" } ] );

So gewähren oder entziehen Sie Rollen für eine IAM-Rolle:

use $external; db.grantRolesToUser( "arn:aws:iam::123456789123:user/iamrole", [ { db: "admin", role: "readWriteAnyDatabase" } ] );
use $external; db.revokeRolesFromUser( "arn:aws:iam::123456789123:user/iamrole", [ { db: "admin", role: "readWriteAnyDatabase" } ] );

Löschen eines IAM-Benutzers oder einer IAM-Rolle

Um einen vorhandenen IAM-Benutzer zu löschen:

use $external; db.dropUser("arn:aws:iam::123456789123:user/iamuser");

Um eine bestehende IAM-Rolle zu löschen:

use $external; db.dropUser("arn:aws:iam::123456789123:role/iamrole");

Konfigurieren Sie einen Verbindungs-URI für die Authentifizierung mit IAM AWS

Verwenden Sie die folgenden URI-Parameter, um sich mit AWS IAM zu authentifizieren: authSource as und as. $external authMechanism MONGODB-AWS Wenn Sie einen IAM-Benutzer verwenden, werden die Felder für den Benutzernamen und das Passwort durch einen Zugriffsschlüssel bzw. einen geheimen Schlüssel ersetzt. Wenn Sie eine IAM-Rolle übernehmen, die der Umgebung zugeordnet ist, in der Sie sich befinden (z. B. AWS Lambda Funktion, EC2 Amazon-Instance). Sie müssen bei der Authentifizierung mit diesem Mechanismus keine speziellen Anmeldeinformationen angeben. MONGODB-AWS Wenn Sie MongoDB-Treiber verwenden, die den MONGODB-AWS Authentifizierungsmechanismus unterstützen, können die Treiber auch IAM-Rollenanmeldedaten von der Compute-Instance abrufen (z. B. Amazon EC2, Lambda-Funktion und andere). Im folgenden Beispiel wird eine Mongo-Shell zur Authentifizierung verwendet, MONGODB-AWS indem ein Zugriffsschlüssel und ein geheimer Schlüssel (eines IAM-Benutzers) manuell übergeben werden, um die Authentifizierung gegenüber Amazon DocumentDB nachzuweisen.

Im folgenden Beispiel wird Python-Code zur Authentifizierung verwendet, MONGODB-AWS ohne dass Anmeldeinformationen explizit übergeben werden (mithilfe einer der Umgebung zugewiesenen IAM-Rolle), um die Authentifizierung gegenüber Amazon DocumentDB zu demonstrieren.

##Create a MongoDB client, open a connection to Amazon DocumentDB using an IAM role client = pymongo.MongoClient(‘mongodb://<DocDBEndpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false&authSource=%24external&authMechanism=MONGODB-AWS')

Im folgenden Beispiel wird eine Mongo-Shell verwendet, um sich mithilfe eines MONGODB-AWS Mechanismus zu authentifizieren, indem ein Zugriffsschlüssel und ein geheimer Schlüssel (eines IAM-Benutzers) manuell übergeben werden, um die Authentifizierung gegenüber Amazon DocumentDB nachzuweisen.

$ mongo 'mongodb://<access_key>:<secret_key>@<cluster_endpoint>:<db_port>/test?authSource=%24external&authMechanism=MONGODB-AWS'

Im folgenden Beispiel wird eine Mongo-Shell zur Authentifizierung verwendet, MONGODB-AWS ohne dass Anmeldeinformationen explizit übergeben werden (mithilfe der der Umgebung zugewiesenen IAM-Rolle), um die Authentifizierung gegenüber Amazon DocumentDB zu demonstrieren.

$ mongo 'mongodb://<cluster_endpoint>:<db_port>/test?authSource=%24external&authMechanism=MONGODB-AWS'

Konfiguration von AWS Compute-Typen für die Authentifizierung bei Amazon DocumentDB mithilfe von IAM AWS

Amazon verwenden EC2/AWS Lambda/AWS Fargate

Amazon EC2 verwendet die folgenden Umgebungsvariablen. Wenn der EC2 Instance eine IAM-Rolle oder eine Ausführungs-IAM-Rolle mit einer Lambda-Funktion oder einer Amazon ECS-Aufgabe verknüpft ist, werden diese Variablen automatisch gefüllt und der Treiber kann diese Werte aus der Umgebung abrufen:

AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN

Weitere Informationen zu Umgebungsvariablen finden Sie unter Verwenden von Lambda-Umgebungsvariablen im AWS Lambda Entwicklerhandbuch.

Amazon EKS verwenden

Wenn Sie Ihren Amazon Elastic Kubernetes Service (Amazon EKS) -Pods eine Rolle zuweisen, werden automatisch die folgenden beiden Umgebungsvariablen eingerichtet:

AWS_WEB_IDENTITY_TOKEN_FILE - path of web identity token file AWS_ROLE_ARN - Name of IAM role to connect with

Übernehmen Sie mithilfe dieser Variablen manuell die Rolle aus Ihrem Code mithilfe des AWS SDK-Aufrufs für: AssumeRoleWithWebIdentity

  • Lassen Sie den ProviderID Parameter weg.

  • Suchen Sie den Wert des WebIdentityToken Parameters in der Datei, die in der AWS_WEB_IDENTITY_TOKEN_FILE Umgebungsvariablen beschrieben ist.

Weitere Informationen zu Amazon EKS finden Sie unter Was ist Amazon EKS im Amazon EKS-Benutzerhandbuch.

Überwachung von IAM-Authentifizierungsanfragen

Amazon DocumentDB DocumentDB-Auditing verwenden

Gehen Sie zum Audit-Log-Ordner in Amazon und verwenden Sie verschiedene Suchmuster CloudWatch, um die Protokolle für die IAM-Authentifizierung abzurufen. Verwenden Sie es beispielsweise { $.param.mechanism = "MONGODB-AWS" } als Suchmuster für „Alle Protokollstreams durchsuchen“.

Weitere Informationen zu unterstützten Ereignissen bei der Überwachung finden Sie unterAmazon DocumentDB DocumentDB-Ereignisse prüfen.

Verwenden von CloudWatch Amazon-Metriken

StsGetCallerIdentityCalls: Diese Metrik zeigt, wie viele GetCallerIdentity Aufrufe eine Amazon DocumentDB DocumentDB-Instance an den regionalized AWS Security Token Service (AWS STS) -Endpunkt tätigt. In der MONGODB-AWS Authentifizierungsspezifikation erfahren Sie, warum Datenbank-Instances GetCallerIdentity STS-Aufrufe tätigen müssen.

Verwenden der IAM-Authentifizierung

Wenn Sie den Benutzernamen und das Passwort nicht in Ihrer eigenen Datenbank verwalten möchten, können Sie die IAM-Authentifizierung verwenden. Die IAM-Authentifizierung ist nur in der instanzbasierten Amazon DocumentDB-Cluster-Version 5.0 verfügbar.

Die IAM-Authentifizierung ist vom STS-Service abhängig. Wir empfehlen Ihnen, zu prüfen, ob Sie die Verbindungsrate senken können, wenn Sie die IAM-Authentifizierung für die Verbindung verwenden und eine STS-Drosselungsausnahme auftritt.

Informationen zu IAM-Kontingenten finden Sie unter IAM und AWS STS Kontingente im IAM-Benutzerhandbuch.

Treiber, die IAM unterstützen

Treiber, die Amazon DocumentDB 5.0 und den MONGODB-AWS Authentifizierungsmechanismus unterstützen, sollten mit der IAM-Authentifizierungsimplementierung in Amazon DocumentDB funktionieren.

Wichtig

Es gibt eine bekannte Einschränkung bei Treibern von Node.js, die älter als Version 6.13.1 sind und die derzeit nicht von der IAM-Identitätsauthentifizierung für Amazon DocumentDB unterstützt werden. Die Treiber und Tools der Datei Node.js, die den Treiber Node.js verwenden (z. B. mongosh), müssen aktualisiert werden, sodass sie den Treiber Node.js der Version 6.13.1 oder höher verwenden.

Häufig gestellte Fragen zur IAM-Identitätsauthentifizierung

Gibt es Beispiele, auf die ich mich beziehen kann?

Auf diesen Seiten finden Sie Beispiele für Anwendungsfälle und Konfigurationen:

Ich erhalte eine Fehlermeldung bei der Verwendung meines Python-Treibers: „pymongo.errors. ConfigurationError: MONGODB-AWS Authentifizierung erfordert“. pymongo-auth-aws Wie kann ich das lösen?

Bitte stellen Sie sicher, dass Sie bei der Installation des Python-Treibers mit IAM-Authentifizierung die folgende Anweisung verwenden:

pip install 'pymongo[aws]'

Dadurch werden die zusätzlichen AWS Abhängigkeiten installiert, die für das Funktionieren der IAM-Authentifizierung erforderlich sind.

Wird meine Verbindung unterbrochen, wenn meine temporären Anmeldeinformationen für meine IAM-Rolle ablaufen?

Nein, die temporären IAM-Anmeldeinformationen werden nur für den Verbindungsaufbau und die Authentifizierung verwendet. Dann erfolgt die gesamte weitere Autorisierung im Amazon DocumentDB-Cluster. Selbst wenn die IAM-Anmeldeinformationen rotieren/ablaufen, wird die Verbindung nicht unterbrochen oder veraltet.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.