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

为 AWS 上的开源关系数据库启用 Defender(预览版)

Microsoft Defender for Cloud 会检测 AWS 环境中的异常活动,这些活动表示存在对以下 RDS 实例类型的数据库的异常和可能有害的访问或攻击尝试:

  • Aurora PostgreSQL
  • Aurora MySQL
  • PostgreSQL
  • MySQL
  • MariaDB

若要获取 Microsoft Defender 计划的警报,需要按照本页上的说明为 AWS 上的开源关系数据库启用 Defender。

AWS 上的开源关系数据库的 Defender 计划还支持发现帐户内敏感数据,并利用发现的结果丰富 Defender for Cloud 体验。 Defender CSPM 中也包含此功能。

请参阅适用于开源关系数据库的 Microsoft Defender 概述,了解有关此 Microsoft Defender 计划的更多信息。

先决条件

  • 需要 Microsoft Azure 订阅。 如果你没有 Azure 订阅,可以注册免费订阅

  • 必须在 Azure 订阅上启用 Microsoft Defender for Cloud

  • 至少有一个已连接的 AWS 帐户具有所需的访问权限和权限。

  • 区域可用性:所有公共 AWS 区域(不包括特拉维夫、米兰、雅加达、西班牙和巴林)。

启用适用于开源关系数据库的 Defender

  1. 登录到 Azure 门户

  2. 搜索并选择“Microsoft Defender for Cloud”。

  3. 选择环境设置

  4. 选择相关 AWS 帐户。

  5. 找到“数据库”计划并选择“设置”。

    AWS 环境设置页的屏幕截图,显示了设置按钮所在位置。

  6. 将开源关系数据库切换为“开启”。

    显示如何将开源关系数据库切换为开启的屏幕截图。

    注意

    将开源关系数据库切换为开启状态还将启用敏感数据发现,这是与 Defender CSPM 关系数据库服务 (RDS) 的敏感数据发现的共享功能。

    显示 Defender CSPM 的设置页以及使用受保护资源打开的敏感数据的屏幕截图。

    详细了解 AWS RDS 实例中的敏感数据发现

  7. 选择“配置访问权限”。

  8. 在部署方法部分中,选择“下载”。

  9. 按照 AWS 说明中的更新堆栈进行操作。 此过程将创建或更新具有所需权限的 CloudFormation 模板。

  10. 选中该框,确认 CloudFormation 模板已在 AWS 环境(堆栈)上更新。

  11. 选择“查看并生成”。

  12. 查看显示的信息,然后选择“更新”。

Defender for Cloud 将自动更改参数和选项组设置

DefenderForCloud-DataThreatProtectionDB 角色所需的权限

下表显示了在下载 CloudFormation 模板并更新 AWS Stack 时向创建或更新的角色授予的所需权限的列表。

已添加权限 说明
rds:AddTagsToResource 在创建的选项组和参数组上添加标签
rds:DescribeDBClusterParameters 描述群集组内的参数
rds:CreateDBParameterGroup 创建数据库参数组
rds:ModifyOptionGroup 修改选项组中的选项
rds:DescribeDBLogFiles 描述日志文件
rds:DescribeDBParameterGroups 描述数据库参数组
rds:CreateOptionGroup 创建选项组
rds:ModifyDBParameterGroup 修改数据库参数组中的参数
rds:DownloadDBLogFilePortion 下载日志文件
rds:DescribeDBInstances 描述数据库
rds:ModifyDBClusterParameterGroup 修改群集参数组中的群集参数
rds:ModifyDBInstance 根据需要修改数据库以分配参数组或选项组
rds:ModifyDBCluster 根据需要修改群集以分配群集参数组
rds:DescribeDBParameters 描述数据库组中的参数
rds:CreateDBClusterParameterGroup 创建群集参数组
rds:DescribeDBClusters 描述群集
rds:DescribeDBClusterParameterGroups 描述群集参数组
rds:DescribeOptionGroups 描述选项组

受影响的参数和选项组设置

在 RDS 实例上为开源关系数据库启用 Defender 时,Defender for Cloud 会自动使用审核日志启用审核,以便能够使用和分析数据库的访问模式。

每个关系数据库管理系统或服务类型都有自己的配置。 下表描述了受 Defender for Cloud 影响的配置(这些配置无需手动设置,仅供参考)。

类型 参数
PostgreSQL 和 Aurora PostgreSQL log_connections 1
PostgreSQL 和 Aurora PostgreSQL log_disconnections 1
Aurora MySQL 群集参数组 server_audit_logging 1
Aurora MySQL 群集参数组 server_audit_events - 如果存在,则扩展该值以包括 CONNECT、QUERY。
- 如果不存在,则添加值 CONNECT、QUERY。
Aurora MySQL 群集参数组 server_audit_excl_users 如果存在,请扩展该值以包含 rdsadmin。
Aurora MySQL 群集参数组 server_audit_incl_users - 如果该参数存在且具有值,同时 rdsadmin 作为包含的一部分,则该参数不会出现在 SERVER_AUDIT_EXCL_USER 中,并且包含的值为空。

MySQL 和 MariaDB 需要一个选项组,其中 MARIADB_AUDIT_PLUGIN 具有以下选项(如果该选项不存在,请添加该选项。如果该选项存在,请扩展该选项中的值):

选项名称
SERVER_AUDIT_EVENTS 如果存在,则扩展该值以包含 CONNECT
如果不存在,请添加值 CONNECT。
SERVER_AUDIT_EXCL_USER 如果存在,请扩展该值以包含 rdsadmin。
SERVER_AUDIT_INCL_USERS 如果该参数存在并带有值,并且 rdsadmin 是包含的一部分,则它不会出现在 SERVER_AUDIT_EXCL_USER 中,并且包含的值为空。

重要

可能需要重新启动实例才能应用更改。

如果使用默认参数组,系统将新建一个参数组,其中包含所需的参数更改,前缀为 defenderfordatabases*

如果新建了参数组或者更新了静态参数,则在重新启动实例之前,它们才会生效。

注意

下一步