3.563.0 • Published 21 hours ago

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

Weekly downloads
452,300
License
Apache-2.0
Repository
github
Last release
21 hours ago

@aws-sdk/credential-provider-node

NPM version NPM downloads

AWS Credential Provider for Node.JS

This module provides a factory function, fromEnv, 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-102@aws-sdk/client-groundstation@gourmet/aws-client@hausdorff/client-s3-mirror@mark-voicemail/commonreflowiosam-cdktf-nexts3-deploy-scriptsupersamsimple-aws-opensearch-clienttunnel-visionvault-auth-aws@jumba/lambda-utils@lifeomic/alpha@lonocloud/cljs-apisfrankenstack@mhlabs/evb-clifl-kappa@n8n/n8n-nodes-langchaingei-s3@nasa-gcn/architect-functions-search@rutan/deployment-zipinsomnia-plugin-es-aws4-request@runnerty/executor-mail@runnerty/notifier-mailinanis@routineless/nx-aws-cdk@hyperone/cli-ext-root-auth@hytromo/nx-s3-cache@ikonintegration/ikapi@project-lakechain/opensearch-index@project-lakechain/opensearch-saved-objecthp-shield-emailhp-event-signal-emailhp-bombombooks-emailhp-bpspay-emailhp-bpspay-email2hp-trainner-email@perp/common@seneca/opensearch-store@eventual/aws-cdk@eventual/aws-client@eventual/aws-runtime@sgftech/medusa-file-s3@scaldwell77/aws-signed-fetch@potatohd/tf-nexthlsrecord@pellegrims/nx-remotecache-s3@flowfuse/flowfuse@flowforge/flowforge@soyjak/utils@stedi/sdk-token-provider@stedi/sdk-token-provider-aws-identity@thatamplify/backend@trinio-labs/nx-remotecache-s3@trivikr-test/client-s3klassi-jsness@aws-sdk/client-robomaker@aws-sdk/client-robomaker-node@aws-sdk/client-rolesanywhere@aws-sdk/client-route-53@aws-sdk/client-route-53-domains@aws-sdk/client-route-53-domains-node@aws-sdk/client-route-53-node@aws-sdk/client-route53-recovery-cluster@aws-sdk/client-route53-recovery-control-config@aws-sdk/client-sqs@aws-sdk/client-sqs-node@aws-sdk/client-ssm@aws-sdk/client-ssm-contacts@aws-sdk/client-ssm-incidents@aws-sdk/client-ssm-node@aws-sdk/client-ssm-sap@aws-sdk/client-ssmsap@aws-sdk/client-ram-node@aws-sdk/client-rbin@aws-sdk/client-rds@aws-sdk/client-rds-data@aws-sdk/client-rds-data-node@aws-sdk/client-rds-node@aws-sdk/client-redshift@aws-sdk/client-route53-recovery-readiness@aws-sdk/client-route53profiles@aws-sdk/client-route53resolver@aws-sdk/client-route53resolver-node@aws-sdk/client-rum@aws-sdk/client-s3@aws-sdk/client-s3-control@aws-sdk/client-pi-node@aws-sdk/client-pinpoint@aws-sdk/client-pinpoint-email@aws-sdk/client-pinpoint-email-node
3.563.0

21 hours ago

3.556.0

10 days ago

3.554.0

15 days ago

3.552.0

17 days ago

3.549.0

22 days ago

3.540.0

1 month ago

3.535.0

1 month ago

3.533.0

1 month ago

3.529.1

2 months ago

3.529.0

2 months ago

3.525.0

2 months ago

3.523.0

2 months ago

3.521.0

2 months ago

3.515.0

2 months ago

3.514.0

2 months ago

3.513.0

2 months ago

3.511.0

3 months ago

3.509.0

3 months ago

3.507.0

3 months ago

3.504.0

3 months ago

3.503.0

3 months ago

3.502.0

3 months ago

3.503.1

3 months ago

3.501.0

3 months ago

3.499.0

3 months ago

3.496.0

3 months ago

3.495.0

3 months ago

3.490.0

4 months ago

3.489.0

4 months ago

3.485.0

4 months ago

3.484.0

4 months ago

3.481.0

4 months ago

3.478.0

4 months ago

3.477.0

4 months ago

3.476.0

4 months ago

3.474.0

4 months ago

3.470.0

5 months ago

3.468.0

5 months ago

3.460.0

5 months ago

3.458.0

5 months ago

3.465.0

5 months ago

3.445.0

