import STSClient, { AssumeRoleRequest } from '@alicloud/sts20150401'; export async function stsAssumeRole(options) { const client = new STSClient({ endpoint: options.endpoint, accessKeyId: options.accessKeyId, accessKeySecret: options.accessKeySecret, toMap: () => { return {}; } }); const assumeRoleRequest = new AssumeRoleRequest({ roleArn: options.roleArn, roleSessionName: options.roleSessionName, policy: options.policy, durationSeconds: options.durationSeconds, }); const res = await client.assumeRole(assumeRoleRequest); return { "RequestId": res.body?.requestId, "AssumedRoleUser": { "AssumedRoleId": res.body?.assumedRoleUser?.assumedRoleId, "Arn": res.body?.assumedRoleUser?.arn }, "Credentials": { "SecurityToken": res.body?.credentials?.securityToken, "Expiration": res.body?.credentials?.expiration, "AccessKeySecret": res.body?.credentials?.accessKeySecret, "AccessKeyId": res.body?.credentials?.accessKeyId }, }; }