3.682.0 • Published 6 months ago

@aws-sdk/credential-provider-node v3.682.0

Weekly downloads
452,300
License
Apache-2.0
Repository
github
Last release
6 months ago

@aws-sdk/credential-provider-node

NPM version NPM downloads

AWS Credential Provider for Node.JS

This module provides a factory function, defaultProvider, that will attempt to source AWS credentials from a Node.JS environment. It will attempt to find credentials from the following sources (listed in order of precedence):

  • Environment variables exposed via process.env
  • SSO credentials from token cache
  • Web identity token credentials
  • Shared credentials and config ini files
  • The EC2/ECS Instance Metadata Service

The default credential provider will invoke one provider at a time and only continue to the next if no credentials have been located. For example, if the process finds values defined via the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, the files at ~/.aws/credentials and ~/.aws/config will not be read, nor will any messages be sent to the Instance Metadata Service.

If invalid configuration is encountered (such as a profile in ~/.aws/credentials specifying as its source_profile the name of a profile that does not exist), then the chained provider will be rejected with an error and will not invoke the next provider in the list.

IMPORTANT: if you intend to acquire credentials using EKS IAM Roles for Service Accounts, then you must explicitly specify a value for roleAssumerWithWebIdentity. There is a default function available in @aws-sdk/client-sts package. An example of using this:

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({
    // You must explicitly pass a region if you are not using us-east-1
    region: "eu-west-1"
  }),
});

const client = new S3Client({ credentialDefaultProvider: provider });

IMPORTANT: We provide a wrapper of this provider in @aws-sdk/credential-providers package to save you from importing getDefaultRoleAssumerWithWebIdentity() or getDefaultRoleAssume() from STS package. Similarly, you can do:

const { fromNodeProviderChain } = require("@aws-sdk/credential-providers");

const credentials = fromNodeProviderChain();

const client = new S3Client({ credentials });

Supported configuration

You may customize how credentials are resolved by providing an options hash to the defaultProvider factory function. The following options are supported:

  • profile - The configuration profile to use. If not specified, the provider will use the value in the AWS_PROFILE environment variable or a default of default.
  • filepath - The path to the shared credentials file. If not specified, the provider will use the value in the AWS_SHARED_CREDENTIALS_FILE environment variable or a default of ~/.aws/credentials.
  • configFilepath - The path to the shared config file. If not specified, the provider will use the value in the AWS_CONFIG_FILE environment variable or a default of ~/.aws/config.
  • mfaCodeProvider - A function that returns a a promise fulfilled with an MFA token code for the provided MFA Serial code. If a profile requires an MFA code and mfaCodeProvider is not a valid function, the credential provider promise will be rejected.
  • roleAssumer - A function that assumes a role and returns a promise fulfilled with credentials for the assumed role. If not specified, no role will be assumed, and an error will be thrown.
  • roleArn - ARN to assume. If not specified, the provider will use the value in the AWS_ROLE_ARN environment variable.
  • webIdentityTokenFile - File location of where the OIDC token is stored. If not specified, the provider will use the value in the AWS_WEB_IDENTITY_TOKEN_FILE environment variable.
  • roleAssumerWithWebIdentity - A function that assumes a role with web identity and returns a promise fulfilled with credentials for the assumed role.
  • timeout - The connection timeout (in milliseconds) to apply to any remote requests. If not specified, a default value of 1000 (one second) is used.
  • maxRetries - The maximum number of times any HTTP connections should be retried. If not specified, a default value of 0 will be used.

Related packages:

