公司动态

AWS 分析服务简化了用户数据访问、权限设置和审计 新闻博客

AWS 分析服务简化了用户数据访问、权限设置和审计 新闻博客

AWS分析服务优化用户数据访问与权限管理

关键要点

新的信任身份传播功能简化了用户在多种分析应用中的登录体验。允许数据所有者根据真实用户身份定义权限,方便审计员验证数据访问情况。借助亚马逊的标准设施,用户不再需要手动选择IAM角色,提升了使用便捷性。

我很高兴地宣布,基于 信任身份传播 的新用例已经推出,这是 AWS IAM身份中心 最近推出的功能。

流行的商业智能BI应用程序 Tableau 现在能够将最终用户身份传递到 Amazon Redshift。这一功能带来了三重好处:简化了最终用户的登录体验,允许数据所有者根据真实的最终用户身份定义访问权限,还能让审计人员验证用户的数据访问情况。

信任身份传播使得消费数据的应用程序例如 Tableau、Amazon QuickSight、Amazon Redshift Query Editor、以及 Amazon EMR Studio 等能够将用户的身份及其组成员身份传递给存储和管理数据访问的服务,如 Amazon Redshift、Amazon Athena、Amazon Simple Storage Service (Amazon S3)、Amazon EMR 等。信任身份传播通过改进多种分析应用间的登录体验,简化了数据访问管理和审计流程,最终用户也无需指定他们希望假设的IAM角色。

在深入细节之前,让我们明确一些术语。

我使用“身份提供者”一词来指代持有用户身份和组成员身份的系统。这些系统会提示用户输入凭证并进行身份验证。例如,Azure Directory、Okta、Ping Identity 等等。查看我们支持的所有身份提供者 的完整列表。

我使用“用户面向的应用程序”来指定消费数据的应用程序,例如 Tableau、Microsoft PowerBI、QuickSight、Amazon Redshift Query Editor 等等。

最后,当我写到“下游服务”时,指的是处理、存储或管理您数据访问的分析引擎和存储服务:Amazon Redshift、Athena、S3、EMR 等。

要理解信任身份传播的好处,我们先来简要了解一下在此之前数据访问是如何被授权的。当用户面向的应用程序访问下游服务的数据时,上游服务要么使用通用凭证如“tableauuser”,要么假设一个IAM角色以进行身份验证。这带来了两个挑战。

首先,这使得下游服务管理员很难为实际用户制定精确的访问策略。从下游服务的角度来看,所有请求都来源于同一个通用用户或IAM角色。如果Jeff和Jane都映射到BusinessAnalytics IAM角色,那么就无法给他们不同的访问级别,例如只读和读写。此外,如果Jeff也属于Finance组,他必须选择一个角色来操作;他不能在同一会话中同时访问两个组的数据。

其次,将数据访问事件与最终用户关联的任务需要进行一些未区分的繁重工作。如果请求来自名为BusinessAnalytics的IAM角色,则需要额外的工作来弄清楚该操作背后是哪位用户。

虽说这个例子看起来很简单,但在实际应用中,组织可能有数百个用户和数千个组需要匹配数百个数据集。我们有机会 发明和简化。

一旦配置完成,新的信任身份传播为用户面向的应用程序提供了一种技术机制,让它们能够代表真正的用户访问数据。了解实际用户身份带来了三个主要优势。

首先,它允许下游服务管理员 基于真实用户身份、他们的组 memberships 或两者的组合来创建和管理访问策略。下游服务管理员现在可以根据用户、组和数据集来分配访问权限。这是我们大多数客户对数据访问自然思考的方式不再需要通过IAM角色实现中间映射。

其次,审计人员现在可以在系统日志中访问 原始用户身份,并验证政策是否正确实施,符合公司或行业的所有要求。

第三,BI应用程序用户可以受益于 不同应用间的单点登录。您的最终用户不再需要理解贵公司的 AWS 账户和 IAM 角色。他们可以使用他们在工作中用于其他很多事情的企业单点登录,简单地登录 EMR Studio例如。

信任身份传播如何工作?信任身份传播依赖于我们行业的标准机制:OAuth2 和 JWT。OAuth2 是一个用于访问委派的开放标准,允许用户将第三方用户面向的应用程序的访问权限授予其他服务下游服务而不暴露其凭证。JWTJSON Web Token是一种紧凑的、URL安全的表示身份和声明的方式,用于在两个方之间传递。JWT是已签名的,这意味着可以验证它们的完整性和真实性。

如何配置信任身份传播配置信任身份传播需要在IAM身份中心、用户面向的应用程序和下游服务进行设置,因为每个应用程序都需要被告知以用户身份工作。虽然每个应用程序的具体配置可能有所不同,但它们都遵循以下模式:

在AWS IAM身份中心中配置身份源。AWS建议如果您的身份提供者支持自动化设置,请启用自动化配置。自动化配置通过 SCIM同步 标准将您的目录用户和组同步到IAM身份中心。如果您当前使用IAM身份中心将员工连接到 AWS管理控制台,那么您可能已经配置好了。这是一次性的配置,您不需要为每个用户面向的应用程序重复此步骤。

配置您的用户面向的应用程序以使用身份提供者对其用户进行身份验证。例如,配置 Tableau 使用 Okta。

配置用户面向的应用程序与下游服务之间的连接。例如,配置 Tableau 访问 Amazon Redshift。在某些情况下,需要使用 Redshift的ODBC或JDBC驱动程序。

