我想为我的 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 预置集群中启用审计日志记录,请执行以下操作:
- 打开 Amazon Redshift 控制台。
- 在导航窗格中,选择 Clusters(集群),然后选择要更新的集群。
- 选择 Properties(属性)选项卡。
- 在 Database configurations(数据库配置)面板上,选择Edit(编辑),然后选择Edit audit logging(编辑审计日志)。
- 对于 Edit audit logging(编辑审计日志),选择 Turn on(开启),然后选择 S3 bucket(S3 桶)或 CloudWatch。
如果您选择 S3 桶,则可以选择现有桶或Create new bucket(创建新桶)来存储数据库审计日志。
如果您选择 CloudWatch,则可以从以下日志类型中进行选择:连接日志、用户日志和用户活动日志。
- 选择 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 参数**,**请执行以下操作:
- 创建新的参数组。
- 修改参数组以将参数 enable_user_activity_logging 设置为 true。
- 修改集群以将新的参数组附加到 Amazon Redshift 集群。
**注意:**默认情况下,enable_user_activity_logging 参数设置为 false,且您无法修改默认参数组。
如果您启用了审计日志记录,但没有启用参数组中的 enable_user_activity_logging 参数,则会发生以下情况:
- 数据库审计日志仅存储连接日志和用户日志的信息
- 未存储用户活动日志
启用 Redshift Serverless 的审计日志记录
要启用 Amazon Redshift Serverless 的审计日志记录,请执行以下操作:
- 打开 Amazon Redshift 控制台。
- 在导航窗格中,选择 Redshift Serverless,然后选择 Serverless 控制面板。
- 选择要为其开启审计日志记录的 Namespace(命名空间)。
- 选择 Security and Encryption(安全和加密)选项卡。
- 对于 Security and Encryption(安全和加密),选择 Edit(编辑)。
- 在 Export these logs(导出这些日志)中,选择要保存在 CloudWatch 中的日志。您可以从以下日志类型中进行选择:用户日志、连接日志和用户活动日志。
- 选择 Save changes(保存更改)。
注意: Amazon Redshift Serverless 无法将日志导出到 Amazon S3 桶。
有关监控审计日志的更多信息,请参阅监控 CloudWatch 中的日志事件。
相关信息
数据库审计日志记录
Amazon Redshift Serverless 的审计日志记录