@rconjoe/nx-s3-cache@sophya/envy@aws/aws-codesuite-backend-plugin-for-backstage@infinitebrahmanuniverse/nolb-_aws-sd@prodam/search-utils@candidpartners/snitch-utils@everything-registry/sub-chunk-102hp-bpspay-emailhp-bpspay-email2nineid-coresupersamtf-nextvault-auth-aws@aws-sdk/client-inspector2@digitalroute/aws-codeartifact@creator.co/wapi@collabland/aws@routineless/nx-aws-cdk@perp/common@runnerty/executor-mail@runnerty/notifier-mailklassi-js@aws-crypto/integration-browsertunnel-vision@atombrenner/cfn-stack@aux4/llm@alexa/acdl@alexandre-bordiere/axios-aws-v4@alithya-oss/plugin-aws-apps-backend@allanoricil/flowforge@aws-amplify/data-construct@aws-amplify/graphql-api-construct@backstage/integration-aws-node@aws-sdk/client-athena@aws-sdk/client-athena-node@aws-sdk/client-auditmanager@aws-sdk/client-auto-scaling@aws-sdk/client-auto-scaling-node@aws-sdk/client-auto-scaling-plans@aws-sdk/client-accessanalyzer@aws-sdk/client-account@aws-sdk/client-acm@aws-sdk/client-acm-node@aws-sdk/client-acm-pca@aws-sdk/client-acm-pca-node@aws-sdk/client-alexa-for-business@aws-sdk/client-alexa-for-business-node@aws-sdk/client-amp@aws-sdk/client-amplify@aws-sdk/client-amplify-node@aws-sdk/client-amplifybackend@aws-sdk/client-amplifyuibuilder@aws-sdk/client-auto-scaling-plans-node@aws-sdk/client-b2bi@aws-sdk/client-backup@aws-sdk/client-backup-gateway@aws-sdk/client-backup-node@aws-sdk/client-backupstorage@aws-sdk/client-batch@aws-sdk/client-batch-node@aws-sdk/client-bcm-data-exports@aws-sdk/client-bedrock@aws-sdk/client-appconfig@aws-sdk/client-appconfigdata@aws-sdk/client-appfabric@aws-sdk/client-appflow@aws-sdk/client-appintegrations@aws-sdk/client-appstream@aws-sdk/client-appstream-node@aws-sdk/client-appsync@aws-sdk/client-appsync-node@aws-sdk/client-apptest@aws-sdk/client-arc-zonal-shift@aws-sdk/client-artifact@aws-sdk/client-apprunner@aws-sdk/client-kafkaconnect@aws-sdk/client-kendra@aws-sdk/client-kendra-ranking@aws-sdk/client-keyspaces@aws-sdk/client-kinesis@aws-sdk/client-kinesis-analytics@aws-sdk/client-kinesis-analytics-node@aws-sdk/client-iotfleethub@aws-sdk/client-iotfleetwise@aws-sdk/client-iotsecuretunneling@aws-sdk/client-iotsitewise@aws-sdk/client-iotthingsgraph@aws-sdk/client-iotthingsgraph-node@aws-sdk/client-iot-1click-projects@aws-sdk/client-iot-1click-projects-node@aws-sdk/client-iot-data-plane@aws-sdk/client-iot-data-plane-node@aws-sdk/client-iot-events@aws-sdk/client-iot-events-data@aws-sdk/client-iot-events-data-node@aws-sdk/client-iot-events-node@aws-sdk/client-iot-jobs-data-plane@aws-sdk/client-iot-jobs-data-plane-node@aws-sdk/client-iot-node@aws-sdk/client-iot-roborunner
3.682.0

6 months ago

3.678.0

7 months ago

3.679.0

6 months ago

3.677.0

7 months ago

3.675.0

7 months ago

3.664.0

7 months ago

3.670.0

7 months ago

3.666.0

7 months ago

3.665.0

7 months ago

3.669.0

7 months ago

3.668.0

7 months ago

3.667.0

7 months ago

3.662.0

7 months ago

3.658.1

7 months ago

3.658.0

7 months ago

3.649.0

8 months ago

3.654.0

8 months ago

3.645.0

8 months ago

3.651.1

8 months ago

3.650.0

8 months ago

3.592.0

11 months ago

3.588.0

11 months ago

3.637.0

9 months ago

3.614.0

10 months ago

3.632.0

9 months ago

3.629.0

9 months ago

3.620.0

10 months ago

3.583.0

12 months ago

3.620.1

9 months ago

3.631.0

9 months ago

3.582.0

12 months ago

3.616.0

10 months ago

3.622.0

9 months ago

3.596.0

11 months ago

3.621.0

9 months ago

3.613.0

10 months ago

3.587.0

11 months ago

3.624.0

9 months ago

3.598.0

11 months ago

3.635.0

9 months ago

3.590.0

11 months ago

3.609.0

10 months ago

3.623.0

9 months ago

3.600.0

11 months ago

3.577.0

12 months ago

3.576.0

12 months ago

3.575.0

12 months ago

3.572.0

12 months ago

3.568.0

1 year ago

3.567.0

1 year ago

3.569.0

1 year ago

3.565.0

1 year ago

3.564.0

1 year ago

3.563.0

1 year ago

3.556.0

1 year ago

3.554.0

1 year ago

3.552.0

1 year ago

3.549.0

1 year ago

3.540.0

1 year ago

3.535.0

1 year ago

3.533.0

1 year ago

3.529.1

1 year ago

3.529.0

1 year ago

3.525.0

1 year ago

3.523.0

1 year ago

3.521.0

1 year ago

3.515.0

1 year ago

3.514.0

1 year ago

3.513.0

1 year ago

3.511.0

1 year ago

3.509.0

1 year ago

3.507.0

1 year ago

3.504.0

1 year ago

3.503.0

1 year ago

3.502.0

1 year ago

3.503.1

1 year ago

3.501.0

1 year ago

