浏览器可信身份传播凭证
通过此身份验证类型,您可以从外部身份提供商处获取新的 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。您的范围可能需要包括 email 或 profile 等其他权限,具体取决于您的身份提供商(例如 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; |