6 months ago

3.451.0

5 months ago

3.450.0

5 months ago

3.449.0

6 months ago

3.436.0

6 months ago

3.435.0

6 months ago

3.438.0

6 months ago

3.441.0

6 months ago

3.437.0

6 months ago

3.385.0

9 months ago

3.362.0

10 months ago

3.408.0

8 months ago

3.369.0

10 months ago

3.418.0

7 months ago

3.421.0

7 months ago

3.433.0

6 months ago

3.410.0

8 months ago

3.387.0

9 months ago

3.391.0

9 months ago

3.413.0

7 months ago

3.386.0

9 months ago

3.363.0

10 months ago

3.423.0

7 months ago

3.398.0

8 months ago

3.409.0

8 months ago

3.378.0

9 months ago

3.370.0

10 months ago

3.427.0

7 months ago

3.430.0

6 months ago

3.388.0

9 months ago

3.425.0

7 months ago

3.414.0

7 months ago

3.429.0

6 months ago

3.395.0

8 months ago

3.382.0

9 months ago

3.379.1

9 months ago

3.428.0

7 months ago

3.405.0

8 months ago

3.431.0

6 months ago

3.347.0

11 months ago

3.358.0

10 months ago

3.350.0

11 months ago

3.353.0

11 months ago

3.348.0

11 months ago

3.352.0

11 months ago

3.342.0

11 months ago

3.354.0

10 months ago

3.345.0

11 months ago

3.360.0

10 months ago

3.357.0

10 months ago

3.344.0

11 months ago

3.335.0

11 months ago

3.326.0

12 months ago

3.341.0

11 months ago

3.338.0

11 months ago

3.315.0

1 year ago

3.325.0

12 months ago

3.337.0

11 months ago

3.332.0

12 months ago

3.329.0

12 months ago

3.327.0

12 months ago

3.316.0

1 year ago

3.328.0

12 months ago

3.319.0

1 year ago

3.321.1

1 year ago

3.309.0

1 year ago

3.306.0

1 year ago

3.310.0

1 year ago

3.301.0

1 year ago

3.290.0

1 year ago

3.298.0

1 year ago

3.300.0

1 year ago

3.299.0

1 year ago

3.287.0

1 year ago

3.303.0

1 year ago

3.292.0

1 year ago

3.288.0

1 year ago

3.278.0

1 year ago

3.293.0

1 year ago

3.266.0

1 year ago

3.289.0

1 year ago

3.266.1

1 year ago

3.281.0

1 year ago

3.294.0

1 year ago

3.279.0

1 year ago

3.271.0

1 year ago

3.267.0

1 year ago

3.282.0

1 year ago

3.295.0

1 year ago

3.272.0

1 year ago

3.296.0

1 year ago

3.297.0

1 year ago

3.256.0

1 year ago

3.252.0

1 year ago

3.257.0

1 year ago

3.245.0

1 year ago

3.241.0

1 year ago

3.264.0

1 year ago

3.254.0

1 year ago

3.258.0

1 year ago

3.261.0

1 year ago

3.259.0

1 year ago

3.196.0

2 years ago

3.210.0

1 year ago

3.218.0

1 year ago

3.188.0

2 years ago

3.202.0

1 year ago

3.197.0

2 years ago

3.193.0

2 years ago

3.208.0

1 year ago

3.234.0

1 year ago

3.211.0

1 year ago

3.238.0

1 year ago

3.215.0

1 year ago

3.222.0

1 year ago

3.226.0

1 year ago

3.198.0

1 year ago

3.209.0

1 year ago

3.235.0

1 year ago

3.212.0

1 year ago

3.216.0

1 year ago

3.190.0

2 years ago

3.231.0

1 year ago

3.223.0

1 year ago

3.204.0

1 year ago

3.200.0

1 year ago

3.229.0

1 year ago

3.199.0

1 year ago

3.236.0

1 year ago

3.224.0

1 year ago

3.201.0

1 year ago

3.180.0

2 years ago

3.185.0

2 years ago

3.181.0

2 years ago

3.186.0

2 years ago

3.183.0

2 years ago

3.154.0

2 years ago

3.150.0

2 years ago

3.165.0

2 years ago

3.161.0

2 years ago

3.169.0

2 years ago

3.170.0

2 years ago

3.159.0

2 years ago

3.178.0

2 years ago

3.162.0

2 years ago

3.171.0

2 years ago

3.163.0

2 years ago

3.160.0

2 years ago

3.168.0

