3.828.0 • Published 4 months ago

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

Weekly downloads
452,300
License
Apache-2.0
Repository
github
Last release
4 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@digitalroute/aws-codeartifact@creator.co/wapi@collabland/aws@routineless/nx-aws-cdk@perp/common@runnerty/executor-mail@runnerty/notifier-mailklassi-jstunnel-vision@backstage/integration-aws-node@aws-sdk/client-kinesis-analytics-node@bcgov/nrdk@bcgov/nrdk-testing@brooklynva/data-bridge@container-stack/mail-campaign-server@container-stack/mailing-api-server@darsai/aws-toolboxunified-cli@potatohd/tf-next@hausdorff/client-s3-mirror@flowfuse/flowfuse@flowforge/flowforge@eventual/aws-cdk@eventual/aws-client@eventual/aws-runtime@langchain/aws@leapapplify/backend@lonocloud/cljs-apis@librechat/agents@lifeomic/alpha@mhlabs/evb-cli@mark-voicemail/common@nasa-gcn/architect-functions-search@eowe/cdk-utils@ikonintegration/ikapi@hytromo/nx-s3-cache@hyperone/cli-ext-root-auth@jumba/lambda-utils@rutan/deployment-zip@project-lakechain/opensearch-index@project-lakechain/opensearch-saved-object@scaldwell77/aws-signed-fetch@pellegrims/nx-remotecache-s3@seneca/opensearch-store@security-alliance/opencti-graphqlmonofoopenkbs-chatpacploynx-s3-pluginoditplaceatsam-cdks3-deploy-scriptprovider-email-aws-sesprostgles-serverreflowiopwrdrvrnesspino-sessignalk-to-batch-formatsimple-aws-opensearch-clientinanishp-trainner-emailhp-shield-emailhp-bombombooks-emailhp-event-signal-emailhlsrecordinsomnia-plugin-es-aws4-requestlingua-link-ailesgoleo-connector-elasticsearch@tshio/prompt-test@uizard/nx-fast-s3-cache@ttoss/aws-appsync-nodejs@twentyfourg/cloud-sdk@twentyfourg/vault@trivikr-test/client-s3@trinio-labs/nx-remotecache-s3@thatamplify/backend@trivikr-test/client-rbin-node@trivikr-test/client-rbin-types@vtex/conv-clients@vtex/conv-integrations@verifiet/clientamplify-graphql-seed-pluginacadyac-bootstrap-elasticsearchai-agent-enterprise
3.699.0

11 months ago

3.774.0

6 months ago

3.797.0

5 months ago

3.687.0

11 months ago

3.709.0

10 months ago

3.796.0

5 months ago

3.750.0

8 months ago

3.686.0

11 months ago

3.799.0

5 months ago

3.730.0

9 months ago

3.741.0

8 months ago

3.787.0

6 months ago

3.798.0

5 months ago

3.775.0

6 months ago

3.808.0

5 months ago

3.816.0

5 months ago

3.828.0

4 months ago

3.817.0

4 months ago

3.716.0

10 months ago

3.806.0

5 months ago

3.772.0

7 months ago

3.826.0

4 months ago

3.803.0

5 months ago

3.696.0

11 months ago

3.804.0

5 months ago

3.782.0

6 months ago

3.812.0

5 months ago

3.691.0

11 months ago

3.713.0

10 months ago

3.712.0

10 months ago

3.758.0

7 months ago

3.825.0

4 months ago

3.723.0

9 months ago

3.821.0

4 months ago

3.693.0

11 months ago

3.738.0

8 months ago

3.810.0

5 months ago

3.749.0

8 months ago

3.726.0

9 months ago

3.692.0

11 months ago

3.714.0

10 months ago

3.823.0

4 months ago

3.743.0

8 months ago

3.731.0

9 months ago

3.731.1

9 months ago

3.777.0

6 months ago

3.734.0

8 months ago

3.721.0

9 months ago

3.744.0

8 months ago

3.682.0

11 months ago

3.678.0

12 months ago

3.679.0

12 months ago

3.677.0

12 months ago

3.675.0

12 months ago

3.664.0

1 year ago

3.670.0

12 months ago

3.666.0

12 months ago

3.665.0

1 year ago

3.669.0

12 months ago

3.668.0

12 months ago

3.667.0

12 months ago

3.662.0

1 year ago

3.658.1

1 year ago

3.658.0

1 year ago

3.649.0

1 year ago

3.654.0

1 year ago

3.645.0

1 year ago

3.651.1

1 year ago

3.650.0

1 year ago

3.592.0

1 year ago

3.588.0

1 year ago

3.637.0

1 year ago

3.614.0

1 year ago

3.632.0

1 year ago

3.629.0

1 year ago

3.620.0

1 year ago

3.583.0

1 year ago

3.620.1

1 year ago

3.631.0

1 year ago

3.582.0

1 year ago

3.616.0

1 year ago

3.622.0

1 year ago

3.596.0

1 year ago

3.621.0

1 year ago

3.613.0

1 year ago

3.587.0

1 year ago

3.624.0

