Estoy migrando de V2 a V3 del SDK de javascript para AWS, usando NodeJS. Nuestra aplicación necesita verificar las credenciales en un par de lugares. Anteriormente, usábamos la Cadena de proveedores de credenciales , pero no puedo encontrar el equivalente en V3. Necesito buscar en el archivo INI compartido ( SharedIniFileCredential ) cuando mi secuencia de comandos se ejecuta localmente, pero la secuencia de comandos también se ejecuta en kubernetes, así que (creo) también necesito roleAssumerWithWebIdentity . ¿Cómo uso una cadena de credenciales en V3?
El módulo @aws-sdk/credential-provider-node proporciona un proveedor de credenciales predeterminado similar al que está buscando:
Intentará encontrar credenciales de las siguientes fuentes (enumeradas en orden de precedencia):
- Variables de entorno expuestas a través de process.env
- Credenciales de SSO de caché de tokens
- Credenciales de token de identidad web
- Credenciales compartidas y archivos ini de configuración
- El servicio de metadatos de la instancia EC2/ECS
Aquí hay un ejemplo de su página:
const { getDefaultRoleAssumerWithWebIdentity } = require("@aws-sdk/client-sts"); const { defaultProvider } = require("@aws-sdk/credential-provider-node"); const { S3Client, GetObjectCommand } = require("@aws-sdk/client-s3"); const provider = defaultProvider({ roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity, }); const client = new S3Client({ credentialDefaultProvider: provider });