3.67.0 • Published 3 years ago

@trivikr-test/credential-provider-node-esm v3.67.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years 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 for your code to run using EKS roles at some point (for example in a production environment, but not when working locally) 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,
});

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

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, the SDK will create an STS client and call its assumeRole method.
  • 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:

@infinitebrahmanuniverse/nolb-_trivikr-test_c@everything-registry/sub-chunk-934@trivikr-test/client-sms-esm@trivikr-test/client-snow-device-management-esm@trivikr-test/client-health-esm@trivikr-test/client-iot-1click-devices-service-esm@trivikr-test/client-iot-1click-projects-esm@trivikr-test/client-lookoutequipment-esm@trivikr-test/client-lookoutmetrics-esm@trivikr-test/client-apigatewaymanagementapi-esm@trivikr-test/client-apigatewayv2-esm@trivikr-test/client-app-mesh-esm@trivikr-test/client-appconfig-esm@trivikr-test/client-appconfigdata-esm@trivikr-test/client-appflow-esm@trivikr-test/client-appintegrations-esm@trivikr-test/client-application-auto-scaling-esm@trivikr-test/client-appstream-esm@trivikr-test/client-appsync-esm@trivikr-test/client-auditmanager-esm@trivikr-test/client-auto-scaling-plans-esm@trivikr-test/client-backup-esm@trivikr-test/client-backup-gateway-esm@trivikr-test/client-batch-esm@trivikr-test/client-chime-sdk-meetings-esm@trivikr-test/client-chime-sdk-messaging-esm@trivikr-test/client-cloud9-esm@trivikr-test/client-cloudcontrol-esm@trivikr-test/client-clouddirectory-esm@trivikr-test/client-cloudformation-esm@trivikr-test/client-cloudfront-esm@trivikr-test/client-cloudhsm-esm@trivikr-test/client-accessanalyzer-esm@trivikr-test/client-amplifybackend-esm@trivikr-test/client-amplifyuibuilder-esm@trivikr-test/client-api-gateway-esm@trivikr-test/client-application-discovery-service-esm@trivikr-test/client-application-insights-esm@trivikr-test/client-applicationcostprofiler-esm@trivikr-test/client-apprunner-esm@trivikr-test/client-athena-esm@trivikr-test/client-auto-scaling-esm@trivikr-test/client-billingconductor-esm@trivikr-test/client-braket-esm@trivikr-test/client-budgets-esm@trivikr-test/client-chime-esm@trivikr-test/client-chime-sdk-identity-esm@trivikr-test/client-account-esm@trivikr-test/client-acm-esm@trivikr-test/client-acm-pca-esm@trivikr-test/client-alexa-for-business-esm@trivikr-test/client-amp-esm@trivikr-test/client-amplify-esm@trivikr-test/client-codestar-connections-esm@trivikr-test/client-codestar-esm@trivikr-test/client-codestar-notifications-esm@trivikr-test/client-cognito-identity-esm@trivikr-test/client-cognito-sync-esm@trivikr-test/client-comprehend-esm@trivikr-test/client-comprehendmedical-esm@trivikr-test/client-compute-optimizer-esm@trivikr-test/client-config-service-esm@trivikr-test/client-dax-esm@trivikr-test/client-detective-esm@trivikr-test/client-device-farm-esm@trivikr-test/client-devops-guru-esm@trivikr-test/client-direct-connect-esm@trivikr-test/client-directory-service-esm@trivikr-test/client-dlm-esm@trivikr-test/client-docdb-esm@trivikr-test/client-drs-esm@trivikr-test/client-dynamodb-esm@trivikr-test/client-dynamodb-streams-esm@trivikr-test/client-ebs-esm@trivikr-test/client-cloudhsm-v2-esm@trivikr-test/client-cloudsearch-domain-esm@trivikr-test/client-cloudsearch-esm@trivikr-test/client-cloudtrail-esm@trivikr-test/client-cloudwatch-esm@trivikr-test/client-cloudwatch-events-esm@trivikr-test/client-cloudwatch-logs-esm@trivikr-test/client-cost-and-usage-report-service-esm@trivikr-test/client-cost-explorer-esm@trivikr-test/client-codeartifact-esm@trivikr-test/client-codebuild-esm@trivikr-test/client-codecommit-esm@trivikr-test/client-codedeploy-esm@trivikr-test/client-codeguru-reviewer-esm@trivikr-test/client-codeguruprofiler-esm@trivikr-test/client-codepipeline-esm@trivikr-test/client-customer-profiles-esm@trivikr-test/client-data-pipeline-esm@trivikr-test/client-database-migration-service-esm@trivikr-test/client-databrew-esm@trivikr-test/client-dataexchange-esm@trivikr-test/client-datasync-esm@trivikr-test/client-connect-contact-lens-esm@trivikr-test/client-connect-esm@trivikr-test/client-connectparticipant-esm@trivikr-test/client-ec2-esm
3.67.0

3 years ago