开发者社区> 问答> 正文

阿里云OpenAPI 使用credentials这个sdk获取权限的问题?

阿里云OpenAPI 使用credentials这个sdk获取权限的问题?
使用credentials这个sdk的时候,我们需要利用在账号A的ecs的ram role去assume在另一个账号B的ram role来访问账号B的服务,这里整个过程是什么样的?我们代码是nodejs,是需要先用ecs_ram_role这个type获取到临时的accesskeyid跟key secret,然后再用ram_role_arn这个type去获取权限吗?

展开
收起
你鞋带开了~ 2024-02-06 21:54:10 103 0
1 条回答
写回答
取消 提交回答
  • 先用ecs_ram_role这个type获取到临时的accesskeyid跟key secret和security token,然后再用ram_role_arn这个type去获取权限,下面是示例的sample code

    async function main() {
    // 使用RamRoleArn初始化Credentials Client。
    const credentialsConfig = new Config({
    // 凭证类型。
    type: 'ecs_ram_role',
    // 选填,该ECS角色的角色名称,不填会自动获取,但是建议加上以减少请求次数
    roleName: 'roleName',
    })
    let credentialClient = new Credential(credentialsConfig);
    const config = new credentials_1.Config({
    // 凭证类型。
    type: 'ram_role_arn',
    accessKeyId: credentialClient.getAccessKeyId(),
    accessKeySecret: credentialClient.getAccessKeySecret(),
    securityToken: credentialClient.getSecurityToken(),
    // 要扮演的RAM角色ARN,示例值:acs:ram::123456789012:role/adminrole
    roleArn: 'acs:ram::123456789012
    :role/adminrole',
    roleSessionExpiration: 3600,
    });
    let client = new credentials_1.default(config);
    console.log(await client.getAccessKeyId());
    }
    ```
    --此回答整理自钉群“OpenAPI 开发者门户 - 值班服务群2群”

    2024-02-06 22:08:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
跨平台的云服务SDK需要什么 立即下载
一个跨平台的云服务SDK需要什么 立即下载
最大化阿里云OpenAPI能力的方法和实践 立即下载