p } ?>


如何 Eightfold AI 在多租户数据分析环境中使用 Amazon Redshift 实施元数

Eightfold AI 在 Amazon Redshift 中实现多租户数据分析环境的元数据安全

作者:Arun Sudhir、Rohit Bansal 和 Anjali Vijayakumar发表于:2023 年 11 月 29 日

文章重点:

Key Takeaways

Eightfold AI 利用 Amazon Redshift 实现元数据安全,为其拥有的多租户数据分析平台加强数据保护。实施了查看权限控制,确保每个租户仅能访问自己的数据目录。透过使用 Amazon Redshift 的最新元数据安全功能,Eightfold 增强了用户的数据隐私与安全信心。

Eightfold AI 正在通过提供解决方案来改变工作世界,旨在帮助组织招募和留住多元化的全球人才。作为人工智能产品的领导者,Eightfold 提供了一个 AI 平台,帮助企业根据其员工的现有技能进行建设。

Eightfold 的人才智能平台 筹备了 Amazon Redshift 和 Amazon QuickSight,提供了充分的分析平台。这一平台不仅可以实现对人才招聘、人才管理流程的分析,还支持客户自定义仪表板。这个平台让客户可以访问基于 Amazon Redshift 的数据仓库,并进行即时查询或排程查询以便报告数据导出。客户如果拥有内部分析基础设施,还可以通过对接为其配置的 Redshift 数据仓库来整合自己的分析解决方案。

Eightfold 的数据安全承诺

Eightfold 目前为数百位客户提供这种分析体验,数据安全是其首要任务。在使用 Amazon Redshift 实施多租户分析平台时,Eightfold 要求保持最高的安全标准。

Eightfold 的人才智能平台集成了 Amazon Redshift 的元数据安全功能,实现了数据目录的可视化,允许用户仅查看对应于其权限的数据库、架构、表、视图、存储过程及函数的名称。

本文将讨论 Eightfold 人才湖系统团队如何在其多租户环境中实现 Redshift 元数据安全特性,以启用数据目录的访问控制。通过将访问与企业定义的权限联系起来,Eightfold 能够执行数据访问策略。

多租户应用的特性要求

Eightfold 团队需要开发一个多租户应用,需具备以下功能:

按租户强制执行 Amazon Redshift 对象的可视性,确保每个租户仅能查看和访问自己的架构。实施租户隔离和安全,以便租户只能看到和与自己的数据和对象进行交互。

Amazon Redshift 的元数据安全

Amazon Redshift 是一个完全管理的,具备 PB 级规模的云端数据仓库服务。许多客户已经使用 Amazon Redshift 来支持多租户应用。然而,在多租户环境中,一个挑战是数据库对象对所有租户可见,即使租户仅被授权访问特定对象。这种可视性造成了数据隐私挑战,许多客户希望隐藏无法访问的对象。

Amazon Redshift 刚推出的元数据安全功能,使您能够隐藏数据库对象,只有授权的租户才能访问。租户可以使用 SQL 工具、仪表板或报告工具查询数据库目录,但仅会显示其具有查看权限的对象。

解决方案概述

作为 Eightfold 人才湖计划的一部分,向所有客户公开 Redshift 端点涉及多个设计选择。Eightfold 拥有一个多租户的 Redshift 数据仓库,每个客户都有自己的数据架构,可以使用各自的凭据登录并执行查询。每位客户的数据仅限于他们的凭据可访问的架构。客户可以访问以其名称命名的分析架构,例如,对于客户 A,其架构名称为 Aanalytics。

以下图表展示了这一架构:

尽管客户数据受到限制访问的保护,但当客户使用如 QuickSight、Microsoft Power BI 或 Tableau 等商业智能BI工具访问数据时,初始连接时仍会显示所有客户架构,因为它在执行目录查询无法限制。因此,Eightfold 的客户对于其他客户可能通过尝试连接到 Talent Lake 知道他们是八重的客户表示担忧。这种不受限制的数据库目录访问对多位 Eightfold 客户来说造成了隐私问题。

