

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 搭配 Amazon Quick Sight 使用 Starburst
<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.aws.amazon.com/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 [ APIs](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html) 將您的 Quick Sight 帳戶與 Starburst 連線。 *OAuth* 是一種標準授權通訊協定，通常用於具有進階安全需求的應用程式。當您使用OAuth用戶端登入資料連線到 Starburst 時，您可以使用 Quick Sight APIs 和 Quick Sight UI 建立包含 Starburst 資料的資料集。如需在 Starburst 中設定 OAuth 的詳細資訊，請參閱《OAuth 2.0 身分驗證》[https://docs.starburst.io/latest/security/oauth2.html](https://docs.starburst.io/latest/security/oauth2.html)。

Quick Sight 支援`client credentials`OAuth授予類型。 OAuth用戶端登入資料用於取得machine-to-machine通訊的存取字符。此方法適用於用戶端需要存取託管在伺服器上的資源，而不需使用者介入的情形。

在 OAuth 2.0 的用戶端憑證流程中，有數種用戶端身分驗證機制可用來透過授權伺服器驗證用戶端應用程式。Quick Sight 支援以 Starburst OAuth 為基礎的用戶端憑證，適用於下列兩種機制：
+ **權杖 (用戶端機密型 OAuth)**：密碼型用戶端身分驗證機制會與用戶端憑證搭配使用，以授予流程，進而使用授權伺服器進行身分驗證。此身分驗證機制需要將 OAuth 用戶端應用程式的 `client_id` 和 `client_secret` 儲存在 Secrets Manager 中。
+ **X509 (用戶端私有金鑰 JWT 型 OAuth)**：X509 憑證金鑰型解決方案為 OAuth 機制提供額外的安全層，其中包含用於身分驗證的用戶端憑證，而非用戶端機密。此方法主要由私有用戶端使用，私有用戶端可在兩個服務之間具有高度信任時，使用此方法對授權伺服器進行身分驗證。

Quick Sight 已驗證與下列身分提供者的OAuth連線：
+ OKTA
+ PingFederate

### 將 OAuth 憑證儲存至 Secrets Manager 中
<a name="create-connection-to-starburst-oauth-store-credentials"></a>

OAuth 用戶端憑證適用於機器對機器的使用案例，並非為了互動而設計。若要在 Quick Sight 和 Starburst 之間建立資料來源連線，請在 Secrets Manager 中建立新的秘密，其中包含用戶端OAuth應用程式的登入資料。使用新秘密建立的秘密 ARN 可用於在 Quick Sight 中建立包含 Starburst 資料的資料集。如需在 Quick Sight 中使用 Secrets Manager 金鑰的詳細資訊，請參閱 [在 Quick 中使用 AWS Secrets Manager 秘密而非資料庫登入資料](secrets-manager-integration.md)。

您需要儲存在 Secrets Manager 中的憑證由您使用的 OAuth 機制決定。X509 型 OAuth 機密需要下列鍵值對：
+ `username`：連線至 Starburst 時使用的 Starburst 帳戶使用者名稱
+ `client_id`：OAuth 用戶端 ID
+ `client_private_key`：OAuth 用戶端私有金鑰
+ `client_public_key`：OAuth 用戶端憑證公有金鑰及其加密演算法 (例如 `{"alg": "RS256", "kid", "cert_kid"}`)

權杖型 OAuth 機密需要下列鍵值對：
+ `username`：連線至 Starburst 時使用的 Starburst 帳戶使用者名稱
+ `client_id`：OAuth 用戶端 ID
+ `client_secret`：OAuth 用戶端機密

### 使用 Quick Sight APIs 建立 Starburst OAuth連線
<a name="create-connection-to-starburst-oauth-example"></a>

在 Secrets Manager 中建立包含 Starburst OAuth登入資料的秘密，並將您的 Quick 帳戶連線至 Secrets Manager 之後，您可以使用 Quick Sight APIs 和 SDK 在 Quick Sight 和 Starburst 之間建立資料來源連線。下列範例使用權杖 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.aws.amazon.com/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 資料。