View a markdown version of this page

浏览器可信身份传播凭证 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

浏览器可信身份传播凭证

通过此身份验证类型,您可以从外部身份提供商处获取新的 JSON Web 令牌(JWT),并使用 Athena 进行身份验证。您可以使用此插件,通过可信身份传播,实现对企业身份的支持。有关如何将可信身份传播与驱动程序结合使用的更多信息,请参阅将可信身份传播与 Amazon Athena 驱动程序结合使用。您还可以使用 CloudFormation 配置和部署资源

使用可信身份传播,可以向 IAM 角色添加身份上下文,以识别请求访问 Amazon 资源的用户身份。有关启用和使用可信身份传播的信息,请参阅 What is trusted identity propagation?

注意

该插件专为单用户桌面环境而设计。在 Windows Server 等共享环境中,系统管理员负责建立和维护用户之间的安全边界。

身份验证类型

连接字符串名称 参数类型 默认值 连接字符串示例
AuthenticationType 必需 none AuthenticationType=BrowserOidcTip;

IDP 公开配置 URL

IDP 公开配置 URL 是为身份提供商提供 OpenID Connect 配置详细信息的端点。此 URL 通常以 .well-known/openid-configuration 结尾,并包含有关身份验证端点、支持的功能和令牌签名密钥的基本元数据。例如,如果您使用的是 Okta,则 URL 可能类似 https://your-domain.okta.com/.well-known/openid-configuration

故障排除:如果您收到连接错误,请验证是否可以从您的网络访问此 URL 并返回有效的 OpenID Connect 配置 JSON。该 URL 必须能够已安装驱动程序的客户端访问,并且应由您的身份提供商管理员提供。

连接字符串名称 参数类型 默认值 连接字符串示例
IdpWellKnownConfigurationUrl 必需 none IdpWellKnownConfigurationUrl=https://<your-domain>/.well-known/openid-configuration;

客户端标识符

OpenID Connect 提供商向应用程序颁发的客户端标识符。

连接字符串名称 参数类型 默认值 连接字符串示例
client_id 必需 none client_id=00001111-aaaa-2222-bbbb-3333cccc4444;

工作组 ARN

包含可信身份传播配置标签的 Amazon Athena 工作组的 Amazon 资源名称(ARN)。有关工作组的更多信息,请参阅 WorkGroup

注意

此参数与指定查询运行位置的 Workgroup 参数不同。必须同时设置两个参数:

  • WorkgroupArn:指向包含可信身份传播配置标签的工作组

  • Workgroup:指定将在其中执行查询的工作组

虽然这两个参数通常指向同一个工作组,但必须显式设置两个参数以确保正常运行。

连接字符串名称 参数类型 默认值 连接字符串示例
WorkGroupArn 必需 none WorkgroupArn=arn:aws:athena:us-west-2:111122223333:workgroup/primary

JWT 应用程序角色 ARN

JWT 交换时将代入角色的 ARN。此角色用于 JWT 交换、通过工作组标签获取 IAM Identity Center 客户管理的应用程序 ARN,以及获取访问角色 ARN。有关代入角色的信息,请参阅 AssumeRole

连接字符串名称 参数类型 默认值 连接字符串示例
ApplicationRoleArn 必需 none ApplicationRoleArn=arn:aws:iam::111122223333:role/applicationRole;

角色会话名称

IAM 会话的名称。它可以是任意名称,但通常,人们会填写与使用自身应用程序的用户关联的名称或标识符。这样,您的应用程序使用的临时安全凭证会与该用户相关联。

连接字符串名称 参数类型 默认值 连接字符串示例
role_session_name 必需 none role_session_name=familiarname;

客户端密钥

客户端密钥是您的身份提供商颁发的机密密钥,用于对您的应用程序进行身份验证。虽然此参数是可选的,可能并非所有身份验证流程必需,但其使用可提了额外的安全层。如果您的 IDP 配置需要客户端密钥,则必须将此参数与身份提供商管理员提供的值一起包括在内。