2 years ago

3.112.0

2 years ago

3.131.0

2 years ago

3.109.0

2 years ago

3.100.0

2 years ago

3.127.0

2 years ago

3.142.0

2 years ago

3.128.0

2 years ago

3.105.0

2 years ago

3.137.0

2 years ago

3.118.0

2 years ago

3.110.0

2 years ago

3.121.0

2 years ago

3.118.1

2 years ago

3.130.0

2 years ago

3.145.0

2 years ago

3.99.0

2 years ago

3.141.0

2 years ago

3.81.0

2 years ago

3.85.0

2 years ago

3.82.0

2 years ago

3.78.0

2 years ago

3.87.0

2 years ago

3.79.0

2 years ago

3.94.0

2 years ago

3.80.0

2 years ago

3.95.0

2 years ago

3.54.1

2 years ago

3.54.0

2 years ago

3.67.0

2 years ago

3.55.0

2 years ago

3.74.0

2 years ago

3.56.0

2 years ago

3.75.0

2 years ago

3.58.0

2 years ago

3.76.0

2 years ago

3.72.0

2 years ago

3.53.0

2 years ago

3.45.0

2 years ago

3.52.0

2 years ago

3.50.0

2 years ago

3.47.0

2 years ago

3.47.1

2 years ago

3.49.0

2 years ago

3.47.2

2 years ago

3.46.0

2 years ago

3.51.0

2 years ago

3.48.0

2 years ago

3.41.0

2 years ago

3.40.0

2 years ago

3.39.0

2 years ago

3.38.0

3 years ago

3.36.0

3 years ago

3.36.1

3 years ago

3.35.0

3 years ago

3.37.0

3 years ago

3.34.0

3 years ago

3.33.0

3 years ago

3.32.0

3 years ago

3.31.0

3 years ago

3.30.0

3 years ago

3.29.0

3 years ago

3.28.0

3 years ago

3.27.0

3 years ago

3.26.0

3 years ago

3.25.0

3 years ago

3.24.0

3 years ago

3.23.0

3 years ago

3.22.0

3 years ago

3.21.0

3 years ago

3.20.0

3 years ago

3.19.0

3 years ago

3.18.0

3 years ago

3.17.0

3 years ago

3.15.0

3 years ago

3.13.1

3 years ago

3.14.0

3 years ago

3.16.0

3 years ago

3.13.0

3 years ago

3.12.0

3 years ago

3.11.0

3 years ago

3.10.0

3 years ago

3.9.0

3 years ago

3.8.0

3 years ago

3.7.0

3 years ago

3.6.1

3 years ago

3.6.0

3 years ago

3.5.1-rc.0

3 years ago

3.4.1

3 years ago

3.4.0

3 years ago

3.3.0

3 years ago

3.1.0

3 years ago

3.0.0

3 years ago

1.0.0-rc.10

3 years ago

1.0.0-rc.9

3 years ago

1.0.0-rc.8

3 years ago

1.0.0-rc.7

3 years ago

1.0.0-rc.5

3 years ago

1.0.0-rc.3

3 years ago

1.0.0-rc.2

4 years ago

1.0.0-rc.1

4 years ago

1.0.0-gamma.9

4 years ago

1.0.0-gamma.8

4 years ago

1.0.0-gamma.7

4 years ago

1.0.0-gamma.6

4 years ago

1.0.0-gamma.5

4 years ago

1.0.0-gamma.4

4 years ago

1.0.0-gamma.3

4 years ago

1.0.0-gamma.2

4 years ago

1.0.0-gamma.1

4 years ago

1.0.0-beta.4

4 years ago

1.0.0-beta.3

4 years ago

1.0.0-beta.2

4 years ago

1.0.0-beta.1

4 years ago

1.0.0-alpha.7

4 years ago

1.0.0-alpha.6

4 years ago

1.0.0-alpha.5

4 years ago

1.0.0-alpha.4

4 years ago

1.0.0-alpha.3

4 years ago

1.0.0-alpha.2

4 years ago

1.0.0-alpha.1

4 years ago

0.1.0-preview.10

4 years ago

0.1.0-preview.9

4 years ago

0.1.0-preview.8

4 years ago

0.1.0-preview.7

5 years ago

0.1.0-preview.6

5 years ago

0.1.0-preview.5

5 years ago

0.1.0-preview.4

5 years ago

0.1.0-preview.3

5 years ago

0.1.0-preview.2

5 years ago

0.1.0-preview.1

5 years ago