为保证API的安全调用,在调用API时会对每个API请求通过签名(Signature)进行身份验证。当使用Alibaba Cloud SDK for Java访问阿里云服务时,您需要提供阿里云账号进行身份验证。
概述
目前,Alibaba Cloud SDK for Java支持以下几种身份验证方式。
验证方式 | 说明 |
AccessKey (推荐) | 使用一对AccessKey ID和AccessKey Secret访问。 |
StsToken | 使用STS Token访问。 |
以AccessKey为例说明如何设置身份凭证。为了保证您的账号安全,建议您使用RAM账号来访问阿里云服务。阿里云账号的AccessKey对拥有的资源有完全的权限。RAM账号由阿里云账号授权创建,仅有对特定资源限定的操作权限。请参见为RAM用户创建访问密钥创建RAM账号的AccessKey。
使用AccessKey作为访问凭据,需要在初始化Client时设置凭证。示例代码如下:
说明
注意确保包含AccessKey的代码不会泄漏(例如提交到外部公开的GitHub项目),否则将会危害您的阿里云账号的信息安全。
示例
package com.testprogram;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.ecs.model.v20140526.*;
public class Main {
public static void main(String[] args){
// 创建DefaultAcsClient实例并初始化
DefaultProfile profile = DefaultProfile.getProfile(
"cn-hangzhou", // 地域ID
"<your-access-key-id>", // RAM账号的AccessKey ID
"<your-access-key-secret>"); // RAM账号AccessKey Secret
IAcsClient client = new DefaultAcsClient(profile);
// 创建API请求并设置参数
DescribeInstancesRequest request = new DescribeInstancesRequest();
request.setPageSize(10);
// 发起请求并处理应答或异常
DescribeInstancesResponse response;
try {
response = client.getAcsResponse(request);
for (DescribeInstancesResponse.Instance instance:response.getInstances()) {
System.out.println(instance.getPublicIpAddress());
}
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
文档内容是否对您有帮助?