gpt4 book ai didi

node.js - AWS sdk 使用 sso 获取凭证

转载 作者:行者123 更新时间:2023-12-05 06:59:03 27 4
gpt4 key购买 nike

我正在尝试使用 AWS secret 管理器,当我使用常规凭证时它工作正常。但我想为此使用 SSO。当我没有 .aws/credentials 文件并且只有 .aws/config 文件时。

在 AWS 文档中我看到了这个函数:

var params = {
accessToken: 'STRING_VALUE', /* required */
accountId: 'STRING_VALUE', /* required */
roleName: 'STRING_VALUE' /* required */
};
sso.getRoleCredentials(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});

但我不明白在哪里可以获得访问 token 、帐户 ID 和角色名称。事实上,我在 .aws/config 文件中看到了一个帐户 ID 和角色名称,但我不明白如何将它们放入我的代码中(可能类似于函数 SharedIniFileCredentials) 以及如何获取访问 token ?

此外,我尝试添加此环境变量 AWS_SDK_LOAD_CONFIG=1 但我仍然收到此错误:

Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1 

最佳答案

您可以使用 credential-provider-sso 执行此操作.该文档给出了完整的解释,但提供了一个简单的示例:

const { SecretsManager } = require('@aws-sdk/client-secrets-manager');
const { fromSSO } = require('@aws-sdk/credential-provider-sso');

const secretsManager = new SecretsManager({credentials: fromSSO()});

secretsManager.listSecrets({}, (err, data) => {
console.error(err);
console.info(data);
})

这将使用在 AWS_PROFILE 环境变量中配置的配置文件,或者您可以将 {'profile': 'profilename'} 传递给 fromSSO函数。

关于node.js - AWS sdk 使用 sso 获取凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64478701/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com