你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用 Azure Database for MySQL 灵活服务器配置审核日志

适用于:Azure Database for MySQL - 灵活服务器

可以使用 Azure Database for MySQL 灵活服务器配置审核日志。 审核日志可用于跟踪数据库级活动,包括连接、管理、数据定义语言 (DDL) 和数据操作语言 (DML) 事件。 这些类型的日志通常用于符合性目的。 数据库审核通常用于执行以下操作:

  • 解释发生在特定架构、表或行中或影响特定内容的所有操作。
  • 根据用户(或其他人)的责任,防止其执行不适当的操作。
  • 调查可疑活动。
  • 监视和收集有关特定数据库活动的数据。

本文介绍如何使用 MySQL 审核日志、Log Analytics 工具或工作簿模板可视化 Azure Database for MySQL 灵活服务器的审核信息。

本教程介绍以下操作:

  • 使用 Azure 门户或 Azure CLI 配置审核
  • 设置诊断
  • 使用 Log Analytics 查看审核日志
  • 使用工作簿查看审核日志

先决条件

使用 Azure 门户配置审核

  1. 登录 Azure 门户

  2. 选择灵活服务器实例。

  3. 在左侧窗格的“设置”下,选择“服务器参数” 。

    Screenshot showing the 'Server parameters' list.

  4. 对于 audit_log_enabled 参数,选择“启用” 。

    Screenshot showing the 'audit_log_enabled' parameter switched to 'ON'.

  5. 对于 audit_log_events 参数,在下拉列表中选择要记录的事件类型

    Screenshot of the event options in the 'audit_log_events' dropdown list.

  6. 对于 audit_log_exclude_users 和 audit_log_include_users 参数,通过提供 MySQL 用户名来指定要在日志记录中包含或排除的任何 MySQL 用户 。

    Screenshot showing the MySQL usernames to be included or excluded from logging.

  7. 选择“保存”。

    Screenshot of the 'Save' button for saving changes in the parameter values.

使用 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 分钟的时间,这些日志就会出现。

  1. 在左窗格中的“监视”下,选择“诊断设置”。

  2. 在“诊断设置”窗格上,选择“添加诊断设置” 。

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

  3. 在“名称”框中,为诊断设置输入一个名称。

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

  4. 通过选择相应的复选框,指定要将审核日志发送到的目标(Log Analytics 工作区、事件中心或存储帐户)。

    注意

    在本教程中,你将需要将审核日志发送到 Log Analytics 工作区。

  5. 在“日志”下,对于日志类型,选择“MySqlAuditLogs”复选框 。

  6. 配置通过管道将审核日志发送到的数据接收器后,选择“保存”。

使用 Log Analytics 查看审核日志

  1. 在 Log Analytics 的左侧窗格中,在“监视”下,选择“日志” 。

  2. 关闭“查询”窗口。

    Screenshot of the Log Analytics 'Queries' pane.

  3. 在查询窗口中,可写入要执行的查询。 例如,若要在特定服务器上查找已审核事件的摘要,需使用以下查询:

    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 
    

    Screenshot of an example Log Analytics query seeking to find a summary of audited events on a particular server.

使用工作簿查看审核日志

用于审核的工作簿模板需要你创建诊断设置以发送平台日志。

  1. 在 Azure Monitor 中,选择左侧窗格中的“活动日志”,然后选择“诊断设置” 。

    Screenshot showing the 'Diagnostics settings' tab on the Azure Monitor 'Activity log' pane.

  2. 在“诊断设置”窗格中,可添加新设置或编辑现有设置。 每个设置只能包含一种目标类型。

    Screenshot of the Azure Monitor 'Diagnostic setting' pane for selecting log destinations.

    注意

    可在已配置的数据接收器(Log Analytics 工作区、存储帐户或事件中心)中访问慢查询日志。 最多需要等待 10 分钟的时间,这些日志就会出现。

  3. 在Azure 门户的左窗格中,在“监视 Azure Database for MySQL 灵活服务器实例”下,选择“工作簿”。

  4. 选择“审核”工作簿。

    Screenshot showing all workbooks in the workbook gallery.

在工作簿中,可以查看以下可视化效果:

  • 对服务执行的管理操作
  • 审核摘要
  • 审核连接事件摘要
  • 审核连接事件
  • 表访问摘要
  • 已识别的错误

Screenshot of workbook template 'Administrative Actions on the service'.

Screenshot of workbook template 'Audit Connection Events'.

注意

  • 还可以编辑这些模板,并根据要求对其进行自定义。 有关详细信息,请参阅 Azure 工作簿的“编辑模式”部分。
  • 若想快速查看,还可将工作簿或 Log Analytics 查询固定到仪表板。 有关详细信息,请参阅在 Azure 门户中创建仪表板

“服务上的管理操作”可提供针对服务执行的活动的详细信息。 它有助于确定对订阅中的资源执行任何写入操作(PUT、POST、DELETE)的内容、人员和时间。

可以使用其他可视化效果来帮助了解数据库活动的详细信息。 数据库安全包含四个部分:

  • 服务器安全:负责防止未经授权的人员访问数据库。
  • 数据库连接:管理员应检查是否已由授权人员执行任何数据库更新。
  • 表访问控制:显示授权用户的访问密钥,以及每个用户有权处理的数据库中的表。
  • 数据库访问限制:对于已将数据库上传到 Internet 的用户尤其重要,有助于防止外部源访问数据库。

后续步骤