You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

@aws-sdk/credential-provider-imds

Package Overview
Dependencies
Maintainers
4
Versions
140
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-sdk/credential-provider-imds

AWS credential provider that sources credentials from the EC2 instance metadata service and ECS container metadata service


Version published
Weekly downloads
3.6M
decreased by-2.74%
Maintainers
4
Created
Weekly downloads
 

Package description

What is @aws-sdk/credential-provider-imds?

@aws-sdk/credential-provider-imds is a part of the AWS SDK for JavaScript. It provides a way to retrieve AWS credentials from the Instance Metadata Service (IMDS) on Amazon EC2 instances. This is particularly useful for applications running on EC2 instances that need to interact with other AWS services securely.

What are @aws-sdk/credential-provider-imds's main functionalities?

Retrieve Credentials from IMDS

This feature allows you to retrieve AWS credentials from the Instance Metadata Service (IMDS) on an EC2 instance. The code sample demonstrates how to use these credentials to make a call to the AWS STS service to get the caller identity.

const { fromInstanceMetadata } = require('@aws-sdk/credential-provider-imds');
const { STSClient, GetCallerIdentityCommand } = require('@aws-sdk/client-sts');

(async () => {
  const client = new STSClient({
    credentials: fromInstanceMetadata(),
  });
  const command = new GetCallerIdentityCommand({});
  const response = await client.send(command);
  console.log(response);
})();

Handle IMDS Timeout

This feature allows you to specify a timeout for the IMDS request. The code sample demonstrates how to set a 1-second timeout for retrieving credentials from IMDS and handle any potential errors.

const { fromInstanceMetadata } = require('@aws-sdk/credential-provider-imds');
const { STSClient, GetCallerIdentityCommand } = require('@aws-sdk/client-sts');

(async () => {
  const client = new STSClient({
    credentials: fromInstanceMetadata({ timeout: 1000 }), // 1 second timeout
  });
  const command = new GetCallerIdentityCommand({});
  try {
    const response = await client.send(command);
    console.log(response);
  } catch (error) {
    console.error('Error retrieving credentials:', error);
  }
})();

Other packages similar to @aws-sdk/credential-provider-imds

Readme

Source

AWS Credential Provider for Node.JS - Instance and Container Metadata

NPM version NPM downloads

This module provides two CredentialProvider factory functions, fromContainerMetadata and fromInstanceMetadata, that will create CredentialProvider functions that read from the ECS container metadata service and the EC2 instance metadata service, respectively.

A CredentialProvider function created with fromContainerMetadata will return a promise that will resolve with credentials for the IAM role associated with containers in an Amazon ECS task. Please see IAM Roles for Tasks for more information on using IAM roles with Amazon ECS.

A CredentialProvider function created with fromInstanceMetadata will return a promise that will resolve with credentials for the IAM role associated with an EC2 instance. Please see IAM Roles for Amazon EC2 for more information on using IAM roles with Amazon EC2.

Supported configuration

You may customize how credentials are resolved by providing an options hash to the fromContainerMetadata and fromInstanceMetadata factory functions. The following options are supported:

  • 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.

Additionally, fromInstanceMetadata supports the following options:

  • profile - The configuration profile to use. If not specified, the provider will use default profile name associated with the EC2 instance as reported by the Instance Metadata Service.

Keywords

FAQs

Package last updated on 25 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc