📜  sts get-session-token - Javascript (1)

📅  最后修改于: 2023-12-03 15:20:22.217000             🧑  作者: Mango

AWS SDK for JavaScript 中的 STS Get-Session-Token

AWS Security Token Service (STS) Get-Session-Token API 允许您根据服务角色凭证将异步请求签名为临时安全的 AWS 凭证。它用于在 AWS 资源中为角色分配的权限范围内进行身份验证和授权。

如何使用

使用 AWS SDK for JavaScript 来调用 STS Get-Session-Token API,需要先安装 aws-sdk 模块。您可以使用 npm 包管理器来安装此模块:

npm install aws-sdk

在您的 JavaScript 代码中,使用以下代码片段来初始化 AWS STS 对象:

// 引入 AWS SDK for JavaScript
const AWS = require('aws-sdk');

// 配置 AWS STS 对象
const sts = new AWS.STS({
  region: 'us-west-2',
  apiVersion: '2011-06-15'
});

之后,您可以使用以下代码片段来调用 STS Get-Session-Token API:

// 配置 STS 请求参数
const params = {
  DurationSeconds: 3600,
  RoleArn: 'arn:aws:iam::<account_id>:role/<role_name>',
  RoleSessionName: 'TestSession'
};

// 使用 STS 对象调用 Get-Session-Token API
sts.getSessionToken(params, (err, data) => {
  if (err) {
    console.log(`Error: ${err}`);
  } else {
    console.log(`AccessKeyId: ${data.Credentials.AccessKeyId}`);
    console.log(`SecretAccessKey: ${data.Credentials.SecretAccessKey}`);
    console.log(`SessionToken: ${data.Credentials.SessionToken}`);
  }
});

此代码片段将向 AWS STS 发送 Get-Session-Token 请求,以获取一个 Session Token。如果请求成功,它将返回一个包含 Access Key、Secret Key 和 Session Token 的 JSON 对象。

参数

getSessionToken 方法中,您可以配置以下参数:

  • DurationSeconds:要请求的临时凭证的持续时间(以秒为单位)。STS 最少为 900 秒,最多为 3600 秒(1 小时)。默认值为 3600 秒。
  • RoleArn:要在其上获取凭证的 IAM 角色的 Amazon 资源名称 (ARN)。必需参数。
  • RoleSessionName:表示用户会话的友好名称。STS 用它来创建个性化的可跟踪的角色会话。如果未提供,AWS 将使用 GUID 作为角色会话名称。
结论

AWS STS Get-Session-Token API 允许您根据服务角色凭证将异步请求签名为临时安全的 AWS 凭证。通过为您的应用程序配置适当的 STS API 请求参数,您可以轻松地使用 JavaScript 代码在 AWS 资源中进行身份验证和授权。