首页 操作审计 开发参考 使用OpenAPI示例

使用OpenAPI示例

更新时间: 2023-07-19 18:02:46

本文为您介绍使用OpenAPI查询操作审计事件的完整示例。

查看OpenAPI文档

通过阅读API概览得知,查询操作审计事件的OpenAPI为LookupEvents。请您根据文档,了解调用该接口需要准备的数据和权限。

创建RAM用户并完成授权

  1. 使用阿里云账号登录RAM控制台

  2. 创建RAM用户。

    1. 在左侧导航栏,选择身份管理 > 用户

    2. 用户页面,单击左上角的创建用户

    3. 创建用户页面,登录名称显示名称均输入actiontrail-openapi-operator访问方式选择OpenAPI调用访问

    4. 单击确定

      创建RAM用户成功,同时系统自动为该RAM用户生成一个AccessKey ID和AccessKey Secret。更多信息,请参见创建AccessKey

  3. 创建权限策略。

    1. 在左侧导航栏,选择权限管理 > 权限策略

    2. 权限策略页面,单击左上角的创建权限策略

    3. 创建权限策略页面,单击脚本编辑页签,用以下代码替换已有示例代码。

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "actiontrail:LookupEvents"
            ],
            "Resource": [
              "*"
            ],
            "Condition": {}
          }
        ]
      }

      以上代码表示授予RAM用户调用操作审计LookupEvents接口的权限。

    4. 单击继续编辑基本信息

    5. 权限策略名称输入actiontrail-policy,单击确定

  4. 为RAM用户授权。

    1. 在左侧导航栏,选择权限管理 > 授权

    2. 授权页面,单击左上角的新增授权

    3. 新增授权面板,先选择授权主体actiontrail-openapi-operator,再单击自定义策略页签,选择权限策略为actiontrail-policy

    4. 单击确定

    5. 单击完成

调用OpenAPI

本文以Python语言为例,为您介绍OpenAPI的调用方法。

准备Python环境

  1. 下载并安装Python。

    Python 3的下载地址,请参见Python 3

  2. 查看Python版本。

    • Linux和macOS系统

      打开终端,输入python --version

    • Windows系统

      • 在Python的安装路径下,双击python.exe。

      • 打开命令提示符页面。

        通过键盘快捷键Win+R打开运行对话框,输入命令python,单击确定

配置环境变量

为避免将AccessKey硬编码到业务代码中带来的安全风险,本示例采用配置环境变量的方法管理AccessKey。

  • Linux和macOS系统

    将以下命令中的<access_key_id><access_key_secret>替换为您自己的AccessKey ID和AccessKey Secret,输入到终端执行。

  • export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系统

    新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。

安装依赖

pip install alibabacloud_credentials
pip install alibabacloud_actiontrail20200706==2.1.0
pip install alibabacloud_tea_console

下载示例代码

  1. 在OpenAPI门户,访问LookupEvents接口的调试地址

  2. LookupEvents接口无必填参数,可以不填写,直接单击发起调用

  3. 先单击SDK示例页签,再单击Python页签。

    获取Python语言的SDK示例。

  4. 单击下载完整工程,下载示例代码包。

  5. 在本地解压示例代码包,并进入alibabacloud_sample目录。

运行代码

执行以下命令:

python sample.py

得到如下输出结果:

{
  "EndTime": "2023-07-11T08:13:04Z",
  "NextToken": "eyJhY2NvdW50IjoiMTY5ODI3MjMyODU0ODQ2NyIsImV2ZW50SWQiOiJFNTdGNjFGRS04RjdCLTVDRjAtODA3Ni03NjAwNEQyMkMxQTYiLCJsb2dJZCI6IjQ1LTE2OTgyNzIzMjg1NDg0NjciLCJ0aW1lIjoxNjg5MDYzMTE2MD****",
  "RequestId": "7743F214-925E-5602-936C-3CCCD5FBACD8",
  "Events": [
    {
      "eventId": "33859C72-1C50-55B3-A857-27FAA358****",
      "eventVersion": 1,
      "eventSource": "actiontrail.cn-hangzhou.aliyuncs.com",
      "requestParameters": {
        "AcsProduct": "Actiontrail",
        "UserAgent": "Workbench/1.0",
        "ClientPort": 11880,
        "Region": "cn-hangzhou"
      },
      "sourceIpAddress": "192.168.XX.XX",
      "userAgent": "api.aliyun.com",
      "eventRW": "Read",
      "eventType": "ApiCall",
      "userIdentity": {
        "sessionContext": {
          "attributes": {
            "mfaAuthenticated": "false",
            "creationDate": "2023-07-11T08:12:34Z"
          }
        },
        "accountId": "169827232854****",
        "principalId": "169827232854****",
        "type": "root-account",
        "userName": "root"
      },
      "serviceName": "Actiontrail",
      "additionalEventData": {
        "CallerBid": "2****"
      },
      "apiVersion": "2020-07-06",
      "requestId": "33859C72-1C50-55B3-A857-27FAA358641C",
      "eventTime": "2023-07-11T08:12:34Z",
      "isGlobal": false,
      "acsRegion": "cn-hangzhou",
      "eventName": "LookupEvents"
    }
  ],
  "StartTime": "2023-07-04T08:13:34Z"
}
阿里云首页 操作审计 相关技术圈