连接字符串名称 参数类型 默认值 连接字符串示例
client_secret 可选 none client_secret=s0m3R@nd0mS3cr3tV@lu3Th@tS3cur3lyPr0t3ct5Th3Cl13nt;!

范围

该范围指定您的应用程序向身份提供商请求的访问级别。要接收包含基本用户身份声明的 ID 令牌,您必须在范围内包含 openid。您的范围可能需要包括 emailprofile 等其他权限,具体取决于您的身份提供商(例如 Microsoft Entra ID)配置为包含在 ID 令牌中的用户声明。这些声明对于正确的可信身份传播映射至关重要。如果用户身份映射失败,请验证您的范围是否包含所有必需的权限,并且您的身份提供商已配置为在 ID 令牌中包含所需的声明。这些声明必须与 IAM Identity Center 中的可信令牌发布者映射配置相匹配。

连接字符串名称 参数类型 默认值 连接字符串示例
范围 可选 openid email offline_access Scope=openid email;

会话持续时间

角色会话的持续时间(以秒为单位)。有关更多信息,请参阅 AssumeRoleWithWebIdentity

连接字符串名称 参数类型 默认值 连接字符串示例
duration 可选 3600 duration=900;

JWT 访问角色 ARN

Athena 代表您进行调用时所代入角色的 ARN。有关代入角色的更多信息,请参阅 Amazon Security Token Service API Reference 中的 AssumeRole

连接字符串名称 参数类型 默认值 连接字符串示例
AccessRoleArn 可选 none AccessRoleArn=arn:aws:iam::111122223333:role/accessRole;

IAM Identity Center 客户管理的应用程序 ARN

IAM Identity Center 客户管理的 IDC 应用程序 ARN。有关客户管理的应用程序的更多信息,请参阅 Customer Managed Applications

连接字符串名称 参数类型 默认值 连接字符串示例
CustomerIdcApplicationArn 可选 none CustomerIdcApplicationArn=arn:aws:sso::111122223333:application/ssoins-111122223333/apl-111122223333;

身份提供商端口号

用于 OAuth 2.0 回调服务器的本地端口号。此项用作 redirect_uri,您需要在 IDP 应用程序中将其列入允许列表。默认生成的 redirect_uri 为:http://localhost:7890/athena

警告

在 Windows 终端服务器或远程桌面服务等共享环境中,环回端口(默认值:7890)在同一台计算机上的所有用户之间共享。系统管理员可通过以下方式降低潜在的端口劫持风险:

  • 为不同用户组配置不同的端口号

  • 使用 Windows 安全策略限制端口访问权限

  • 在用户会话之间实现网络隔离

如果无法实现这些安全控制措施,我们建议改用 JWT 可信身份传播插件,该插件不需要环回端口。

连接字符串名称 参数类型 默认值 连接字符串示例
listen_port 可选 7890 listen_port=8080;

身份提供者响应超时

等待 OAuth 2.0 回调响应的超时时间(秒)。

连接字符串名称 参数类型 默认值 连接字符串示例
IdpResponseTimeout 可选 120 IdpResponseTimeout=140;

启用文件缓存

JwtTipFileCache 参数决定驱动程序是否在两次连接之间缓存身份验证令牌。将 JwtTipFileCache 设置为 true 可减少身份验证提示并改善用户体验,但应谨慎使用。此设置最适合单用户桌面环境。在 Windows Server 等共享环境中,建议禁用此项,以防止连接字符串相似的用户之间可能共享令牌。

对于使用 PowerBI Server 等工具的企业部署,我们建议使用 JWT 可信身份传播插件,而不是这种身份验证方法。

连接字符串名称 参数类型 默认值 连接字符串示例
JwtTipFileCache 可选 0 JwtTipFileCache=1;