使用 AWS Config 监控亚马逊 Redshift 安全配置 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS Config 监控亚马逊 Redshift 安全配置

由 Lucas Kauffman (AWS) 和 abhishek sengar () 创作 AWS

摘要

使用 AWS Config,您可以评估AWS资源的安全配置。 AWSConfig 可以监控资源,如果配置设置违反了您定义的规则,AWSConfig 会将该资源标记为不合规

您可以使用 AWS Config 来评估和监控您的 Amazon Redshift 集群和数据库。有关安全建议和功能的更多信息,请参阅 Amazon Redshift 中的安全性。此模式包括 Config AWS 的自定义 AWS Lambda 规则。您可以在您的账户中部署这些规则,以监控 Amazon Redshift 集群和数据库的安全配置。此模式中的规则可帮助您使用 AWS Config 来确认:

  • 已为 Amazon Redshift 集群中的数据库启用了审计日志记录

  • SSL是连接亚马逊 Redshift 集群所必需的

  • 正在使用联邦信息处理标准 (FIPS) 密码

  • Amazon Redshift 集群中的数据库已加密

  • 用户活动监控已启用

先决条件和限制

先决条件

产品版本

  • Python 版本 3.9 或更高版本

架构

目标技术堆栈

  • AWS Config

目标架构

目标架构中的操作顺序
  1. AWSConfig 会定期运行自定义规则。

  2. 自定义规则调用 Lambda 函数。

  3. Lambda 函数会检查 Amazon Redshift 集群中是否存在不合规的配置。

  4. Lambda 函数向 Config 报告每个 Amazon Redshift 集群的合规状态。AWS

自动化和扩缩

AWSConfig 自定义规则可扩展以评估您账户中的所有 Amazon Redshift 集群。无需采取任何其他操作即可扩展此解决方案。

工具

AWS 服务

  • AWSConfig 提供了您AWS账户中的资源及其配置方式的详细视图。它可以帮助您确定资源之间的关联方式,以及它们的配置如何随时间变化。

  • AWSIdentity and Access Management (IAM) 通过控制谁经过身份验证并有权使用AWS资源,从而帮助您安全地管理对资源的访问权限。

  • AWSLambda 是一项计算服务,可帮助您运行代码,而无需预置或管理服务器。它仅在需要时运行您的代码,并且能自动扩缩,因此您只需为使用的计算时间付费。

  • Amazon Redshift 是一项托管的 PB 级云端数据仓库服务。AWS

代码存储库

此模式的代码可在 GitHub aws-config-rules存储库中找到。此存储库中的自定义规则是采用 Python 编程语言的 Lambda 规则。此存储库包含许多 AWS Config 的自定义规则。此模式中仅使用以下规则:

  • REDSHIFT_AUDIT_ENABLED — 确认已在 Amazon Redshift 集群上启用了审核日志记录。如果您还想确认已启用用户活动监控,请改为部署 REDSHIFT_USER_ACTIVITY_MONITORING_ENABLED 规则。

  • REDSHIFT_SSL_REQUIRED— 确认SSL这是连接亚马逊 Redshift 集群所必需的。如果您还想确认是否正在使用联邦信息处理标准 (FIPS) 密码,请改为部署该REDSHIFT_FIPS_REQUIRED规则。

  • REDSHIFT_FIPS_REQUIRED— 确认SSL这是必需的,并且FIPS密码正在使用中。

  • REDSHIFT_DB_ENCRYPTED — 确认 Amazon Redshift 集群中的数据库已加密。

  • REDSHIFT_USER_ACTIVITY_MONITORING_ENABLED — 确认已启用审核日志记录和用户活动监控。

操作说明

任务描述所需技能

配置IAM策略。

  1. 创建IAM基于身份的自定义策略,允许 Lambda 执行角色读取 Amazon Redshift 集群配置。有关更多信息,请参阅管理资源访问权限(Amazon Redshift 文档)和创建IAM策略(IAM文档)。

    {     "Version": "2012-10-17",     "Statement": [       {         "Effect": "Allow",         "Action": [             "redshift:DescribeClusterParameterGroups",             "redshift:DescribeClusterParameters",             "redshift:DescribeClusters",             "redshift:DescribeClusterSecurityGroups",             "redshift:DescribeClusterSnapshots",             "redshift:DescribeClusterSubnetGroups",             "redshift:DescribeEventSubscriptions",             "redshift:DescribeLoggingStatus"         ],         "Resource": "*"       }     ] }
  2. AWSLambdaExecuteAWSConfigRulesExecutionRole托管策略分配为 Lambda 执行角色的权限策略。有关说明,请参阅添加IAM身份权限(IAM文档)。

AWS 管理员

克隆存储库。

在 Bash Shell 中,运行以下命令。这将从中克隆aws-config-rules存储库。 GitHub

git clone https://github.com/awslabs/aws-config-rules.git
将军 AWS
任务描述所需技能

在 AWS Config 中部署规则。

按照创建自定义 Lambda 规则(Confi AWS g 文档)中的说明,在您的账户中部署以下一条或多条规则:

  • REDSHIFT_AUDIT_ENABLED

  • REDSHIFT_SSL_REQUIRED

  • REDSHIFT_FIPS_REQUIRED

  • REDSHIFT_DB_ENCRYPTED

  • REDSHIFT_USER_ACTIVITY_MONITORING_ENABLED

AWS 管理员

验证规则是否有效。

部署规则后,请按照评估您的资源(AWS配置文档)中的说明进行操作,以确认 Confi AWS g 正在正确评估您的 Amazon Redshift 资源。

将军 AWS

相关资源

AWS服务文档

AWS Prescriptive Guidance

其他信息

您可以在 AWS Config 中使用以下AWS托管规则来确认 Amazon Redshift 的以下安全配置: