我无法使用 AWS Lambda 生成的 STS 凭证 (AssumeRoleUsingWebIdentity) 连接到 AWS IoT 终端节点。
它向我抛出AMQJS0008I 套接字关闭错误
我尝试使用 STS 凭证 (AssumeRoleUsingWebIdentity) 和通过 AWS CLI 生成的角色连接到同一个端点并且它有效。
但是,不确定为什么这不适用于 Lambda。
const params = {
DurationSeconds: 43000,
RoleArn: 'arn:aws:iam::123456789123:role/TestRole',
RoleSessionName: "IoT-User",
WebIdentityToken: "<token>",
Policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}"
};
const data = await sts.assumeRoleWithWebIdentity(params).promise();