p } ?>
作者:Arun Sudhir、Rohit Bansal 和 Anjali Vijayakumar发表于:2023 年 11 月 29 日
文章重点:
Eightfold AI 正在通过提供解决方案来改变工作世界,旨在帮助组织招募和留住多元化的全球人才。作为人工智能产品的领导者,Eightfold 提供了一个 AI 平台,帮助企业根据其员工的现有技能进行建设。
Eightfold 的人才智能平台 筹备了 Amazon Redshift 和 Amazon QuickSight,提供了充分的分析平台。这一平台不仅可以实现对人才招聘、人才管理流程的分析,还支持客户自定义仪表板。这个平台让客户可以访问基于 Amazon Redshift 的数据仓库,并进行即时查询或排程查询以便报告数据导出。客户如果拥有内部分析基础设施,还可以通过对接为其配置的 Redshift 数据仓库来整合自己的分析解决方案。
Eightfold 目前为数百位客户提供这种分析体验,数据安全是其首要任务。在使用 Amazon Redshift 实施多租户分析平台时,Eightfold 要求保持最高的安全标准。
Eightfold 的人才智能平台集成了 Amazon Redshift 的元数据安全功能,实现了数据目录的可视化,允许用户仅查看对应于其权限的数据库、架构、表、视图、存储过程及函数的名称。
本文将讨论 Eightfold 人才湖系统团队如何在其多租户环境中实现 Redshift 元数据安全特性,以启用数据目录的访问控制。通过将访问与企业定义的权限联系起来,Eightfold 能够执行数据访问策略。
Eightfold 团队需要开发一个多租户应用,需具备以下功能:
按租户强制执行 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 成为理想的多租户、高效、安全的数据仓库,并让我们有信心不同于竞争对手的提供。”

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 的高级解决方案架构师,专注于教育技术。她热衷于帮助客户在云端建立良好架构的解决方案。
加载评论