案例中心

使用 AWS Lake Formation 和 AWS IAM 身份中心应用企业数据治理和管理 大数

2026-01-27 12:55:51
22次

利用 AWS Lake Formation 和 AWS IAM 身份中心实施企业数据治理和管理

作者 Manjit Chakraborty、Neeraj Roy、Evren Sen发布日期 2024 年 9 月 26 日分类 数据分析、AWS IAM 身份中心、AWS Lake Formation、中级 (200)永久连结 评论

主要要点

在当前快速发展的数字化环境中,受监管行业的企业面临著在数字转型过程中有效管理和治理遗留系统数据的挑战。这些数据常含有有价值的见解,且必须遵循严格的合规要求。因此,企业需采用 AWS Lake Formation 和 AWS IAM 身份中心的解决方案进行数据治理,以保障数据安全,并根据现有用户授权提供无缝访问。

在这篇文章中,我们探讨了如何使用 AWS Lake Formation 和 AWS IAM 身份中心来解决在数字转型过程中管理和治理遗留数据的挑战。我们将展示如何有效保护历史数据,同时强调合规性和用户授权。本解决方案可以帮助企业维持健全的审计追踪、强制治理控制并提供安全的角色基于访问数据的方式。

解决方案概述

这是一个全面的基于 AWS 的解决方案,旨在解决数字转型过程中管理和治理遗留数据的复杂挑战。

在这篇博文中,我们引入三个不同角色:

数据湖管理员具有管理级别的访问权限数据工程组的用户 Silver审计组的用户 Lead Auditor

我们将演示不同角色如何在不更改现有企业授权的情况下访问数据。

一元机场app下载

注意 大多数步骤由数据湖管理员执行,除非特别提到其他联邦/用户登录。如果文中提到“您”需要执行某步骤,则假设您是具有管理级别访问权限的数据湖管理员。

在这个解决方案中,您需将历史数据移至 Amazon S3,并利用 Lake Formation 应用数据治理。以下图表说明了整体解决方案的结构。

使用 AWS Lake Formation 和 AWS IAM 身份中心应用企业数据治理和管理 大数

工作流程步骤如下:

您将使用 IAM 身份中心通过 权限集应用精细的访问控制。您可以将 IAM 身份中心与外部企业身份提供者IdP集成。在这篇博文中,我们使用 Microsoft Entra ID 作为 IdP,但您也可以选择其他外部 IdP,如 Okta。

数据接收过程通过 AWS 数据库迁移服务 (AWS DMS) 进行高效的数据转移,并通过 AWS Glue 进行数据清理和编目,这样能强化数据接入和管理的流程。

您将使用 AWS LakeFormation 在转型过程中保留现有的授权。这确保了企业员工在新数据存储中的适当访问权限。

用户角色 Silver 和 Lead Auditor 可以使用其现有的 IdP 凭证安全访问数据,实现联邦访问。

对于分析, Amazon Athena 提供无伺服器的查询引擎,使用户能够轻松探索和分析摄入的数据。Athena 工作组进一步增强了安全性和治理,将用户、团队、应用程序或工作负载隔离为逻辑组。

接下来的部分将介绍如何配置不同组的访问管理,并演示这些组如何使用 Lake Formation 中授权的权限访问数据。

前提条件

要跟随本博文进行操作,您应该具备以下条件:

一个启用 IAM 身份中心的 AWS 账户。详情请参见 启用 AWS IAM 身份中心。在 IAM 身份中心设置 Entra ID 作为 外部 IdP。在本篇中,我们使用 Entra ID 中的用户和组。我们已创建了两个组:Data Engineering 和 Auditor。用户 Silver 属于 Data Engineering 组,Lead Auditor 属于 Auditor 组。

使用 IAM 身份中心配置身份和访问管理

Entra ID 会自动将在 Entra ID 中创建的用户和组同步到 IAM 身份中心。您可以查看 IAM 身份中心控制台中的 组 页面,以确认这一点。以下截图显示了在 Entra ID 中创建的 Data Engineering 组。

如果您导航到 IAM 身份中心中的 Data Engineering 组,您应该会看到用户 Silver。类似地,Auditor 组下有用户 Lead Auditor。

接下来,您需要创建一个权限集,以使它与您在 IAM 身份中心中定义的工作角色一致,确保员工在您为用户定义的许可范围内操作。

在 IAM 身份中心控制台中,选择导航面板中的 权限集。点击 创建权限集。选择 自定义权限集,然后点击 下一步。在下一个屏幕中,您需要提供权限集的详细信息。

为权限集提供一个名称在本篇中使用 DataEngineer。其余选项保持默认值。

为加强安全控制,将此处描述的 内联策略 附加至 DataEngineer 权限集,限制用户对特定 Athena 工作组的访问。这一额外的访问管理层确保用户仅能在指定工作组内运行,防止未经授权的敏感数据或资源访问。

在本篇中,我们为数据工程和审计人员使用不同的 Athena 工作组。请选择一个有意义的工作组名称例如,本篇使用的 DataEngineer,然后在下面的代码中提供与您 AWS 账户相关的 AWS 区域和账号编号。