1 year ago

3.598.0

1 year ago

3.635.0

1 year ago

3.590.0

1 year ago

3.609.0

1 year ago

3.623.0

1 year ago

3.600.0

1 year ago

3.577.0

1 year ago

3.576.0

1 year ago

3.575.0

1 year ago

3.572.0

1 year 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

2 years ago

3.540.0

2 years ago

3.535.0

2 years ago

3.533.0

2 years ago

3.529.1

2 years ago

3.529.0

2 years ago

3.525.0

2 years ago

3.523.0

2 years ago

3.521.0

2 years ago

3.515.0

2 years ago

3.514.0

2 years ago

3.513.0

2 years ago

3.511.0

2 years ago

3.509.0

2 years ago

3.507.0

2 years ago

3.504.0

2 years ago

3.503.0

2 years ago

3.502.0

2 years ago

3.503.1

2 years ago

3.501.0

2 years ago

3.499.0

2 years ago

3.496.0

2 years ago

3.495.0

2 years ago

3.490.0

2 years ago

3.489.0

2 years ago

3.485.0

2 years ago

3.484.0

2 years ago

3.481.0

2 years ago

3.478.0

2 years ago

3.477.0

2 years ago

3.476.0

2 years ago

3.474.0

2 years ago

3.470.0

2 years ago

3.468.0

2 years ago

3.460.0

2 years ago

3.458.0

2 years ago

3.465.0

2 years ago

3.445.0

2 years ago

3.451.0

2 years ago

3.450.0

2 years ago

3.449.0

2 years 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

3 years ago

3.310.0

2 years ago

3.301.0

3 years ago

3.290.0

3 years ago

3.298.0

3 years ago

3.300.0

3 years ago

3.299.0

3 years ago

3.287.0

3 years ago

3.303.0

3 years ago

3.292.0

3 years ago

3.288.0

3 years ago

3.278.0

3 years ago

3.293.0

3 years ago

3.266.0

3 years ago

3.289.0

3 years ago

3.266.1

3 years ago

3.281.0

3 years ago

3.294.0

3 years ago

3.279.0

3 years ago

3.271.0

3 years ago

3.267.0

3 years ago

3.282.0

3 years ago

3.295.0

3 years ago

3.272.0

3 years ago

3.296.0

3 years ago

3.297.0

3 years ago

3.256.0

3 years ago

3.252.0

3 years ago

3.257.0

3 years ago

3.245.0

3 years ago

3.241.0

3 years ago

3.264.0

3 years ago

3.254.0

3 years ago

3.258.0

3 years ago

3.261.0

3 years ago

3.259.0

3 years ago

3.196.0

3 years ago

3.210.0

3 years ago

3.218.0

3 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

3 years ago

3.234.0

3 years ago

3.211.0

3 years ago

3.238.0

3 years ago

3.215.0

3 years ago

3.222.0

3 years ago

3.226.0

3 years ago

3.198.0

3 years ago

3.209.0

3 years ago

3.235.0

3 years ago

3.212.0

3 years ago

3.216.0

3 years ago

3.190.0

3 years ago

3.231.0

3 years ago

3.223.0

3 years ago

3.204.0

3 years ago

3.200.0

3 years ago

3.229.0

3 years ago

3.199.0

3 years ago

3.236.0

3 years ago

3.224.0

3 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

4 years ago

3.54.0

4 years ago

3.67.0

3 years ago

3.55.0

4 years ago

3.74.0

3 years ago

3.56.0

4 years ago

3.75.0

3 years ago

3.58.0

4 years ago

3.76.0

3 years ago

3.72.0

3 years ago

3.53.0

4 years ago

3.45.0

4 years ago

3.52.0

4 years ago

3.50.0

4 years ago

3.47.0

4 years ago

3.47.1

4 years ago

3.49.0

4 years ago

3.47.2

4 years ago

3.46.0

4 years ago

3.51.0

4 years ago

3.48.0

4 years ago

3.41.0

4 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

5 years ago

3.10.0

5 years ago

3.9.0

5 years ago

3.8.0

5 years ago

3.7.0

5 years ago

3.6.1

5 years ago

3.6.0

5 years ago

3.5.1-rc.0

5 years ago

3.4.1

5 years ago

3.4.0

5 years ago

3.3.0

5 years ago

3.1.0

5 years ago

3.0.0

5 years ago

1.0.0-rc.10

5 years ago

1.0.0-rc.9

5 years ago

1.0.0-rc.8

5 years ago

1.0.0-rc.7

5 years ago

1.0.0-rc.5

5 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

6 years ago

1.0.0-beta.1

6 years ago

1.0.0-alpha.7

6 years ago

1.0.0-alpha.6

6 years ago

1.0.0-alpha.5

6 years ago

1.0.0-alpha.4

6 years ago

1.0.0-alpha.3

6 years ago

1.0.0-alpha.2

6 years ago

1.0.0-alpha.1

6 years ago

0.1.0-preview.10

6 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

7 years ago

0.1.0-preview.2

7 years ago

0.1.0-preview.1

7 years ago