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.
Verwenden eines Cassandra Node.js Client-Treibers für den programmgesteuerten Zugriff auf Amazon Keyspaces
In diesem Abschnitt erfahren Sie, wie Sie mithilfe eines Node.js Client-Treibers eine Verbindung zu Amazon Keyspaces herstellen. Um Benutzern und Anwendungen Anmeldeinformationen für den programmatischen Zugriff auf Amazon Keyspaces-Ressourcen zur Verfügung zu stellen, können Sie einen der folgenden Schritte ausführen:
-
Erstellen Sie dienstspezifische Anmeldeinformationen, die einem bestimmten Benutzer AWS Identity and Access Management () IAM zugeordnet sind.
-
Aus Sicherheitsgründen empfehlen wir, IAM Zugriffsschlüssel für IAM Benutzer oder Rollen zu erstellen, die für alle AWS Dienste verwendet werden. Das Amazon Keyspaces SigV4-Authentifizierungs-Plugin für Cassandra-Client-Treiber ermöglicht es Ihnen, Anrufe an Amazon Keyspaces mithilfe von IAM Zugriffsschlüsseln anstelle von Benutzername und Passwort zu authentifizieren. Weitere Informationen finden Sie unter Erstellen und Konfigurieren AWS Anmeldeinformationen für Amazon Keyspaces.
Themen
- Bevor Sie beginnen
- Stellen Sie mithilfe des DataStax Treibers Node.js für Apache Cassandra und dienstspezifische Anmeldeinformationen eine Connect zu Amazon Keyspaces her
- Stellen Sie mithilfe des Treibers DataStax Node.js für Apache Cassandra und des SigV4-Authentifizierungs-Plug-ins eine Connect zu Amazon Keyspaces her
Bevor Sie beginnen
Sie müssen die folgende Aufgabe abschließen, bevor Sie beginnen können.
Amazon Keyspaces erfordert die Verwendung von Transport Layer Security (TLS), um Verbindungen mit Clients zu sichern. Um eine Verbindung zu Amazon Keyspaces herzustellenTLS, müssen Sie ein digitales Amazon-Zertifikat herunterladen und den zu TLS verwendenden Python-Treiber konfigurieren.
Laden Sie das digitale Starfield-Zertifikat mit dem folgenden Befehl herunter und speichern Sie es sf-class2-root.crt
lokal oder in Ihrem Home-Verzeichnis.
curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
Anmerkung
Sie können das digitale Amazon-Zertifikat auch verwenden, um eine Verbindung zu Amazon Keyspaces herzustellen, und Sie können dies auch weiterhin tun, wenn Ihr Kunde erfolgreich eine Verbindung zu Amazon Keyspaces herstellt. Das Starfield-Zertifikat bietet zusätzliche Abwärtskompatibilität für Kunden, die ältere Zertifizierungsstellen verwenden.
curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
Stellen Sie mithilfe des DataStax Treibers Node.js für Apache Cassandra und dienstspezifische Anmeldeinformationen eine Connect zu Amazon Keyspaces her
Konfigurieren Sie Ihren Treiber so, dass er das digitale Starfield-Zertifikat für dienstspezifische Anmeldeinformationen verwendet TLS und sich mit diesen authentifiziert. Beispielsweise:
const cassandra = require('cassandra-driver'); const fs = require('fs'); const auth = new cassandra.auth.PlainTextAuthProvider('
ServiceUserName
', 'ServicePassword
'); const sslOptions1 = { ca: [ fs.readFileSync('path_to_file
/sf-class2-root.crt', 'utf-8')], host: 'cassandra.us-west-2.amazonaws.com
', rejectUnauthorized: true }; const client = new cassandra.Client({ contactPoints: ['cassandra.us-west-2.amazonaws.com
'], localDataCenter: 'us-west-2
', authProvider: auth, sslOptions: sslOptions1, protocolOptions: { port: 9142 } }); const query = 'SELECT * FROM system_schema.keyspaces'; client.execute(query) .then( result => console.log('Row from Keyspaces %s', result.rows[0])) .catch( e=> console.log(`${e}`));
Hinweise zur Nutzung:
"
Ersetzen Sie es durch den Pfad zu dem Zertifikat, das im ersten Schritt gespeichert wurde.path_to_file
/sf-class2-root.crt"Stellen Sie sicher, dass
ServiceUserName
andServicePassword
Ordnen Sie den Benutzernamen und das Kennwort zu, die Sie bei der Generierung der dienstspezifischen Anmeldeinformationen erhalten haben, indem Sie die Schritte unter ausführen. Dienstspezifische Anmeldeinformationen für den programmatischen Zugriff auf Amazon Keyspaces erstellenEine Liste der verfügbaren Endpunkte finden Sie unter. Service-Endpunkte für Amazon Keyspaces
Stellen Sie mithilfe des Treibers DataStax Node.js für Apache Cassandra und des SigV4-Authentifizierungs-Plug-ins eine Connect zu Amazon Keyspaces her
Der folgende Abschnitt zeigt, wie Sie das SigV4-Authentifizierungs-Plugin für den Open-Source-Treiber DataStax Node.js für Apache Cassandra verwenden, um auf Amazon Keyspaces (für Apache Cassandra) zuzugreifen.
Falls Sie dies noch nicht getan haben, erstellen Sie Anmeldeinformationen für Ihren IAM Benutzer oder Ihre Rolle, indem Sie die Schritte unter befolgen. Erstellen und Konfigurieren AWS Anmeldeinformationen für Amazon Keyspaces
Fügen Sie Ihrer Anwendung das SigV4-Authentifizierungs-Plug-In Node.js aus dem GitHub RepositoryAWSCredentialsProvider
zum Abrufen von Anmeldeinformationen.
$ npm install aws-sigv4-auth-cassandra-plugin --save
Dieses Codebeispiel zeigt, wie eine regionsspezifische Instanz von SigV4AuthProvider
als Authentifizierungsanbieter eingerichtet wird.
const cassandra = require('cassandra-driver'); const fs = require('fs'); const sigV4 = require('aws-sigv4-auth-cassandra-plugin'); const auth = new sigV4.SigV4AuthProvider({ region: '
us-west-2
', accessKeyId:'AKIAIOSFODNN7EXAMPLE
', secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
'}); const sslOptions1 = { ca: [ fs.readFileSync('path_to_file
cassandra/sf-class2-root.crt', 'utf-8')], host: 'cassandra.us-west-2.amazonaws.com
', rejectUnauthorized: true }; const client = new cassandra.Client({ contactPoints: ['cassandra.us-west-2.amazonaws.com
'], localDataCenter: 'us-west-2
', authProvider: auth, sslOptions: sslOptions1, protocolOptions: { port: 9142 } }); const query = 'SELECT * FROM system_schema.keyspaces'; client.execute(query).then( result => console.log('Row from Keyspaces %s', result.rows[0])) .catch( e=> console.log(`${e}`));
Hinweise zur Verwendung:
"
Ersetzen Sie es durch den Pfad zu dem Zertifikat, das im ersten Schritt gespeichert wurde.path_to_file
/sf-class2-root.crt"Stellen Sie sicher, dass
accessKeyId
andsecretAccessKey
stimmen Sie mit dem Zugriffsschlüssel und dem geheimen Zugriffsschlüssel überein, den Sie erhalten habenAWSCredentialsProvider
. Weitere Informationen finden Sie unter Einrichten von Anmeldeinformationen in Node.js im AWS SDKfür JavaScript in Node.js.Informationen zum Speichern von Zugriffsschlüsseln außerhalb des Codes finden Sie unter Best PracticesSpeichern Sie Zugriffsschlüssel für Benutzer IAM.
Eine Liste der verfügbaren Endpunkte finden Sie unterService-Endpunkte für Amazon Keyspaces.