jsonarnawsathenaltregiongtltyouraccountnumbergtworkgroup/DataEngineer

编辑 DataEngineer 权限集的内联策略。复制并粘贴以下 JSON 策略文本,并根据建议替换 arn 中的参数,然后保存政策。

json{ Version 20121017 Statement [ { Effect Allow Action [ athenaListEngineVersions athenaListWorkGroups athenaListDataCatalogs athenaListDatabases athenaGetDatabase athenaListTableMetadata athenaGetTableMetadata ] Resource } { Effect Allow Action [ athenaBatchGetQueryExecution athenaGetQueryExecution athenaListQueryExecutions athenaStartQueryExecution athenaStopQueryExecution athenaGetQueryResults athenaGetQueryResultsStream athenaCreateNamedQuery athenaGetNamedQuery athenaBatchGetNamedQuery athenaListNamedQueries athenaDeleteNamedQuery athenaCreatePreparedStatement athenaGetPreparedStatement athenaListPreparedStatements athenaUpdatePreparedStatement athenaDeletePreparedStatement athenaUpdateNamedQuery athenaUpdateWorkGroup athenaGetWorkGroup athenaCreateWorkGroup ] Resource [ arnawsathenaltregiongtltyouraccountnumbergtworkgroup/DataEngineer ] } { Sid BaseGluePermissions Effect Allow Action [ glueCreateDatabase glueDeleteDatabase glueGetDatabase glueGetDatabases glueUpdateDatabase glueCreateTable glueDeleteTable glueBatchDeleteTable glueUpdateTable glueGetTable glueGetTables glueBatchCreatePartition glueCreatePartition glueDeletePartition glueBatchDeletePartition glueUpdatePartition glueGetPartition glueGetPartitions glueBatchGetPartition glueStartColumnStatisticsTaskRun glueGetColumnStatisticsTaskRun glueGetColumnStatisticsTaskRuns ] Resource [ ] } { Sid BaseQueryResultsPermissions Effect Allow Action [ s3GetBucketLocation s3GetObject s3ListBucket s3ListBucketMultipartUploads s3ListMultipartUploadParts s3AbortMultipartUpload s3CreateBucket s3PutObject s3PutBucketPublicAccessBlock ] Resource [ arnawss3awsathenaqueryresultsDataEngineer ] } { Sid BaseSNSPermissions Effect Allow Action [ snsListTopics snsGetTopicAttributes ] Resource [ ] } { Sid BaseCloudWatchPermissions Effect Allow Action [ cloudwatchPutMetricAlarm cloudwatchDescribeAlarms cloudwatchDeleteAlarms cloudwatchGetMetricData ] Resource [ ] } { Sid BaseLakeFormationPermissions Effect Allow Action [ lakeformationGetDataAccess ] Resource [ ] } ]}

上述内联策略将限制任何映射到 DataEngineer 权限集的用户仅能访问 DataEngineer 工作组。在持有此权限集的用户将无法访问任何其他 Athena 工作组。

接下来,您将 DataEngineer 权限集分配给 IAM 身份中心中的数据工程组。

在导航面板中选择 AWS 账户,然后选择 AWS 账户在本篇中为 workshopsandbox。

选择 分配用户和组 以选择您的组和权限集。从 组 列表中选择 Data Engineering,然后选择 下一步。选择权限集 DataEngineer,然后选择 下一步。最后 审查 和 提交。

按照上述步骤创建另一个名为 Auditor 的权限集。

使用与之前相似的内联策略来限制 Auditor 的特定 Athena 工作组的访问。将 Auditor 权限集分配给 Auditor 组。

这完成了解决方案的第一部分。接下来,我们将创建数据接收和处理的管道。

创建数据接收和处理管道

在此步骤中,您需要创建一个源数据库并将数据移至 Amazon S3。尽管企业数据通常位于本地,但在这篇中,我们将在不同的虚拟私有云 (VPC) 中创建一个 Amazon Relational Database Service (Amazon RDS) for Oracle 实例以模拟企业设置。

创建一个 RDS for Oracle DB 实例并填充示例数据。对于本篇,我们使用的是 HR 架构,该架构可以在 Oracle 数据库示例架构 中找到。

在 AWS DMS 中创建源和目标端点:

源端点 demosourcedb 指向 Oracle 实例。目标端点 demotargetdb 是存放关系数据库的 Amazon S3 位置,格式为 Apache Parquet。

源数据库端点将具备连接到 RDS for Oracle DB 实例所需的配置,如下截图所示:

S3 目标端点将包含 S3 存储桶名称和文件夹,该位置将存放关系数据库。额外的连接属性,如 DataFormat,可在端点设置选项卡中提供。以下截图显示了 demotargetdb 的配置。

将 DataFormat 设置为 Parquet,以便存储在 S3 存储桶中的数据。企业用户可以利用 Athena 查询 Parquet 格式的数据。![Parquet 格式设置](https//d2908q01vom

本文网址: https://www.qnzmw.com/works/6.html
 Copyright © 一元加速器(中国)官方网站|一元加速器 2024 版权所有 All rights reserved 加速器ios