我们设法承担了一个角色,但它不会自动刷新访问权限,因此,过了一段时间,我们就得到了一个超时错误。
我们没有找到关于如何刷新凭据的适当文档,所以我想知道是否有人可以提供一个代码示例,说明如何正确地设置它。
我们已经尝试过在credentialDefaultProvider({ assumeRole })构造函数选项中使用DynamoDBClient,但它甚至没有调用它。
发布于 2022-07-07 11:51:18
AWS安全令牌服务是您担任角色并使用其凭据的朋友。
// this example uses Typescript
import { AssumeRoleCommand, Credentials, STSClient } from '@aws-sdk/client-sts'
// get / refresh Credentials
const stsClient = new STSClient({ region: <YOUR_REGION> })
const data = await stsClient.send(
new AssumeRoleCommand({
RoleArn: <ROLE_ARN>,
RoleSessionName: <SOME_SESSION_NAME>,
DurationSeconds: <DURATION_IN_SECONDS>
}),
)
// now use the Credentials
// data.Credentials还可以在请求之前检查凭据是否仍然有效:
if(new Date() > new Date(data.Expiration)){
// refresh Credentials
}有用的链接:
https://stackoverflow.com/questions/72894236
复制相似问题