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

2 分钟阅读
0

我想为我的 Amazon Redshift 集群或 Amazon Redshift Serverless 启用审计日志记录。该如何操作?

简短描述

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

要将日志存储更长时间,请打开 Amazon Redshift 的审计日志记录功能。日志可以存储在 Amazon Simple Storage Service (Amazon S3) 桶或 Amazon CloudWatch 中。Amazon 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 桶,则可以选择现有桶Create new bucket(创建新桶)来存储数据库审计日志。
    如果您选择 CloudWatch,则可以从以下日志类型中进行选择:连接日志用户日志用户活动日志
  6. 选择 Save changes(保存更改)。

要使用 AWS CLI 开启审计日志记录,请参阅启用日志记录
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

以下是运行 enable-logging 命令以使用 Amazon 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"}

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

用户活动日志的参数组

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

要启用 enable_user_activity_logging 参数**,**请执行以下操作:

  1. 创建新的参数组
  2. 修改参数组以将参数 enable_user_activity_logging 设置为 true
  3. 修改集群以将新的参数组附加到 Amazon Redshift 集群。

**注意:**默认情况下,enable_user_activity_logging 参数设置为 false,且您无法修改默认参数组。

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

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

启用 Redshift Serverless 的审计日志记录

要启用 Amazon Redshift Serverless 的审计日志记录,请执行以下操作:

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

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

有关监控审计日志的更多信息,请参阅监控 CloudWatch 中的日志事件


相关信息

数据库审计日志记录

Amazon Redshift Serverless 的审计日志记录

AWS 官方
AWS 官方已更新 2 年前