如何在 Amazon Redshift 和 Amazon Redshift Serverless 中启用审计日志记录?

2 分钟阅读
0

我想为我的 Amazon Redshift 集群或 Amazon Redshift Serverless 启用审计日志记录。

简短描述

Amazon Redshift 将系统日志存储在系统表和视图中,保留期最长为七天。这些日志有助于监控数据库安全并对数据库问题进行故障排除。

要将日志存储更长时间,请启用 Amazon Redshift 的审计日志记录功能。日志可以存储在 Amazon Simple Storage Service (Amazon S3) 存储桶或 Amazon CloudWatch 中。CloudWatch 具有将审计日志记录数据可视化的功能。

Amazon Redshift 在以下类型的日志中记录信息:

  • 连接日志 - 记录身份验证尝试、连接和断开连接信息。
  • 用户日志 - 记录有关数据库用户定义更改的信息。
  • 用户活动日志 - 记录在数据库上运行之前的每个查询的信息。

**注意:**对于用户活动日志,请确保设置参数组以正确存储日志。

解决方法

在 Amazon Redshift 预置集群中启用审计日志记录

要使用控制台在 Amazon Redshift 预置集群中启用审计日志记录,请完成以下步骤:

  1. 打开 Amazon Redshift 控制台
  2. 在导航窗格中,选择 Clusters(集群),然后选择要更新的集群。
  3. 选择 Properties(属性)选项卡。
  4. Database configurations(数据库配置)面板上,选择 Edit(编辑),然后选择 Edit audit logging(编辑审计日志记录)。
  5. 对于 Edit audit logging(编辑审计日志记录),选择 Turn on(开启),然后选择 S3 bucket(S3 存储桶)或 CloudWatch
    如果您选择 S3 bucket(S3 存储桶),则可以选择现有存储桶或选择 Create new bucket(创建新存储桶)来存储数据库审计日志。
    如果您选择 CloudWatch,则可以从以下日志类型中进行选择: Connection log(连接日志)、User log(用户日志)和 User activity log(用户活动日志)。
  6. 选择 Save changes(保存更改)。

要使用 AWS 命令行界面 (AWS CLI) 启用审计日志记录,请参阅 enable-logging

**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

以下示例显示如何使用 enable-logging 命令以 S3 存储桶作为审计日志记录目标启用审计日志记录:

aws redshift enable-logging --cluster-identifier redshift-cluster-1 --log-destination-type s3  --bucket-name mybucket --s3-key-prefix mybucket/test --region us-east-1

输出将类似于以下内容:

{    “LoggingEnabled”: true,    “BucketName”: “mybucket”,    “S3KeyPrefix”: “mybucket/test/“,    “LastSuccessfulDeliveryTime”: “2022-09-14T12:04:42.558000+00:00"}

注意:出现在 S3 存储桶或 CloudWatch 中的日志可能会有延迟。您可以在集群属性中查看上次成功传输的日期和时间,以查看上次执行日志传输的时间。

用户活动日志的参数组

要记录用户活动日志,请确保在连接到 Amazon Redshift 集群的集群参数组中将 enable_user_activity_logging 参数设置为 true

**注意:**在最初创建 Amazon Redshift 集群时,该集群会自动与默认参数组关联。在此配置中,enable_user_activity_logging 参数设置为 false。无法直接修改默认参数组本身。

要启用 enable_user_activity_logging 参数,请完成以下步骤:

  1. 创建新的参数组
  2. 修改参数组,将参数 enable_user_activity_logging 设置为 true

要将新的参数组关联到集群,请完成以下步骤:

  1. 在导航窗格中,选择 Clusters(集群)。然后,选择要修改的集群。
  2. 选择 Properties(属性)。
  3. 向下滚动到参数组部分,然后选择 Edit(编辑)。
  4. 从列表中选择新的参数组。
  5. 选择 Save changes(保存更改)。

修改已与集群关联的参数组中的参数值后,可能需要重启集群。您可能还需要将不同的参数组与集群关联,以使更新后的参数值生效。如果您的集群在维护期间重新启动,则不会应用更改。

如果您启用了审计日志记录,但未启用参数组中的 enable_user_activity_logging 参数,则会发生以下情况:

  • 数据库审计日志仅存储连接日志和用户日志的信息
  • 不存储用户活动日志

有关详细信息,请参阅 Amazon Redshift 参数组

为 Amazon Redshift Serverless 启用审计日志记录

要为 Amazon Redshift Serverless 启用审计日志记录,请完成以下步骤:

  1. 打开 Amazon Redshift 控制台
  2. 在导航窗格中,选择 Redshift Serverless,然后选择 Serverless dashboard(无服务器控制面板)。
  3. 选择要为其启用审计日志记录的 Namespace(命名空间)。
  4. 选择 Security and Encryption(安全和加密)选项卡。
  5. 对于 Security and encryption(安全和加密),选择 Edit(编辑)。
  6. Export these logs(导出这些日志)中,选择要保存在 CloudWatch 中的日志。您可以从以下日志类型中进行选择: User log(用户日志)、Connection log(连接日志)和 User activity log(用户活动日志)。
  7. 选择 Save changes(保存更改)。

**注意:**Amazon Redshift Serverless 无法将日志导出到 S3 存储桶。

有关如何监控审计日志的详细信息,请参阅 CloudWatch 中的日志事件

相关信息

数据库审计日志记录

Amazon Redshift Serverless 的审计日志记录

AWS 官方
AWS 官方已更新 4 个月前