教程:使用 Azure Database for MySQL 灵活服务器配置审核日志
可以使用 Azure Database for MySQL 灵活服务器配置审核日志。 审核日志可用于跟踪数据库级活动,包括连接、管理、数据定义语言 (DDL) 和数据操作语言 (DML) 事件。 这些类型的日志通常用于符合性目的。 数据库审核通常用于执行以下操作:
- 解释发生在特定架构、表或行中或影响特定内容的所有操作。
- 根据用户(或其他人)的责任,防止其执行不适当的操作。
- 调查可疑活动。
- 监视和收集有关特定数据库活动的数据。
本文介绍如何使用 MySQL 审核日志、Log Analytics 工具或工作簿模板来可视化 Azure Database for MySQL 灵活服务器的审核信息。
本教程介绍以下操作:
- 使用 Azure 门户或 Azure CLI 配置审核
- 设置诊断
- 使用 Log Analytics 查看审核日志
- 使用工作簿查看审核日志
先决条件
使用 Azure 门户配置审核
登录 Azure 门户。
选择灵活服务器实例。
在左侧窗格的“设置”下,选择“服务器参数” 。
对于 audit_log_enabled 参数,选择“启用” 。
对于 audit_log_events 参数,在下拉列表中选择要记录的事件类型。
对于 audit_log_exclude_users 和 audit_log_include_users 参数,通过提供 MySQL 用户名来指定要在日志记录中包含或排除的任何 MySQL 用户 。
选择“保存”。
使用 Azure CLI 配置审核
或者,可以通过运行以下命令,从 Azure CLI 为灵活服务器启用和配置审核:
# Enable audit logs
az mysql flexible-server parameter set \
--name audit_log_enabled \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
设置诊断
审核日志与 Azure Monitor 诊断设置集成后,你便可以通过管道将日志发送到以下任何数据接收器中:
- Log Analytics 工作区
- 事件中心
- 一个存储帐户
注意
应在配置诊断设置之前创建数据接收器。 可以访问已配置的数据接收器中的审核日志。 最多需要等待 10 分钟的时间,这些日志就会出现。
在左窗格中的“监视”下,选择“诊断设置”。
在“诊断设置”窗格上,选择“添加诊断设置” 。
在“名称”框中,为诊断设置输入一个名称。
通过选择相应的复选框,指定要将审核日志发送到的目标(Log Analytics 工作区、事件中心或存储帐户)。
注意
在本教程中,你将需要将审核日志发送到 Log Analytics 工作区。
在“日志”下,对于日志类型,选择“MySqlAuditLogs”复选框 。
配置通过管道将审核日志发送到的数据接收器后,选择“保存”。
使用 Log Analytics 查看审核日志
在 Log Analytics 的左侧窗格中,在“监视”下,选择“日志” 。
关闭“查询”窗口。
在查询窗口中,可写入要执行的查询。 例如,若要在特定服务器上查找已审核事件的摘要,需使用以下查询:
AzureDiagnostics |where Category =='MySqlAuditLogs' |project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s ,ip_s , sql_text_s |summarize count() by event_class_s,event_subclass_s |order by event_class_s
使用工作簿查看审核日志
用于审核的工作簿模板需要你创建诊断设置以发送平台日志。
在 Azure Monitor 中选择左侧窗格上的“活动日志”,然后选择“导出活动日志”。
在“诊断设置”窗格中,可添加新设置或编辑现有设置。 每个设置只能包含一种目标类型。
注意
可在已配置的数据接收器(Log Analytics 工作区、存储帐户或事件中心)中访问慢查询日志。 最多需要等待 10 分钟的时间,这些日志就会出现。
在 Azure 门户的左侧窗格中,在“监视”下,为 Azure Database for MySQL 灵活服务器实例选择“工作簿”。
选择“审核”工作簿。
在工作簿中,可以查看以下可视化效果:
- 对服务执行的管理操作
- 审核摘要
- 审核连接事件摘要
- 审核连接事件
- 表访问摘要
- 已识别的错误
注意
- 还可以编辑这些模板,并根据要求对其进行自定义。 有关详细信息,请参阅 Azure 工作簿的“编辑模式”部分。
- 若想快速查看,还可将工作簿或 Log Analytics 查询固定到仪表板。 有关详细信息,请参阅在 Azure 门户中创建仪表板。
“服务上的管理操作”可提供针对服务执行的活动的详细信息。 它有助于确定对订阅中的资源执行任何写入操作(PUT、POST、DELETE)的内容、人员和时间。
可以使用其他可视化效果来帮助了解数据库活动的详细信息。 数据库安全包含四个部分:
- 服务器安全:负责防止未经授权的人员访问数据库。
- 数据库连接:管理员应检查是否已由授权人员执行任何数据库更新。
- 表访问控制:显示授权用户的访问密钥,以及每个用户有权处理的数据库中的表。
- 数据库访问限制:对于已将数据库上传到 Internet 的用户尤其重要,有助于防止外部源访问数据库。