调用GetOpLog接口,获取指定时间内的操作日志详情列表。

前提条件:用户角色为管理员或安全管理员,可通过调用接口ListUsersGetUser获取用户角色(RoleIdList)。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String GetOpLog

系统规定参数。取值:GetOpLog

Tid Long 3***

租户ID,可通过调用接口GetUserActiveTenantListUserTenants获取该参数的值。

Module String SECURITY_RULE

功能模块,缺省则返回对应时间段内所有功能模块,取值如下:

  • PERMISSION:权限
  • OWNER:数据Owner
  • SQL_CONSOLE:数据查询
  • SQL_CONSOLE_EXPORT:查询结果导出
  • DATA_CHANGE:数据变更
  • DATA_EXPORT:数据导出
  • SQL_REVIEW:SQL审核
  • DT_SYNC:库表同步
  • DT_DETAIL:库表详情
  • DB_TASK:任务管理
  • INSTANCE_MANAGE:实例管理
  • USER_MANAGE:用户管理
  • SECURITY_RULE:安全规则
  • CONFIG_MANAGE:配置管理
  • RESOURCE_AUTH:资源授权
  • ACCESS_WHITE_IP:访问IP白名单
StartTime String 2022-03-23 10:00:00

开始时间,时间格式为yyyy-MM-DD HH:mm:ss。

EndTime String 2022-03-29 10:00:00

结束时间,时间格式为yyyy-MM-DD HH:mm:ss。

PageSize Integer 30

每页记录数,取值如下:

  • 30
  • 50
  • 100
PageNumber Integer 1

页码,从1开始。

RegionId String cn-hangzhou

选择DMS的服务地域,用于调用该接口,取值请参见RegionID参数说明

返回数据

名称 类型 示例值 描述
TotalCount Long 1

操作日志总条数。

RequestId String 47D56208-DB1D-4FD3-BE32-300E43185488

请求ID。

ErrorCode String 403

错误码。

OpLogDetails Array of OpLogDetail

操作日志详情列表。

OpLogDetail
Module String 安全规则

功能模块。

Database String dmstest_prod_database@dmstest.rds...【测试实例】

数据库访问地址。

说明
  • 仅实例类型为LocalInstance时有这个属性。
  • 仅任务类型区域的各功能模块操作有这个属性。
UserId String 22275482072787****

用户UID。

OpUserId Long 51****

操作人员的用户ID。

OpContent String SELECT * FROM `orders` \n LIMIT 20

操作内容。

UserNick String test_name

用户显示名。

OrderId Long 509****

工单号或任务号。

说明 仅任务类型区域的各功能模块操作与系统管理任务管理功能模块的操作才有这个属性。
OpTime String 2022-03-28 16:45:19

操作时间。

ErrorMessage String UnknownError

错误消息。

Success Boolean true

请求是否成功,返回值如下:

  • true:请求成功
  • false:请求失败

示例

请求示例

http(s)://dms-enterprise.aliyuncs.com/?Action=GetOpLog
&Tid=3***
&Module=SECURITY_RULE
&StartTime=2022-03-23 10:00:00
&EndTime=2022-03-29 10:00:00
&PageSize=30
&PageNumber=1
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GetOpLogResponse>
    <TotalCount>1</TotalCount>
    <RequestId>47D56208-DB1D-4FD3-BE32-300E43185488</RequestId>
    <OpLogDetails>
        <OpUserId>51****</OpUserId>
        <UserId>22275482072787****</UserId>
        <Database>dmstest_prod_database@dmstest.rds...【测试实例】</Database>
        <OpContent>SELECT * FROM `orders` \n LIMIT 20</OpContent>
        <UserNick>test_name</UserNick>
        <Module>安全规则</Module>
        <OpTime>2022-03-28 16:39:44</OpTime>
    </OpLogDetails>
    <Success>true</Success>
</GetOpLogResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "TotalCount" : 1,
  "RequestId" : "47D56208-DB1D-4FD3-BE32-300E43185488",
  "OpLogDetails" : [ {
    "OpUserId" : "51****",
    "UserId" : "22275482072787****",
    "Database" : "dmstest_prod_database@dmstest.rds...【测试实例】",
    "OpContent" : "SELECT * FROM `orders` \\n LIMIT 20",
    "UserNick" : "test_name",
    "Module" : "安全规则",
    "OpTime" : "2022-03-28 16:39:44"
  } ],
  "Success" : true
}

错误码

访问错误中心查看更多错误码。

SDK示例

SDK使用基础信息参考:阿里云Python SDK

示例如下:


from aliyunsdkcore.client import AcsClient
from aliyunsdkdms_enterprise.request.v20181101.GetOpLogRequest import GetOpLogRequest
client = AcsClient(
    "<your-access-key-id>",
   "<your-access-key-secret>",
   "<your-region-id>"
)
request = GetOpLogRequest()
request.set_Tid("请输入你的企业租户id")
request.set_StartTime("2018-11-20 00:00:00")
request.set_EndTime("2018-11-23 00:00:00")
request.set_PageNumber(1)
request.set_PageSize(50)
response = client.do_action_with_exception(request)
print response