STS Token是一种临时身份,用来解决单点登录、跨账号及跨服务的资源访问问题。
如果担心RAM用户的AccessKey泄露,可以考虑通过创建RAM角色并使用STS临时授权的账号调用服务。
操作步骤
1.创建用于使用sts token方式的RAM用户,记录AccessKey ID 和 AccessKey Secret 。
2.创建RAM角色。
3.为RAM角色授权AliyunDocmindFullAccess、AliyunSTSAssumeRoleAccess这两个系统策略。
完成上述操作后。即可通过sts token方式访问openApi。
构建AssumeRole对象
调用AssumeRole接口,获取一个扮演RAM角色的临时身份凭证AssumeRoleResponse 对象。
其中需要设置的参数详情,请参见AssumeRole。
通过sts token发送API请求
以Java SDK调用API为例,示例代码如下:
public static void submit() throws Exception {
Config config = new Config()
// AssumeRoleResponse返回的 AccessKey ID
.setAccessKeyId(accessKeyId)
// AssumeRoleResponse返回的 securityToken
.securityToken(securityToken)
// AssumeRoleResponse返回的 AccessKey Secret
.setAccessKeySecret(accessKeySecret);
// 访问的域名,支持ipv4和ipv6两种方式,ipv6请使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
Client client = new Client(config);
// 创建RuntimeObject实例并设置运行参数
RuntimeOptions runtime = new RuntimeOptions();
// 替换成具体异步任务提交类API接口的入参和方法,示例方法是文档智能解析接口
SubmitDocStructureJobAdvanceRequest advanceRequest = new SubmitDocStructureJobAdvanceRequest();
File file = new File("D:\\example.pdf");
advanceRequest.fileUrlObject = new FileInputStream(file);
advanceRequest.fileName = "example.pdf";
// 4 发起请求并处理应答或异常。
SubmitDocStructureJobResponse response = client.submitDocStructureJobAdvance(advanceRequest, runtime);
}
其他接口和语言SDK类似,主要改动为在构建Config信息时,分别将securityToken设置为AssumeRoleResponse返回的 securityToken、accessKeyId设置为AssumeRoleResponse返回的 AccessKey ID、accessKeySecret设置为AssumeRoleResponse返回的 AccessKey Secret。
文档内容是否对您有帮助?