本文以Java语言为例,为您介绍如何使用操作审计SDK。

准备工作

在项目目录下的pom.xml文件中,添加Alibaba Cloud SDK(aliyun-java-sdk-core)和操作审计SDK(aliyun-java-sdk-actiontrail)的依赖。

<dependencies>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.5.20</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-actiontrail</artifactId>
        <version>1.0.5</version>
    </dependency>
</dependencies>
说明 关于SDK版本的更多信息,请参见SDK概览

示例1:查询事件

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.actiontrail.model.v20200706.LookupEventsRequest;
import com.aliyuncs.actiontrail.model.v20200706.LookupEventsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;


public class DemoLookupEvents {
    public static void main(String[] args) {
        // 创建并初始化DefaultAcsClient实例。
        DefaultProfile profile = DefaultProfile.getProfile(
            "<your-region-id>",          // 地域ID。
            "<your-access-key-id>",      // RAM用户的AccessKey ID。
            "<your-access-key-secret>"); // RAM用户AccessKey Secret。

        IAcsClient client = new DefaultAcsClient(profile);
        // 创建LookupEvents请求。
        LookupEventsRequest request = new LookupEventsRequest();
        // 设置参数。
        List<LookupEventsRequest.LookupAttribute> lookupAttributes = new ArrayList<>();
        LookupEventsRequest.LookupAttribute lookupAttribute = new LookupEventsRequest.LookupAttribute();
        lookupAttribute.setKey("EventRW");
        lookupAttribute.setValue("Write");
        lookupAttributes.add(lookupAttribute);
        request.setLookupAttributes(lookupAttributes);

        // 发起请求并处理响应或异常。
        LookupEventsResponse response;
        try {
            response = client.getAcsResponse(request);
            System.out.println("RequestId: " + response.getRequestId());
            System.out.println("-------------------------------");
            System.out.println("eventTime, eventId, serviceName, eventName");
            for (Map<Object, Object> event : response.getEvents()) {
                System.out.println(event.get("eventTime") + ", " + event.get("eventId") + ", " + event.get("serviceName") + ", " + event.get("eventName"));
            }
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.actiontrail.model.v20171204.DescribeTrailsRequest;
import com.aliyuncs.actiontrail.model.v20171204.DescribeTrailsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;


public class DemoDescribeTrails {
    public static void main(String[] args) {
        // 创建并初始化DefaultAcsClient实例。
        DefaultProfile profile = DefaultProfile.getProfile(
            "<your-region-id>",          // 地域ID。
            "<your-access-key-id>",      // RAM用户的AccessKey ID。
            "<your-access-key-secret>"); // RAM用户AccessKey Secret。

        IAcsClient client = new DefaultAcsClient(profile);
        // 创建DescribeTrails请求并设置参数。
        DescribeTrailsRequest request = new DescribeTrailsRequest();
        // 发起请求并处理响应或异常。
        DescribeTrailsResponse response;
        try {
            response = client.getAcsResponse(request);
            System.out.println("RequestId: " + response.getRequestId());
            System.out.println("-------------------------------");
            System.out.println("name, trailRegion");
            for (DescribeTrailsResponse.TrailListItem trail : response.getTrailList()) {
                System.out.println(trail.getName() + ", " + trail.getTrailRegion());
            }
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}