审计事件
作为安全官员、审计员或经理,您可以使用 IBM Cloud® Activity Tracker Event Routing 服务跟踪用户和应用程序如何与 IBM Cloud® 中的 IBM® Cloudant® for IBM Cloud® 服务交互。
IBM Cloud Activity Tracker Event Routing 会记录哪些用户发起的活动更改了 IBM Cloud 中服务的状态。 您可以使用此服务来调查异常活动和关键操作,并满足监管审计需求。 您还可以在发生操作时收到有关这些操作的警报。 收集的事件符合 Cloud Auditing Data Federation (CADF) 标准。 更多信息,请参阅 IBM Cloud Activity Tracker Event Routing 的入门教程。
事件类型
IBM Cloudant 将两类事件转发至:IBM Cloud Activity Tracker Event Routing
- 管理事件 是影响 IBM Cloudant 实例状态的管理事件,例如以下管理事件:
- 创建或删除数据库。
- 正在更新安全设置。
- 正在创建复制作业。
- 正在创建索引。
- 数据事件 是与 IBM Cloudant交互所涉及的所有其他事件,例如以下事件:
- 读取或写入 JSON 文档。
- 正在读取数据库列表。
- 查看监视端点。
- 对服务进行认证。
默认情况下,只有管理事件会被自动收集并发送到 IBM Cloud Activity Tracker Event Routing 服务。
您必须配置每个 IBM Cloudant 实例,以收集数据事件并将其发送到 IBM Cloud Activity Tracker Event Routing 服务。
为 IBM Cloudant 实例配置数据事件
以下指示信息演示如何为 IBM Cloudant 实例配置数据事件。
通过 IBM Cloud UI 配置数据事件
您可以通过以下步骤更改 IBM Cloud 控制面板中发送到 IBM Cloud Activity Tracker Event Routing 的事件类型:
-
转至“资源”列表,然后选择 IBM Cloudant 实例。
将打开“管理”页面。
-
单击概述。 此时将打开“部署详细信息”窗格。
-
在列表中查找 Activity Tracker 事件类型。
-
从下拉菜单中选择相应的类型 管理 或 管理与数据。
-
单击保存。
使用 IBM Cloudant API 配置数据事件
您可以使用 IBM Cloudant API 来管理 Activity Tracker 事件的配置。
用于查看和更改事件类型的 API 需要 IBM Identity and Access Management (IAM) 认证。 此 API 端点不支持使用 IBM Cloudant 旧认证。 请参阅 管理访问权,以获取有关将 IAM 认证用于 IBM Cloudant的详细信息。
检查为 IBM Cloudant 实例配置了哪些事件类型
/_api/v2/user/activity_tracker/events
端点会在响应中返回一个 types
字段,该字段包含一个事件类型数组,该数组将针对 IBM Cloudant 实例发送到 IBM Cloud Activity Tracker Event Routing。
请参见以下示例请求,了解如何使用 HTTP 检索已配置事件类型的信息:
GET $SERVICE_URL/_api/v2/user/activity_tracker/events
在运行 curl
请求之前,请从命令行运行以下命令以获取 JWT 令牌: ibmcloud iam oauth-tokens | awk '{print $4}'
请参阅以下示例请求以检索有关事件类型的信息:
curl -H "Authorization: Bearer $JWT" -X GET "$SERVICE_URL/_api/v2/user/activity_tracker/events"
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.ActivityTrackerEvents;
Cloudant service = Cloudant.newInstance();
ActivityTrackerEvents response =
service.getActivityTrackerEvents().execute().getResult();
System.out.println(response)
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
service.getActivityTrackerEvents().then(response => {
console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1
service = CloudantV1.new_instance()
response = service.get_activity_tracker_events().get_result()
print(response)
getActivityTrackerEventsOptions := service.NewGetActivityTrackerEventsOptions()
activityTrackerEvents, response, err := service.GetActivityTrackerEvents(getActivityTrackerEventsOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(activityTrackerEvents, "", " ")
fmt.Println(string(b))
先前的 Go 示例需要以下导入块:
import (
"encoding/json"
"fmt"
"github.com/IBM/cloudant-go-sdk/cloudantv1"
)
所有 Go 示例都需要初始化 service
对象。 有关更多信息,请参阅 API 文档的 认证部分 以获取示例。
当您检查启用了哪些事件时,您将获得下列其中一个响应。
- 发送管理和数据事件类型时的响应:
{"types": ["management", "data"]}
- 仅发送管理事件时的响应:
{"types": ["management"]}
为 IBM Cloudant 实例配置数据事件
您可以通过将 POST
发送到 /_api/v2/user/activity_tracker/events
端点并通过 types
字段传递 JSON 对象来配置数据事件。
请参阅以下示例,了解如何使用 HTTP 配置事件类型:
POST $SERVICE_URL/_api/v2/user/activity_tracker/events
请参阅以下示例请求以配置事件类型:
curl -H "Authorization: Bearer $JWT" -X POST "$SERVICE_URL/_api/v2/user/activity_tracker/events" --data '{"types": ["management", "data"]}'
import java.util.Arrays;
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.Ok;
import com.ibm.cloud.cloudant.v1.model.PostActivityTrackerEventsOptions;
Cloudant service = Cloudant.newInstance();
PostActivityTrackerEventsOptions options =
new PostActivityTrackerEventsOptions.Builder()
.types(Arrays.asList("management", "data"))
.build();
Ok response =
service.postActivityTrackerEvents(options).execute().getResult();
System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
service.postActivityTrackerEvents({
types: ['management', 'data'],
}).then(response => {
console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1
service = CloudantV1.new_instance()
response = service.post_activity_tracker_events(
types=['management', 'data']
).get_result()
print(response)
postActivityTrackerEventsOptions := service.NewPostActivityTrackerEventsOptions(
[]string{"management", "data"},
)
activityTrackerEvents, response, err := service.PostActivityTrackerEvents(postActivityTrackerEventsOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(activityTrackerEvents, "", " ")
fmt.Println(string(b))
先前的 Go 示例需要以下导入块:
import (
"encoding/json"
"fmt"
"github.com/IBM/cloudant-go-sdk/cloudantv1"
)
所有 Go 示例都需要初始化 service
对象。 有关更多信息,请参阅 API 文档的 认证部分 以获取示例。
以下示例响应显示已接受更新:
{
"ok":true
}
如果 types
字段包含无效事件类型,那么将返回类似于以下内容的响应:
{
"code":400,
"error":"Unknown event types: <unrecognized events>"
}
如果缺少 types
字段,那么将返回与以下字段相似的响应:
{
"code":400,
"error":"Missing required events: \"management\""
}
在 IBM Cloud Activity Tracker Event Routing 中看到的事件中反映出更改最长需要 5 分钟。
事件列表
管理事件
操作 | 描述 |
---|---|
cloudantnosqldb.account-capacity-dbs.read |
读取允许的最大数据库数量。 |
cloudantnosqldb.account-current-dbs.read |
读取当前数据库数量。 |
cloudantnosqldb.account-status.configure |
设置实例的状态。 |
cloudantnosqldb.account-status.read |
获取实例的状态。 |
cloudantnosqldb.activity-tracker-event-types.read |
获取实例的已配置事件类型。 |
cloudantnosqldb.activity-tracker-event-types.write |
配置实例的事件类型。 |
cloudantnosqldb.capacity-throughput.read |
获取实例的当前供应吞吐量容量设置。 |
cloudantnosqldb.capacity-throughput.write |
设置实例的供应吞吐量容量设置。 |
cloudantnosqldb.csp.capture |
指示访问 Cloudant 仪表板时发生内容安全策略故障。 |
cloudantnosqldb.database.create |
创建数据库。 |
cloudantnosqldb.database.delete |
删除数据库。 |
cloudantnosqldb.ibm-cloud-account-status.configure |
设置实例的状态。 |
cloudantnosqldb.ibm-cloud-account-status.read |
获取实例的状态。 |
cloudantnosqldb.legacy-credentials.revoke |
撤销所有旧凭证,并使 IAM 成为实例的唯一认证方法。 |
cloudantnosqldb.legacy-root-credential.revoke |
撤销 Cloudant 实例的 URL 样式凭证。 |
cloudantnosqldb.replicator-database.create |
创建 _replicator 数据库。 |
cloudantnosqldb.replicator-database.delete |
删除 _replicator 数据库。 |
cloudantnosqldb.users-database.create |
创建 _users 数据库。 |
cloudantnosqldb.users-database.delete |
删除 _users 数据库。 |
cloudantnosqldb.database-security.read |
阅读安全文档。 |
cloudantnosqldb.database-security.write |
创建、更新或删除安全文件。 |
cloudantnosqldb.design-document.write |
创建、更新或删除 _design 文档。 |
cloudantnosqldb.replication.read |
读取复制文档。 |
cloudantnosqldb.replication.write |
复制文档的创建、更新或删除。 |
cloudantnosqldb.sapi.apikeys |
为实例创建旧的 Cloudant API 密钥。 |
cloudantnosqldb.sapi.db-security |
读取或写入数据库的安全文档。 |
cloudantnosqldb.sapi.usercors |
设置并获取实例的 CORS 设置。 |
cloudantnosqldb.sapi.userplan |
获取或设置实例的计划和计划设置。 |
cloudantnosqldb.users.write |
创建、更新或删除 _users 文档。 |
cloudantnosqldb.volumes.update |
IBM® Key Protect for IBM Cloud® 密钥保护专用硬件环境的状态更改。 |
数据事件
操作 | 描述 |
---|---|
cloudantnosqldb.any-document.read |
阅读 JSON 文档。 |
cloudantnosqldb.account-all-dbs.read |
读取所有数据库的列表。 |
cloudantnosqldb.account-dbs-info.read |
读取有关数据库的元数据。 |
cloudantnosqldb.account-search-analyze.execute |
读取搜索索引统计信息和大小。 |
cloudantnosqldb.account-uuids.read |
读取 _uuids 端点。 |
cloudantnosqldb.account-active-tasks.read |
请阅读 _active_tasks 。 |
cloudantnosqldb.current-throughput.read |
获取实例的供应吞吐量容量的当前使用量。 |
cloudantnosqldb.database-ensure-full-commit.execute |
发布到 _ensure_full_commit 端点。 |
cloudantnosqldb.database-info.read |
读取数据库元数据。 |
cloudantnosqldb.data-document.write |
编写 JSON 文档。 |
cloudantnosqldb.iam-session.read |
读取 IAM 会话。 |
cloudantnosqldb.iam-session.write |
编写 IAM 会话。 |
cloudantnosqldb.iam-session.delete |
删除 IAM 会话。 |
cloudantnosqldb.ibmid-login.authenticate |
在 Cloudant 仪表板上完成 IAM 认证。 |
cloudantnosqldb.ibmid-login.receive |
使用 IAM 认证的部分 Cloudant 仪表板登录。 |
cloudantnosqldb.ibmid-login.start |
使用 IAM 认证启动 Cloudant 仪表板登录。 |
cloudantnosqldb.local-document.write |
编写 _local 文档。 |
cloudantnosqldb.replicator-database-info.read |
请阅读 _replicator 数据库信息。 |
cloudantnosqldb,replicator-design-document.write |
将 _design 文档写入 _replicator 数据库。 |
cloudantnosqldb.replicator-local-document.write |
将 _local 文档写入 _replicator 数据库。 |
cloudantnosqldb.sapi.lastactivity |
获取实例的上次活动时间。 由 IBM Cloud 平台在内部使用。 |
cloudantnosqldb.sapi.supportattachments |
附加文件以支持凭单。 |
cloudantnosqldb.sapi.supporttickets |
创建,读取和删除支持凭单。 |
cloudantnosqldb.sapi.usage-data-volume |
获取实例的数据使用情况。 |
cloudantnosqldb.sapi.userccmdiagnostics |
获取过去 5 秒内吞吐量耗用和 429 个请求的历史记录。 |
cloudantnosqldb.sapi.userinfo |
获取实例的元数据。 |
cloudantnosqldb.session.delete |
删除 IBM Cloudant 旧认证会话。 |
cloudantnosqldb.session.read |
读取 IBM Cloudant 旧认证会话。 |
cloudantnosqldb.session.write |
写入 IBM Cloudant 旧认证会话。 |
cloudantnosqldb.users.read |
读取 _users 数据库文档。 |
cloudantnosqldb.users-database-info.read |
请阅读 _users 数据库信息。 |
cloudantnosqldb.users-design-document.write |
编写 _design 文档。 |
cloudantnosqldb.users-local-document.write |
将 _local 文档写入 _users 数据库。 |
查看事件
在金奈,达拉斯,法兰克福,伦敦,大坂,圣保罗,悉尼,东京,多伦多和华盛顿特区都有活动。 有关更多信息,请参阅 IBM Cloud 服务位置。
IBM Cloudant 服务实例生成的管理事件会被自动收集并转发到 IBM Cloud Activity Tracker Event Routing 服务。 您可以通过配置目标和路由,将账户中的审计事件路由到您选择的目的地,这些目标和路由决定了活动跟踪事件的传送位置。 一个常见的目标是 IBM Cloud Logs,您可以在这里查看审计日志、设置监控和配置警报,以跟踪重要的更改和行为。