介绍砖AWS我凭据透传
2019年3月26日 在公司博客上
随着越来越多的移动到云计算的分析,客户面临的挑战是如何控制哪些用户可以访问哪些数据。像AWS云提供商提供一组丰富的功能等身份和访问管理(我)我的用户,角色,和政策。这些特性让客户安全管理访问敏感数据。
挑战与云中的身份和访问管理分析
我们看到许多AWS用户试图解决这个挑战使用的组合我的角色和我实例配置文件或硬编码我凭证。客户使用政策控制对数据的访问S3或者其他AWS资源,比如运动,SQS等等。他们然后使用实例配置文件通过我的角色信息EC2实例。这使他们把一个数据访问政策和EC2实例上启动。
有一些挑战和限制这些选项,但是:
- EC2实例只能分配一个单独的实例配置文件。这需要客户运行不同的EC2实例都有不同的角色和访问控制来访问多个数据集,从而增加复杂性和成本
- 是否使用实例配置文件或硬编码我凭证,用户在一个EC2实例共享相同的身份访问资源时,所以用户级访问控制不可能和没有审计跟踪的用户从一个EC2实例访问什么,云路等进行日志记录。
- 实例配置文件和我凭证一定映射到企业身份管理系统的访问策略,如LDAP或活动目录组,需要一套新的总经理权利在不同的系统
为了解决这些局限性,我们看到一些客户转向遗留或云本机工具代理访问S3等云存储。这些工具没有设计时考虑到云存储和在某些情况下可能需要自定义扩展到Apache火花支持有限的格式或表现不佳。这地方额外操作负担客户为了管理一组新的服务和津贴和否定的可伸缩性,低成本,低直接使用S3。砖的客户,这些工具也可能影响砖的可用性和功能我们提供运行时等DBIO和δ。
当我们开始设计一个解决方案,我们的首要任务是整合与AWS的身份和访问提供本地服务。特别是,我们的重点是杠杆AWS联合身份验证和SAML单点登录(SSO)。鉴于砖已经支持SAML SSO,这是最无缝选择在客户集中的数据访问在身份提供者(IdP)和有权利直接传递给砖集群上运行的代码。
- 首先,客户配置之间的信任关系他们的国内流离失所者和AWS帐户为了控制哪些角色用户可以假设的国内流离失所者
- 用户登录数据砖通过SAML SSO,角色通过的国内流离失所者的权利
- 砖调用AWS安全令牌服务(STS)和假定的角色用户通过SAML响应和临时令牌
- 当用户访问S3从集群砖,砖的临时令牌运行时使用的用户执行访问自动和安全
我与砖凭据透传
为了使用我凭证透传,客户之间第一次启用所需的集成他们的国内流离失所者和AWS帐户,必须为砖配置SAML SSO。其余由国内流离失所者和砖直接管理,比如什么角色用户有权限使用AWS的或获取临时令牌。
为了使用联邦角色,一个新的集群配置可以被称为“凭证透传”。
透传在高并发集群可以安全地支持多个用户使用不同的凭证,运行Python和SQL。这些语言,我们可以在一个孤立运行用户代码,低权限过程之外的Java虚拟机,火花执行。Scala, R,或更高级的场景,需要完全控制环境,标准的集群也支持单个用户。
新的API专门为联邦角色可供用户的一部分DBUtils。首先,用户可以通过调用dbutils.credentials.showRoles可用的角色列表
假设一个特定的角色,dbutils.credentials.assumeRole用户调用
从那时起,任何S3访问在这个笔记本将使用所选的角色。如果一个用户没有明确假设一个角色,那么集群将使用列表中的第一个角色。
在某些情况下,用户可能需要分析多个数据集,需要不同的角色。为了使角色选择透明,桶支架可以使用:
dbutils.fs.mount (“s3a://砖- - - - - -演示- - - - - -数据- - - - - -我们- - - - - -东1/数据/敏感的”,”/mnt/敏感的- - - - - -数据”,extra_configs={“fs.s3a。credentialsType”:“自定义”,“fs.s3a.credentialsType。customClass”:“com.databricks.backend.daemon.driver.aws.AwsCredentialContextTokenProvider”,“fs.s3a.stsAssumeRole。在攻击”:“在攻击:aws:我::997123456789:角色/敏感的- - - - - -数据- - - - - -角色”})
dbutils.fs.mount (“s3a://砖- - - - - -演示- - - - - -数据- - - - - -我们- - - - - -东1/数据/人力资源”,”/mnt/人力资源- - - - - -数据”,extra_configs={“fs.s3a。credentialsType”:“自定义”,“fs.s3a.credentialsType。customClass”:“com.databricks.backend.daemon.driver.aws.AwsCredentialContextTokenProvider”,“fs.s3a.stsAssumeRole。在攻击”:“在攻击:aws:我::997123456789:角色/人力资源- - - - - -数据- - - - - -角色”})
定义了桶安装后,用户可以参考DBFS路径无需选择任何角色。不能承担角色的用户指定的挂载点将无法访问挂载点。这也使得加入跨数据集需要不同的角色,让终端用户的无缝体验。
因为联邦角色惟一标识用户,它允许更强大的数据访问控制S3。一个例子是定义“主目录在S3,让用户将数据保存到私人的位置只能通过所有者。这是有可能的,尽管用户可以共享相同的我的角色,甚至相同的集群。
https://www.youtube.com/watch?v=pqi1PgqragM
自认为角色识别个人用户,审核现在可以通过启用S3对象日志记录通过云路。所有S3访问通过攻击将直接绑定到用户在云记录日志。
结论
新的我凭证透传功能,我们引入更多强大的数据访问控制集成平台直接与您的企业身份。bob体育客户端下载它提供无缝的访问控制你的数据不丢失的可靠性、可伸缩性和低成本的S3。与砖处理隔离你仍然可以安全地共享火花集群资源的效率,而无需额外的工具在您的环境中进行管理。你可以放心地让你的分析师、数据科学家,工程师和数据使用砖统一分析平台的强大功能,同时保持你的数据安全!bob体育亚洲版bob体育客户端下载我凭证透传是私下里预览现在,如果你想知道更多请联系砖的代表。