3.499.0

1 year ago

3.496.0

1 year ago

3.495.0

1 year ago

3.490.0

1 year ago

3.489.0

1 year ago

3.485.0

1 year ago

3.484.0

1 year ago

3.481.0

1 year ago

3.478.0

1 year ago

3.477.0

1 year ago

3.476.0

1 year ago

3.474.0

1 year ago

3.470.0

1 year ago

3.468.0

1 year ago

3.460.0

1 year ago

3.458.0

1 year ago

3.465.0

1 year ago

3.445.0

1 year ago

3.451.0

1 year ago

3.450.0

1 year ago

3.449.0

1 year ago

3.436.0

2 years ago

3.435.0

2 years ago

3.438.0

2 years ago

3.441.0

2 years ago

3.437.0

2 years ago

3.385.0

2 years ago

3.362.0

2 years ago

3.408.0

2 years ago

3.369.0

2 years ago

3.418.0

2 years ago

3.421.0

2 years ago

3.433.0

2 years ago

3.410.0

2 years ago

3.387.0

2 years ago

3.391.0

2 years ago

3.413.0

2 years ago

3.386.0

2 years ago

3.363.0

2 years ago

3.423.0

2 years ago

3.398.0

2 years ago

3.409.0

2 years ago

3.378.0

2 years ago

3.370.0

2 years ago

3.427.0

2 years ago

3.430.0

2 years ago

3.388.0

2 years ago

3.425.0

2 years ago

3.414.0

2 years ago

3.429.0

2 years ago

3.395.0

2 years ago

3.382.0

2 years ago

3.379.1

2 years ago

3.428.0

2 years ago

3.405.0

2 years ago

3.431.0

2 years ago

3.347.0

2 years ago

3.358.0

2 years ago

3.350.0

2 years ago

3.353.0

2 years ago

3.348.0

2 years ago

3.352.0

2 years ago

3.342.0

2 years ago

3.354.0

2 years ago

3.345.0

2 years ago

3.360.0

2 years ago

3.357.0

2 years ago

3.344.0

2 years ago

3.335.0

2 years ago

3.326.0

2 years ago

3.341.0

2 years ago

3.338.0

2 years ago

3.315.0

2 years ago

3.325.0

2 years ago

3.337.0

2 years ago

3.332.0

2 years ago

3.329.0

2 years ago

3.327.0

2 years ago

3.316.0

2 years ago

3.328.0

2 years ago

3.319.0

2 years ago

3.321.1

2 years ago

3.309.0

2 years ago

3.306.0

2 years ago

3.310.0

2 years ago

3.301.0

2 years ago

3.290.0

2 years ago

3.298.0

2 years ago

3.300.0

2 years ago

3.299.0

2 years ago

3.287.0

2 years ago

3.303.0

2 years ago

3.292.0

2 years ago

3.288.0

2 years ago

3.278.0

2 years ago

3.293.0

2 years ago

3.266.0

2 years ago

3.289.0

2 years ago

3.266.1

2 years ago

3.281.0

2 years ago

3.294.0

2 years ago

3.279.0

2 years ago

3.271.0

2 years ago

3.267.0

2 years ago

3.282.0

2 years ago

3.295.0

2 years ago

3.272.0

2 years ago

3.296.0

2 years ago

3.297.0

2 years ago

3.256.0

2 years ago

3.252.0

2 years ago

3.257.0

2 years ago

3.245.0

2 years ago

3.241.0

2 years ago

3.264.0

2 years ago

3.254.0

2 years ago

3.258.0

2 years ago

3.261.0

2 years ago

3.259.0

2 years ago

3.196.0

3 years ago

3.210.0

2 years ago

3.218.0

2 years ago

3.188.0

3 years ago

3.202.0

3 years ago

3.197.0

3 years ago

3.193.0

3 years ago

3.208.0

2 years ago

3.234.0

2 years ago

3.211.0

2 years ago

3.238.0

2 years ago

3.215.0

2 years ago

3.222.0

2 years ago

3.226.0

2 years ago

3.198.0

3 years ago

3.209.0

2 years ago

3.235.0

2 years ago

3.212.0

2 years ago

3.216.0

2 years ago

3.190.0

3 years ago

3.231.0

2 years ago

3.223.0

2 years ago

3.204.0

3 years ago

3.200.0

3 years ago

3.229.0

2 years ago

3.199.0

3 years ago

3.236.0

2 years ago

3.224.0

2 years ago

3.201.0

3 years ago

3.180.0

3 years ago

3.185.0

3 years ago

3.181.0

3 years ago

3.186.0

3 years ago

3.183.0

3 years ago

3.154.0

3 years ago

3.150.0

3 years ago

3.165.0

3 years ago

3.161.0

3 years ago

