

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

# 在 Amazon Quick Sight 中使用 Star
<a name="connecting-to-starburst"></a>

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客户凭据。使用以下部分来了解这两种连接方法。

**Topics**
+ [

## 使用登录凭据创建与 Starburst 的 Quick Sight 数据源连接
](#create-connection-to-starburst)
+ [

## 使用OAuth客户端凭据创建与 Starburst 的 Quick Sight 数据源连接
](#create-connection-to-starburst-oauth)

## 使用登录凭据创建与 Starburst 的 Quick Sight 数据源连接
<a name="create-connection-to-starburst"></a>

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

1. 选择 **Starburst** 数据来源卡片。

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

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

1. 对于**连接类型**，选择您正在使用的网络类型。如果您的数据是公开共享的，请选择**公共网络**。如果您的数据位于 VPC 内，请选择 **VPC**。要在 Amazon Quick Sight 中[配置 VPC 连接，请参阅在 Amazon Quick Sight 中配置 VPC 连接](https://docs.amazonaws.cn/quicksight/latest/user/vpc-creating-a-connection-in-quicksight.html)。此连接类型不适用于 Starburst Galaxy。

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

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

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

1. 对于**用户名**和**密码**，输入 Starburst 连接凭证。

1. 要验证连接是否正常，请选择**验证连接**。

1. 要完成并创建数据来源，请选择**创建数据来源**。

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

在 Quick Sight 和 Starburst 账户之间成功创建数据源连接后，就可以开始[创建数据集](creating-data-sets.md)连接包含 Starburst 数据了。

## 使用OAuth客户端凭据创建与 Starburst 的 Quick Sight 数据源连接
<a name="create-connection-to-starburst-oauth"></a>

你可以使用OAuth客户凭据通过 Quick Sight 将你的 Quick Sight 账户与 Starburs [t APIs](https://docs.amazonaws.cn/quicksight/latest/APIReference/API_CreateDataSource.html) 关联起来。 *OAuth*是一种标准授权协议，通常用于具有高级安全要求的应用程序。当你使用OAuth客户端凭据连接到 Starburst 时，你可以使用 Quick Sight APIs 和 Quick Sight 用户界面创建包含 Starburst 数据的数据集。有关在 Starburst 中配置 OAuth 的更多信息，请参阅 [OAuth 2.0 authentication](https://docs.starburst.io/latest/security/oauth2.html)。

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

在 OAuth 2.0 的客户端凭证流中，有几种客户端身份验证机制可用于向授权服务器对客户端应用程序进行身份验证。Quick Sight 支持基于 OAuth Starburst 的客户端凭证，用于以下两种机制：
+ **令牌（基于客户端密钥的 OAuth）**：基于密钥的客户端身份验证机制与客户端凭证一起使用来授予流，以便向授权服务器进行身份验证。此身份验证方案要求将 OAuth 客户端应用的 `client_id` 和 `client_secret` 存储在 Secrets Manager 中。
+ **X509（基于客户端私有密钥 JWT 的 OAuth）**：基于 X509 证书密钥的解决方案为 OAuth 机制提供了额外的安全层，使用客户端证书（而非客户端密钥）进行身份验证。此方法主要由私有客户端使用，他们使用此方法向授权服务器进行身份验证，并且两个服务之间具有很强的信任度。

Quick Sight 已验证与以下身份提供商的OAuth连接：
+ OKTA
+ PingFederate

### 在 Secrets Manager 中存储 OAuth 凭证
<a name="create-connection-to-starburst-oauth-store-credentials"></a>

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

您需要在 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
<a name="create-connection-to-starburst-oauth-example"></a>

在 Secrets Manager 中创建包含你的 Starburst OAuth 凭据的密钥并将你的 Quick 账户关联到 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](https://docs.amazonaws.cn/quicksight/latest/APIReference/API_CreateDataSource.html)。

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

在 Quick Sight 和 Starburst 账户之间成功创建数据源连接后，就可以开始[创建数据集](creating-data-sets.md)连接包含 Starburst 数据了。