📅  最后修改于: 2023-12-03 15:20:22.217000             🧑  作者: Mango
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 资源中进行身份验证和授权。