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.
Connecteur SQL Aurora pour node-postgres
Le connecteur Aurora DSQL pour node-postgres
Le connecteur Aurora DSQL est conçu comme un plug-in d'authentification qui étend les fonctionnalités du client et du pool de nœuds postgres afin de permettre aux applications de s'authentifier auprès d'Amazon Aurora DSQL à l'aide des informations d'identification IAM.
À propos du connecteur
Amazon Aurora DSQL est une base de données distribuée native dans le cloud compatible avec PostgreSQL. Bien qu'il nécessite une authentification IAM et des jetons limités dans le temps, les pilotes de base de données Node.js traditionnels ne disposent pas de cette prise en charge intégrée.
Le connecteur SQL Aurora pour node-postgres comble cette lacune en implémentant un intergiciel d'authentification qui fonctionne parfaitement avec node-postgres. Cette approche permet aux développeurs de conserver leur code node-postgres existant tout en obtenant un accès sécurisé basé sur l'IAM aux clusters Aurora DSQL grâce à la gestion automatisée des jetons.
Qu’est-ce que l’authentification Aurora DSQL ?
Dans Aurora DSQL, l’authentification implique :
-
Authentification IAM : toutes les connexions utilisent l’authentification basée sur IAM avec des jetons à durée limitée
-
Génération de jetons : les jetons d'authentification sont générés à l'aide des informations d'identification AWS et ont une durée de vie configurable
Le connecteur Aurora DSQL pour node-postgres est conçu pour comprendre ces exigences et générer automatiquement des jetons d'authentification IAM lors de l'établissement de connexions.
Caractéristiques
-
Authentification IAM automatique : gère la génération et l'actualisation des jetons DSQL
-
Construit sur node-postgres : exploite le célèbre client PostgreSQL pour Node.js
-
Intégration fluide - Fonctionne avec les modèles de connexion node-postgres existants
-
Découverte automatique des régions : extrait la région AWS du nom d'hôte du cluster DSQL
-
TypeScript Support complet - Assure une sécurité totale du type
-
Support des informations d'identification AWS : prend en charge différents fournisseurs d'informations d'identification AWS (par défaut, basé sur le profil, personnalisé)
-
Compatibilité avec le regroupement de connexions : fonctionne parfaitement grâce au regroupement de connexions intégré
Exemple d'application
Un exemple d'application est inclus, par exemple
Guide de démarrage rapide
Exigences
-
Node.js 20+
-
Configuration des autorisations IAM appropriées pour permettre à votre application de se connecter à Aurora DSQL.
-
Informations d'identification AWS configurées (via l'interface de ligne de commande AWS, les variables d'environnement ou les rôles IAM)
Installation
npm install @aws/aurora-dsql-node-postgres-connector
Dépendances entre pairs
npm install @aws-sdk/credential-providers @aws-sdk/dsql-signer pg tsx npm install --save-dev @types/pg
Usage
Connexion client
import { AuroraDSQLClient } from "@aws/aurora-dsql-node-postgres-connector"; const client = new AuroraDSQLClient({ host: "<CLUSTER_ENDPOINT>", user: "admin", }); await client.connect(); const result = await client.query("SELECT NOW()"); await client.end();
Connexion à la piscine
import { AuroraDSQLPool } from "@aws/aurora-dsql-node-postgres-connector"; const pool = new AuroraDSQLPool({ host: "<CLUSTER_ENDPOINT>", user: "admin", max: 3, idleTimeoutMillis: 60000, }); const result = await pool.query("SELECT NOW()");
Utilisation avancée
import { fromNodeProviderChain } from "@aws-sdk/credential-providers"; import { AuroraDSQLClient } from "@aws/aurora-dsql-node-postgres-connector"; const client = new AuroraDSQLClient({ host: "example.dsql.us-east-1.on.aws", user: "admin", customCredentialsProvider: fromNodeProviderChain(), // Optionally provide custom credentials provider }); await client.connect(); const result = await client.query("SELECT NOW()"); await client.end();
Options de configuration
| Option | Type | Obligatoire | Description |
|---|---|---|---|
host
|
string
|
Oui | Nom d'hôte du cluster SQL |
username
|
string
|
Oui | Nom d'utilisateur DSQL |
database
|
string
|
Non | Nom de la base de données |
region
|
string
|
Non | Région AWS (détectée automatiquement à partir du nom d'hôte s'il n'est pas fourni) |
port
|
number
|
Non | Par défaut : 5432 |
customCredentialsProvider
|
AwsCredentialIdentity / AwsCredentialIdentityProvider
|
Non | Fournisseur d'informations d'identification AWS personnalisées |
profile
|
string
|
Non | Le nom du profil IAM. Par défaut, c'est « par défaut » |
tokenDurationSecs
|
number
|
Non | Délai d'expiration du jeton en secondes |
Tous les autres paramètres du Client/Pool
Authentification
Le connecteur gère automatiquement l'authentification DSQL en générant des jetons à l'aide du générateur de jetons du client DSQL. Si la région AWS n'est pas fournie, elle sera automatiquement analysée à partir du nom d'hôte fourni.
Pour plus d'informations sur l'authentification dans Aurora DSQL, consultez le guide de l'utilisateur.
Administrateur et utilisateurs réguliers
-
Les utilisateurs nommés « admin » utilisent automatiquement des jetons d'authentification d'administrateur
-
Tous les autres utilisateurs utilisent des jetons d'authentification ordinaires
-
Les jetons sont générés dynamiquement pour chaque connexion