以下截图展示了启用元数据安全之前,QuickSight 连接到我们的数据仓库的情况。所有其他客户架构都显示出来,即便连接到 QuickSight 的用户为 customerkuser。

免费加速器试用一小时

实施元数据访问控制的方法

为了实现受限制的目录访问并确保其适用于 Talent Lake,团队复制了生产数据仓库并启用了 Redshift 数据仓库中的元数据安全标记,然后从 BI 工具如 QuickSight、Microsoft Power BI 和 Tableau 进行连接,确认只有客户架构出现在目录查询结果中。还进行了在 psql 中执行目录查询的测试,以确保仅显示客户架构对象这对于验证指定租户是否有权直接访问 Redshift 数据仓库非常重要。

在我们的 Redshift 数据仓库中启用元数据安全功能的步骤是使用 SQL 工具或 Amazon Redshift Query Editor v20 连接,并执行如下命令:

sqlALTER SYSTEM SET metadatasecurity = TRUE

请注意,此命令是在 Redshift 丛集或 Redshift Serverless 端点级别设置的,适用于丛集或端点中的所有数据库和架构。

在 Eightfold 的场景中,已为每个租户的数据库对象设置了访问控制。

开启 Amazon Redshift 的元数据安全功能后,Eightfold 能够限制数据库目录访问,仅显示尝试连接到 Amazon Redshift 的各个客户的个别架构,并通过发出目录查询进一步验证。

我们还测试了通过 psql 连接,执行各种目录查询。所有查询的结果仅显示登录用户的相关客户架构。以下是一些示例:

sqlanalytics=gt select from pguser usename usesysid usecreatedb usesuper usecatupd passwd valuntil useconfig customerkuser 377 f f f (1 row)

analytics=gt select from informationschemaschemata catalogname schemaname schemaowner defaultcharactersetcatalog defaultcharactersetschema defaultcharactersetname sqlpath analytics customerkanalytics customerkuser (1 row)

以下截图在启用元数据安全后的用户界面显示:当以 customerkuser 连接到 Redshift 数据库时,只显示 customerkanalytics。

这一措施保护了个别客户的隐私,增强了客户对 Eightfold Talent Lake 的信心。

客户反馈

“作为一个以人工智能为优先的平台,客户能够招募和培养人才的潜力。数据和分析在 Eightfold 平台提供的价值中扮演著重要角色。我们依赖 Amazon Redshift 作为一个支持数据隐私与安全的多租户数据仓库,透过架构实现数据隔离。除了数据始终保持安全之外,我们还叠加了 Redshift 的新元数据访问控制,以确保客户的架构对其他客户不可见。这一功能确实让 Redshift 成为理想的多租户、高效、安全的数据仓库,并让我们有信心不同于竞争对手的提供。”

如何 Eightfold AI 在多租户数据分析环境中使用 Amazon Redshift 实施元数

Sivasankaran Chandrasekar Eightfold AI 数据平台工程副总裁

结论

在这篇文章中,我们展示了 Eightfold 人才智能平台团队如何利用 Amazon Redshift 的元数据安全功能来实现多租户环境,为数百位客户提供服务。欲了解更多关于元数据安全的信息,请参考 Amazon Redshift 文档。

尝试将元数据安全功能应用于您未来的 Amazon Redshift 实施中,并随时分享您的体验与反馈!

关于作者

Arun Sudhir 是 Eightfold AI 的资深软件工程师,拥有超过 15 年在公司如 Microsoft 和 AWS 的后端软件系统设计和开发经验,对 Amazon Aurora PostgreSQL 和 Amazon Redshift 等数据库引擎有深入了解。

Rohit Bansal 是 AWS 的分析专家解决方案架构师,专注于 Amazon Redshift,并与客户合作构建下一代使用 AWS 分析服务的分析解决方案。

Anjali Vijayakumar 是 AWS 的高级解决方案架构师,专注于教育技术。她热衷于帮助客户在云端建立良好架构的解决方案。

加载评论