在 Amazon Quick Sight 中使用 Star - Amazon Quick Suite
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon Quick Sight 中使用 Star

Starburst 是一项功能齐全的数据湖分析服务,建立在大规模并行处理(MPP)查询引擎 Trino 之上。使用本节学习如何从 Amazon Quick Sight 连接到 Starburst。Quick Sight 和 Starburst 之间的所有流量均通过 SSL 启用。如果你要连接 Starburst Galaxy,你可以通过登录你的 Starburst Galaxy 账户,然后选择 Partner Connect,然后选择 Quick Sight 来获取必要的连接详情。您应该能够看到诸如主机名和端口之类的信息。Amazon Quick Sight 支持 Starburst 的基本用户名和密码身份验证。

Quick Sight 提供了两种连接 Starburst 的方式:使用你的 Starburst 登录凭据或使用OAuth客户凭据。使用以下部分来了解这两种连接方法。

使用登录凭据创建与 Starburst 的 Quick Sight 数据源连接

  1. 首先创建一个新数据集。在左侧导航窗格中,选择数据,然后选择创建,然后选择新建数据集

  2. 选择 Starburst 数据来源卡片。

  3. 选择 Starburst 产品类型。为本地 Starburst 实例选择 Starburst Enterprise。为托管式实例选择 Starburst Galaxy

  4. 对于数据来源名称,为您的 Starburst 数据来源连接输入描述性名称。您可以通过与 Starburst 的连接创建许多数据集,因此最好使用简洁的名称。

  5. 对于连接类型,选择您正在使用的网络类型。如果您的数据是公开共享的,请选择公共网络。如果您的数据位于 VPC 内,请选择 VPC。要在 Amazon Quick Sight 中配置 VPC 连接,请参阅在 Amazon Quick Sight 中配置 VPC 连接。此连接类型不适用于 Starburst Galaxy。

  6. 对于数据库服务器,输入在 Starburst 连接详细信息中指定的主机名。

  7. 对于目录,输入在 Starburst 连接详细信息中指定的目录。

  8. 对于端口,输入在 Starburst 连接详细信息中指定的端口。Starburst Galaxy 的默认端口为 443。

  9. 对于用户名密码,输入 Starburst 连接凭证。

  10. 要验证连接是否正常,请选择验证连接

  11. 要完成并创建数据来源,请选择创建数据来源

注意

Amazon Quick Sight 和 Starburst 之间的连接已使用 Starburst 版本 420 进行了验证。

在 Quick Sight 和 Starburst 账户之间成功创建数据源连接后,就可以开始创建数据集连接包含 Starburst 数据了。

使用OAuth客户端凭据创建与 Starburst 的 Quick Sight 数据源连接

你可以使用OAuth客户凭据通过 Quick Sight 将你的 Quick Sight 账户与 Starburs t APIs 关联起来。 OAuth是一种标准授权协议,通常用于具有高级安全要求的应用程序。当你使用OAuth客户端凭据连接到 Starburst 时,你可以使用 Quick Sight APIs 和 Quick Sight 用户界面创建包含 Starburst 数据的数据集。有关在 Starburst 中配置 OAuth 的更多信息,请参阅 OAuth 2.0 authentication

Quick Sight 支持client credentialsOAuth授权类型。 OAuth客户端凭证用于获取用于 machine-to-machine通信的访问令牌。此方法适用于客户端需要访问服务器上托管的资源而无需用户参与的情况。

在 OAuth 2.0 的客户端凭证流中,有几种客户端身份验证机制可用于向授权服务器对客户端应用程序进行身份验证。Quick Sight 支持基于 OAuth Starburst 的客户端凭证,用于以下两种机制:

  • 令牌(基于客户端密钥的 OAuth):基于密钥的客户端身份验证机制与客户端凭证一起使用来授予流,以便向授权服务器进行身份验证。此身份验证方案要求将 OAuth 客户端应用的 client_idclient_secret 存储在 Secrets Manager 中。

  • X509(基于客户端私有密钥 JWT 的 OAuth):基于 X509 证书密钥的解决方案为 OAuth 机制提供了额外的安全层,使用客户端证书(而非客户端密钥)进行身份验证。此方法主要由私有客户端使用,他们使用此方法向授权服务器进行身份验证,并且两个服务之间具有很强的信任度。