然后是特定于信任身份传播的配置。例如,假设您的组织开发了一个用户面向的Web应用程序,它使用您的身份提供者对用户进行身份验证,并希望代表当前已验证的用户访问AWS中的数据。在此用例中,您需要在IAM身份中心创建一个 受信任的令牌颁发者。这个强大的新结构使您能够将应用程序的已验证用户映射到IAM身份中心目录中的用户,以便利用信任身份传播。我的同事Becky写了一篇博客,展示如何开发这样的应用程序。这个附加配置仅在使用第三方应用程序如Tableau或者在AWS外部进行身份验证的自定义开发应用程序时需要。当使用AWS管理的用户面向的应用程序如Amazon QuickSight时,则无需进一步设置。

最后,下游服务管理员必须根据用户身份和组成员资格配置访问策略。每个下游服务的确切配置都会有所不同。如果应用程序在Amazon S3中读取或写入数据,则数据所有者可以在Amazon S3控制台中的 S3访问授权 中为用户和组授予对Amazon S3中的某些前缀的访问。如果应用程序查询Amazon Redshift数据仓库,则数据所有者必须在Amazon Redshift控制台中配置IAM身份中心受信任连接并匹配身份提供者的受众声明aud。

现在您已对配置有了一个高层次的概述,让我们深入探讨最重要的部分:用户体验。

最终用户体验虽然最终用户的具体体验因应用程序而异,但在所有情况下,它都将比以前更简化,更加熟悉。用户的交互将以基于重定向的身份验证单点登录流程开始,将用户引导到他们的身份提供者处,用户可以在此使用凭证、多因素认证等进行登录。

让我们看看最终用户在配置了信任身份传播的情况下,如何与Okta和Tableau进行交互的细节。

以下是系统和服务之间主要交互和流程的图示。

整个过程如下:

黑豹加速器官方网站

作为一个用户,我尝试登录 Tableau。

Tableau 启动一个基于浏览器的流程并重定向到 Okta 登录页面,在那里我可以输入我的登录凭据。在成功身份验证后,Okta向 Tableau 发放一个身份验证令牌ID和访问令牌。

Tableau 启动与Amazon Redshift的JDBC连接,并在连接请求中包含访问令牌。Amazon Redshift JDBC驱动程序调用Amazon Redshift。因为您的Amazon Redshift管理员启用了IAM身份中心,Amazon Redshift将访问令牌转发给IAM身份中心。

IAM身份中心验证并验证访问令牌,将其兑换为身份中心发行的令牌。

Amazon Redshift将解析身份中心令牌以确定对应的身份中心用户并授权对资源的访问。在成功授权后,我可以从 Tableau 连接到 Amazon Redshift。

成功认证后,我可以像往常一样开始使用 Tableau。

当我连接到Amazon Redshift查询编辑器时,我可以查看sysqueryhistory表以检查是谁发出了查询。它正确地显示了 awsidcltemail addressgt,即我在从 Tableau 连接时使用的Okta电子邮件地址。

您可以阅读 Tableau的文档 以获取有关此配置的更多详细信息。

定价与可用性信任身份传播在 当前可用AWS IAM身份中心的26个AWS区域 内不收取额外费用。

以下是关于信任身份传播和下游服务配置的更多详细信息。

利用IAM身份中心和受信任令牌颁发者简化员工身份管理使用AWS IAM身份中心将Okta与Amazon Redshift Query Editor V2 集成,提供无缝单点登录通过Amazon Redshift和AWS Lake Formation简化外部身份提供者用户的访问管理将您的员工身份带入Amazon EMR Studio和Athena如何使用IAM身份中心和S3访问授权开发用户面向的数据应用程序分两部分介绍

祝您阅读愉快!

AWS 分析服务简化了用户数据访问、权限设置和审计 新闻博客

通过信任身份传播,您现在可以配置分析系统,以传递实际用户身份、组成员资格和属性到AWS服务如Amazon Redshift、Amazon Athena 或Amazon S3。这简化了在这些服务上管理访问政策的复杂性,也允许审计人员核实你组织的合规性,识别访问数据的真实用户身份。

现在就开始配置您的Tableau与Amazon Redshift的集成。

seb

PS:在AWS撰写博客文章始终是一项团队工作,即使您在文章标题下只看到一个名字。在此,我要感谢 Eva Mineva、Laura Reith 和 Roberto Migli 对于理解信任身份传播的诸多细微之处和技术细节所提供的宝贵帮助。

Sbastien Stormacq

Seb自从在八十年代中期接触到Commodore 64以来,就一直在编写代码。他用自己独特的热情、创意和好奇心激励构建者挖掘AWS云的价值。他对软件架构、开发工具和移动计算很感兴趣。如果您想向他推销产品,请确保它具有API。关注他的Twitter @sebsto。

  1. # VMware Tanzu CloudHealth 如何从自管理 Kafka 迁移到 Amazon # VMware Tanzu CloudHealth 如何从自管理 Kafka 迁移到 Amazon

    VMware Tanzu CloudHealth 从自管理 Kafka 迁移到 Amazon MSK 的历程作者:Rivlin Pereira Raj Ramasubbu Satya Pattanaik Todd McGrath Vaibhav Pandey日期:2024年3月14日在 Amazon...

  1. Gradient使得使用AWS Inferentia进行LLM基准测试变得成本高效且毫不费力 机器学 Gradient使得使用AWS Inferentia进行LLM基准测试变得成本高效且毫不费力 机器学

    使用AWS Inferentia提升LLM基准测试的高效与便捷关键要点LLM性能评估:在大型语言模型LLM的预训练和微调过程中,快速频繁地验证性能是提升模型能力的关键。Gradient开发实验室:提供企业级定制化的LLM和人工智能共同助手开发服务。基准测试支持:通过将AWS Neuron集成到lme...