3.169.0

3 years ago

3.170.0

3 years ago

3.159.0

3 years ago

3.178.0

3 years ago

3.162.0

3 years ago

3.171.0

3 years ago

3.163.0

3 years ago

3.160.0

3 years ago

3.168.0

3 years ago

3.112.0

3 years ago

3.131.0

3 years ago

3.109.0

3 years ago

3.100.0

3 years ago

3.127.0

3 years ago

3.142.0

3 years ago

3.128.0

3 years ago

3.105.0

3 years ago

3.137.0

3 years ago

3.118.0

3 years ago

3.110.0

3 years ago

3.121.0

3 years ago

3.118.1

3 years ago

3.130.0

3 years ago

3.145.0

3 years ago

3.99.0

3 years ago

3.141.0

3 years ago

3.81.0

3 years ago

3.85.0

3 years ago

3.82.0

3 years ago

3.78.0

3 years ago

3.87.0

3 years ago

3.79.0

3 years ago

3.94.0

3 years ago

3.80.0

3 years ago

3.95.0

3 years ago

3.54.1

3 years ago

3.54.0

3 years ago

3.67.0

3 years ago

3.55.0

3 years ago

3.74.0

3 years ago

3.56.0

3 years ago

3.75.0

3 years ago

3.58.0

3 years ago

3.76.0

3 years ago

3.72.0

3 years ago

3.53.0

3 years ago

3.45.0

3 years ago

3.52.0

3 years ago

3.50.0

3 years ago

3.47.0

3 years ago

3.47.1

3 years ago

3.49.0

3 years ago

3.47.2

3 years ago

3.46.0

3 years ago

3.51.0

3 years ago

3.48.0

3 years ago

3.41.0

3 years ago

3.40.0

4 years ago

3.39.0

4 years ago

3.38.0

4 years ago

3.36.0

4 years ago

3.36.1

4 years ago

3.35.0

4 years ago

3.37.0

4 years ago

3.34.0

4 years ago

3.33.0

4 years ago

3.32.0

4 years ago

3.31.0

4 years ago

3.30.0

4 years ago

3.29.0

4 years ago

3.28.0

4 years ago

3.27.0

4 years ago

3.26.0

4 years ago

3.25.0

4 years ago

3.24.0

4 years ago

3.23.0

4 years ago

3.22.0

4 years ago

3.21.0

4 years ago

3.20.0

4 years ago

3.19.0

4 years ago

3.18.0

4 years ago

3.17.0

4 years ago

3.15.0

4 years ago

3.13.1

4 years ago

3.14.0

4 years ago

3.16.0

4 years ago

3.13.0

4 years ago

3.12.0

4 years ago

3.11.0

4 years ago

3.10.0

4 years ago

3.9.0

4 years ago

3.8.0

4 years ago

3.7.0

4 years ago

3.6.1

4 years ago

3.6.0

4 years ago

3.5.1-rc.0

4 years ago

3.4.1

4 years ago

3.4.0

4 years ago

3.3.0

4 years ago

3.1.0

4 years ago

3.0.0

4 years ago

1.0.0-rc.10

4 years ago

1.0.0-rc.9

4 years ago

1.0.0-rc.8

4 years ago

1.0.0-rc.7

4 years ago

1.0.0-rc.5

4 years ago

1.0.0-rc.3

5 years ago

1.0.0-rc.2

5 years ago

1.0.0-rc.1

5 years ago

1.0.0-gamma.9

5 years ago

1.0.0-gamma.8

5 years ago

1.0.0-gamma.7

5 years ago

1.0.0-gamma.6

5 years ago

1.0.0-gamma.5

5 years ago

1.0.0-gamma.4

5 years ago

1.0.0-gamma.3

5 years ago

1.0.0-gamma.2

5 years ago

1.0.0-gamma.1

5 years ago

1.0.0-beta.4

5 years ago

1.0.0-beta.3

5 years ago

1.0.0-beta.2

5 years ago

1.0.0-beta.1

5 years ago

1.0.0-alpha.7

5 years ago

1.0.0-alpha.6

5 years ago

1.0.0-alpha.5

5 years ago

1.0.0-alpha.4

5 years ago

1.0.0-alpha.3

5 years ago

1.0.0-alpha.2

5 years ago

1.0.0-alpha.1

5 years ago

0.1.0-preview.10

5 years ago

0.1.0-preview.9

6 years ago

0.1.0-preview.8

6 years ago

0.1.0-preview.7

6 years ago

0.1.0-preview.6

6 years ago

0.1.0-preview.5

6 years ago

0.1.0-preview.4

6 years ago

0.1.0-preview.3

6 years ago

0.1.0-preview.2

6 years ago

0.1.0-preview.1

6 years ago