Quick Sight 已验证与以下身份提供商的OAuth连接:

  • OKTA

  • PingFederate

在 Secrets Manager 中存储 OAuth 凭证

OAuth客户端凭证仅用于 machine-to-machine用例,不是为交互式而设计的。要在 Quick Sight 和 Starburst 之间创建数据源连接,请在 Secrets Manager 中创建一个包含客户端应用程序凭据的新密钥。OAuth使用新密钥创建的秘密 ARN 可用于在 Quick Sight 中创建包含 Starburst 数据的数据集。有关在 Quick Sight 中使用 Secrets Manager 密钥的更多信息,请参阅在 Quick Suite 中使用 Amazon Secrets Manager 密钥而不是数据库凭证

您需要在 Secrets Manager 中存储的凭证由您使用的 OAuth 机制决定。基于 X509 OAuth 的密钥需要以下 key/value 配对:

  • username:连接到 Starburst 时要使用的 Starburst 账户用户名

  • client_id:OAuth 客户端 ID

  • client_private_key:OAuth 客户端私有密钥

  • client_public_key:OAuth 客户端证书公钥及其加密算法(例如 {"alg": "RS256", "kid", "cert_kid"}

基于令牌OAuth的密钥需要以下 key/value 配对:

  • username:连接到 Starburst 时要使用的 Starburst 账户用户名

  • client_id:OAuth 客户端 ID

  • client_secret:OAuth 客户端密钥

使用 Quick Sight 创建 Starburst OAuth 连接 APIs

在 Secrets Manager 中创建包含你的 Starburst OAuth 凭据的密钥并将你的 Quick Suite 账户关联到 Secrets Manager 后,你可以使用 Quick Sight 和 SDK 在 Quick Sight 和 Starburst APIs 之间建立数据源连接。以下示例使用令牌 OAuth 客户端凭证创建 Starburst 数据来源连接。

{ "AwsAccountId": "AWSACCOUNTID", "DataSourceId": "DATASOURCEID", "Name": "NAME", "Type": "STARBURST", "DataSourceParameters": { "StarburstParameters": { "Host": "STARBURST_HOST_NAME", "Port": "STARBURST_PORT", "Catalog": "STARBURST_CATALOG", "ProductType": "STARBURST_PRODUCT_TYPE", "AuthenticationType": "TOKEN", "DatabaseAccessControlRole": "starburst-db-access-role-name", "OAuthParameters": { "TokenProviderUrl": "oauth-access-token-endpoint", "OAuthScope": "oauth-scope", "IdentityProviderResourceUri" : "resource-uri", "IdentityProviderVpcConnectionProperties" : { "VpcConnectionArn": "IdP-VPC-connection-ARN" } } }, "VpcConnectionProperties": { "VpcConnectionArn": "VPC-connection-ARN-for-Starburst" }, "Credentials": { "SecretArn": "oauth-client-secret-ARN" } }

有关 CreateDatasource API 操作的更多信息,请参阅CreateDataSource

在 Quick Sight 和 Starburst 之间建立连接并使用 Quick Sight APIs 或 SDK 创建数据源后,新的数据源将显示在 Quick Sight 中。Quick Sight 作者可以使用此数据源来创建包含 Starburst 数据的数据集。表的显示基于在 CreateDataSource API 调用中传递的 DatabaseAccessControlRole 参数中使用的角色。如果在创建数据来源连接时未定义此参数,则使用默认 Starburst 角色。

在 Quick Sight 和 Starburst 账户之间成功创建数据源连接后,就可以开始创建数据集连接包含 Starburst 数据了。