云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

分布式数据库_学生购买阿里云服务器_好用

小七 141 0

Databricks IAM Credential Passthrough如何解决常见的数据授权问题

在我们的第一篇博文中,我们介绍了Databricks IAM Credential Passthrough,它是客户管理对其数据访问的一种安全、方便的方式。在本文中,我们将更深入地了解passthrough与其他身份和访问管理(IAM)系统的比较。如果您不熟悉passthrough,我们建议您在继续阅读这篇文章之前先阅读第一篇文章。一个好的云IAM系统的特性当我们的客户选择一个系统来管理其用户访问云数据的方式时,他们会寻找以下常见属性集:安全性:用户应该只能访问他们被授权访问的数据。属性:管理员应该能够跟踪发起数据访问的用户的数据访问,并审计历史访问。此审核应该是可信的:用户不应该能够删除或修改审核日志。易于管理:较大的组织通常很少有人员管理IAM系统,有数百个非管理员用户,如数据科学家、分析师和数据工程师。非管理员用户可能有几十个权限(例如,"访问PII用户数据"、"写入日志管道表"、"读取销售汇总表")。效率:系统应尽可能具有成本效益。资源应该在用户之间共享,而不是无所事事。在这篇博文中,我们将探讨一些常见的云IAM系统,以及它们如何实现这些特性。最后,我们将探讨Databricks IAM Credential Passthrough,以及它如何在不牺牲易管理性或效率的情况下实现安全性和属性。次优系统1:每个授权一个EC2实例我们的AWS客户通常使用IAM实例概要文件来表示授权:他们将有一个实例概要文件来访问特定客户的所有数据,另一个实例概要文件用于读取某类数据,等等。用户可以通过在附加了相关实例概要文件的awsec2实例上运行代码来获得对某些数据的权限。因为每个awsec2实例只能被赋予一个实例概要文件,所以我们看到的最常见的解决方案之一是为客户在其系统中的每个授权启动一个单独的EC2实例。然后,管理团队负责确保用户只能访问具有适当权限的集群。次优系统1:每个授权一个EC2实例次优系统1:每个授权安全一个EC2实例-这个系统的主要好处是它是直接安全的。只要管理团队正确地将用户映射到EC2实例,每个用户就可以访问正确的授权集。属性–此系统不允许将属性分配给用户。因为给定EC2实例上的所有用户共享相同的实例概要文件,所以云本地审计日志(如awscloudtrail)只能对实例进行属性访问,而不能对实例上运行代码的用户进行属性访问。易于管理-只要用户和授权的数量仍然很小,此系统易于管理。然而,随着组织规模的扩大,管理变得越来越困难:管理员需要确保每个用户只访问具有正确实例配置文件的EC2实例,如果实例配置文件不能干净地映射到管理员的身份管理系统(如LDAP或Active)中的策略,则可能需要手动管理目录)。效率–此系统需要为每个权限提供一个单独的EC2实例,随着组织的权限模型变得更加复杂,这将很快变得昂贵。如果只有少数用户拥有特定的权限,则该EC2实例将要么在一天中大部分时间处于空闲状态(增加成本),要么必须根据其用户的工作进度停止并启动(增加管理开销并减慢用户速度)。因为Apache Spark™ 将工作分布在需要相同实例配置文件的实例集群中,空闲集群的成本可能会变得相当大。次优系统2:不同权限级别的用户共享一个EC2实例由于"每个授权一个实例"系统的缺点,我们的许多客户决定在具有不同权限的多个用户之间共享EC2实例。这些组织允许每个用户在实例的本地配置中对其特定的凭据(以用户名和密码或AWS访问密钥和密钥而不是实例概要文件的形式)进行编码。管理团队为每个用户分配其凭据,并信任用户安全地管理它们。次优系统2:硬编码凭证安全性-这个系统的缺点是它通常不安全。除了用户彼此共享其凭据或通过某些全局配置意外暴露其凭据的明显问题外,此系统中还隐藏着一些更微妙的安全漏洞。用户可以使用实例的共享文件系统访问其他用户收集到实例本地磁盘的数据。一旦数据在本地磁盘上,AWS IAM就无法保护数据。用户可以检查其数据处理工具的内存状态,以提取其他用户的凭据。例如,用户可以转储另一个用户进程的内存,或者使用Java反射(对于基于JVM的工具)来抓取JVM的对象图并提取包含另一个用户凭据的对象。用户可以欺骗他们的数据处理工具使用其他用户的凭据执行数据访问。大多数数据处理工具(包括Spark)都没有针对共享同一引擎的相互不信任的用户进行强化。即使一个用户不能直接读取另一个用户的凭据,他们通常也可以使用自己的工具来模拟另一个用户。属性-理论上,这个系统提供了每个用户的属性:由于每个用户都使用自己的凭证,云访问日志应该能够将每个访问属性分配给一个用户。然而,在实践中,由于上述安全漏洞,这种属性是不可信的。可以确定给定用户的凭据用于访问数据,但无法确认哪个用户正在使用这些凭据。易于管理–乍一看,这个系统很容易管理:只需给用户提供他们所需的凭据的访问权限,他们就可以将这些凭据添加到他们正在使用的实例上。不过,我们最终发现,大多数管理员已经厌倦了必须轮换某些用户无意中向其EC2实例上的所有人公开的凭据。效率——这个系统的主要好处是它是有成本效益的,尽管它是以安全为代价的。用户可以准确地共享所需的实例数量,并且实例的利用率很高。我们的系统:Databricks IAM凭证传递Databricks IAM Credential Passthrough允许具有不同权限的用户共享单个EC2实例,而不会有向其他用户公开其凭据的风险。这将系统1的安全性和系统2的效率结合起来,实现了比任何一个系统更好的属性和更容易的管理。有关Passthrough工作原理的概述,请参阅我们的第一篇博客文章。IAM凭据传递安全性——任何在拥有不同权限的用户之间共享一个执行引擎的系统都必须防御一长串微妙的安全漏洞。通过与Apache SparkTM的内部紧密集成,Passthrough避免了以下常见的陷阱:它锁定实例的本地文件系统,以防止用户访问其他用户下载的数据,并在用户定义代码和Spark内部代码之间传输数据时保护数据。它在单独的低权限进程中运行来自不同用户的代码,这些进程只能从预先确定的白名单中运行JVM命令。这可以防止基于反射的攻击和其他不安全的api。它保证用户的凭据只在集群上出现,而该用户正在执行Spark任务。此外,它会在Spark线程的任务完成或被抢占后从Spark线程中清除用户凭据,因此恶意用户无法使用Spark间接访问另一个用户的凭据。属性-因为Passthrough保证每个用户只使用自己的凭据运行命令,所以AWS CloudTrail之类的云本地审计日志将开箱即用。易于管理–Passthrough与我们现有的基于SAML的单点登录功能(link)集成,因此管理员可以在其现有的SAML身份提供程序中为用户分配角色。可以根据组授予或撤消权限,因此使用Passthrough的额外开销最小。效率–因为多个用户可以共享一个集群,所以Passthrough是经济高效的,尤其是当与我们的自动缩放的高并发集群结合时。汇总表解决方案安全归属易于管理效率每个授权一个实例是的否–只能属性到实例否–必须手动维护用户→实例映射否–实例(或集群)通常处于空闲状态共享实例否–用户可以访问彼此的凭据否–用户可以相互模拟否–在用户凭据泄漏时必须轮换是的通过是的是的是的是的结论Databricks IAM Credential Passthrough允许管理员用户使用一个安全、可归属、易于管理和经济高效的系统来管理对其云数据的访问。由于Passthrough与apachespark进行了深度集成,Passthrough允许具有不同凭据的用户共享相同的EC2实例(降低成本),而无需共享他们的凭据(保证安全性和属性)。IAM凭证传递正在进行私人预览;请联系您的Databricks代表以了解更多信息。免费试用Databricks。今天就开始吧