本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon 可视化所有AWS账户的IAM凭证报告 QuickSight
由 Parag Nagwekar (AWS) 和 Arun Chandapillai () 创作 AWS
代码存储库:让您的IAM证书报告在全组织范围内可见 | 环境:生产 | 技术:分析、建议、管理和治理、安全、身份、合规性 |
工作负载:所有其他工作负载 | AWS服务:亚马逊 Athena;;亚马逊 AWS CloudFormation;Identity and Access Man AWS agement; EventBridge亚马逊 QuickSight |
Summary
警告:IAM用户拥有长期凭证,这会带来安全风险。为帮助减轻这种风险,我们建议仅向这些用户提供执行任务所需的权限,并在不再需要这些用户时将其移除。 |
您可以使用 AWS Identity and Access Management (IAM) 凭证报告来帮助您满足组织的安全、审计和合规要求。凭据报告提供您AWS账户中所有用户的列表,并显示其凭据的状态,例如密码、访问密钥和多重身份验证 (MFA) 设备。您可以为由 Organizations 管理的多个AWS账户使用凭证报告AWS。
此模式包括帮助您使用 Amazon QuickSight 控制面板创建和共享组织中所有AWS账户的IAM证书报告的步骤和代码。您可以与组织中的利益相关者共享控制面板。这些报告可帮助您的组织实现以下目标业务成果:
识别与IAM用户相关的安全事件
跟踪IAM用户向单点登录 (SSO) 身份验证的实时迁移
追踪IAM用户访问的AWS区域
保持合规
与其他利益相关者共享信息
先决条件和限制
先决条件
架构
技术堆栈
Amazon Athena
Amazon EventBridge
Amazon QuickSight
Amazon Simple Storage Service (Amazon S3)
AWSGlue
AWSIdentity and Access Management (IAM)
AWSLambda
AWS组织
目标架构
下图显示了一种架构,用于设置从多个AWS账户捕获IAM凭证报告数据的工作流程。
EventBridge 每天调用 Lambda 函数。
Lambda 函数在整个组织的每个AWS账户中IAM扮演一个角色。然后,该函数创建IAM凭证报告并将报告数据存储在集中的 S3 存储桶中。必须在 S3 存储桶上启用加密,并停用公共访问。
AWSGlue 爬虫每天都会爬取 S3 存储桶,并相应地更新 Athena 表。
QuickSight 导入和分析证书报告中的数据,并构建一个可由利益相关者可视化并与其共享的仪表板。
工具
AWS服务
Amazon Athena 是一项交互式查询服务,可使用标准工具轻松分析 Amazon S3 中的数据。SQL
Amazon EventBridge 是一项无服务器事件总线服务,可帮助您将应用程序与来自各种来源的实时数据连接起来。例如,Lambda 函数、使用API目标的HTTP调用终端节点或其他账户中的事件总线。AWS
Amazon QuickSight 是一项云规模的商业智能 (BI) 服务,可帮助您在单个控制面板中可视化、分析和报告数据。
AWSIdentity and Access Management (IAM) 通过控制谁经过身份验证并有权使用AWS资源,从而帮助您安全地管理对资源的访问权限。
AWSLambda 是一项计算服务,可帮助您运行代码,而无需预置或管理服务器。它仅在需要时运行您的代码,并且能自动扩缩,因此您只需为使用的计算时间付费。
代码
此模式的代码可在 GitHub getiamcredsreport-allaccounts-org
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
设置亚马逊 QuickSight 企业版。 |
| AWS管理员、AWS DevOps、云管理员、云架构师 |
将亚马逊 QuickSight 与亚马逊 S3 和 Athena 集成。 | 在部署堆栈之前,您必须授权QuickSight 才能使用 Amazon S3 和 Athena。AWS CloudFormation | AWS管理员、AWS DevOps、云管理员、云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
克隆 GitHub 存储库。 |
| AWS管理员 |
部署基础设施。 |
| AWS管理员 |
创建IAM权限策略。 | 为组织中的每个AWS账户@@ 创建具有以下权限的IAM策略:
| AWS DevOps、云管理员、云架构师、数据工程师 |
使用信任策略创建IAM角色。 |
重要:请 注意:Organizations 通常使用自动化为其AWS账户创建IAM角色。建议您使用此自动化技术(如有)。或者,您可以使用代码存储库中的 | 云管理员、云架构师、AWS管理员 |
将 Amazon 配置 QuickSight 为可视化数据。 | AWS DevOps、云管理员、云架构师、数据工程师 |
其他信息
其他注意事项
请考虑以下事项:
在您使用 CloudFormation 部署基础设施后,您可以等待在 Amazon S3 中创建并由 Athena 分析的报告,直到 AWS Lambda 和 Glue 按计划运行。或者,您可以手动运行 Lambda 在 Amazon S3 中获取报告,然后运行 G AWS lue 爬虫以获取根据数据创建的 Athena 表。
QuickSight 是一款根据您的业务需求分析和可视化数据的强大工具。您可以使用中的参数根据您选择的数据字段 QuickSight 来控制小组件数据。此外,您还可以使用 QuickSight 分析从数据集中创建参数(例如,账户、日期和用户字段,
user
分别为partition_0
partition_1
、和),以添加帐户、日期和用户的参数控件。要创建自己的 QuickSight 仪表板,请参阅 Works QuickSight h
op Studio 网站上的AWS研讨会。 要查看示例 QuickSight 仪表板,请参阅 GitHub getiamcredsreport-allaccounts-org
代码存储库。
目标业务成果
您可以使用此模式来实现以下目标业务成果:
识别与IAM用户相关的安全事件 — 使用单一管理面板调查组织中每个AWS账户的每个用户。您可以跟踪IAM用户最近访问的各个AWS区域的趋势以及他们使用的服务。
跟踪IAM用户向SSO身份验证的实时迁移-通过使用SSO,用户可以使用单个凭据登录一次并访问多个AWS帐户和应用程序。如果您计划将IAM用户迁移到SSO,则此模式可以帮助您过渡到SSO并跟踪所有AWS账户的所有IAM用户凭据使用情况(例如访问AWS管理控制台或访问密钥的使用情况)。
跟踪IAM用户访问的AWS区域-您可以出于各种目的控制IAM用户对区域的访问权限,例如数据主权和成本控制。您还可以跟踪任何IAM用户对区域的使用情况。
保持合规性-遵循最低权限原则,您只能授予执行特定任务所需的特定IAM权限。此外,您还可以跟踪AWS服务的访问权限、AWS管理控制台和证书的长期使用情况。
与其他利益相关者共享信息-您可以与其他利益相关者共享精心策划的仪表板,而无需授予他们访问IAM凭证报告或AWS帐户的权限。