

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

# 授權連線到 Amazon Athena
<a name="athena"></a>

如果您需要將 Amazon Quick Sight 與 Amazon Athena 或 Amazon Athena 聯合查詢搭配使用，您必須先在 Amazon Simple Storage Service (Amazon S3) 中授權與 Athena 和相關聯儲存貯體的連線。Amazon Athena 是一種互動式查詢服務，可讓您使用標準 SQL 直接輕鬆分析 Amazon S3 中的資料。Athena 聯合查詢可讓您使用 存取更多類型的資料 AWS Lambda。使用從 Quick 到 Athena 的連線，您可以撰寫 SQL 查詢來查詢儲存在關聯式、非關聯式、物件和自訂資料來源中的資料。如需詳細資訊，請參閱《Amazon Athena 使用者指南》中的[使用 Athena 聯合查詢](https://docs.aws.amazon.com/athena/latest/ug/connect-to-a-data-source.html)。

從 Quick 設定對 Athena 的存取時，請檢閱下列考量事項：
+ Athena 會將來自 Amazon Quick Sight 的查詢結果儲存在儲存貯體中。依預設，此儲存貯體的名稱會類似 `aws-athena-query-results-AWSREGION-AWSACCOUNTID`，例如 `aws-athena-query-results-us-east-2-111111111111`。因此，請務必確保 Amazon Quick Sight 具有存取 Athena 目前正在使用的儲存貯體的許可。
+ 如果您的資料檔案使用 AWS KMS 金鑰加密，請將解密金鑰的許可授予 Amazon Quick Sight IAM 角色。執行此動作最簡單的方法是使用 AWS CLI。

  您可以在 中執行 KMS [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) API 操作 AWS CLI 來執行此操作。

  ```
  aws kms create-grant --key-id <KMS_KEY_ARN> /
  --grantee-principal <QS_ROLE_ARN> --operations Decrypt
  ```

  Amazon Quick 角色的 Amazon Resource Name (ARN) 具有 格式，`arn:aws:iam::<account id>:role/service-role/aws-quicksight-s3-consumers-role-v<version number>`可以從 IAM 主控台存取。若要尋找您的 KMS 金鑰 ARN，請使用 S3 主控台。移至包含您的資料檔案的儲存貯體，然後選擇 **Overview (概觀)** 索引標籤。該金鑰位於 **KMS key ID (KMS 金鑰 ID)** 附近。
+ 對於 Amazon Athena、Amazon S3 和 Athena 查詢聯合連線，Amazon Quick 預設會使用下列 IAM 角色：

  ```
  arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-s3-consumers-role-v0
  ```

  如果 `aws-quicksight-s3-consumers-role-v0` 不存在，則 Amazon Quick 會使用：

  ```
  arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-service-role-v0
  ```
+ 如果您已將範圍縮減政策指派給使用者，請確定這些政策包含 `lambda:InvokeFunction` 許可。如果沒有此許可，您的使用者將無法存取 Athena 聯合查詢。如需在 Amazon Quick 中將 IAM 政策指派給使用者的詳細資訊，請參閱[透過 IAM 設定 AWS 服務的精細存取權](https://docs.aws.amazon.com/quicksight/latest/user/scoping-policies-iam-interface.html)。如需有關 lambda:InvokeFunction 許可的詳細資訊，請參閱《IAM 使用者指南》中的 [AWS Lambda的動作、資源和條件金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html)。**

**授權 Amazon Quick 連線至 Athena 或 Athena 聯合資料來源**

1. （選用） 如果您使用 AWS Lake Formation 搭配 Athena，您也需要啟用 Lake Formation。如需詳細資訊，請參閱[透過 授權連線 AWS Lake Formation](https://docs.aws.amazon.com/quicksight/latest/user/lake-formation.html)。

1. 開啟右上角的設定檔選單，然後選擇**管理 QuickSight**。您必須是 Amazon Quick 管理員才能執行此操作。如果您沒有在設定檔選單上看到**管理 QuickSight**，則表示您沒有足夠的許可。

1. 選擇**安全和許可**、**新增或移除**。

1. 選擇 Amazon Athena 旁邊的方塊，**下一步**。

   如果已啟用，您可能必須按兩下。即使 Amazon Athena 已經啟用，也可以執行此操作，以便您可以檢視設定。在此程序結束時，選擇**更新**之前，不會儲存任何變更。

1.  啟用您要存取的 S3 儲存貯體。

1. (選用) 若要啟用 Athena 聯合查詢，請選取您要使用的 Lambda 函數。
**注意**  
您只能在 Amazon Quick 的相同區域中查看 Athena 目錄的 Lambda 函數。

1. 若要確認變更，請選擇**完成**。

   若要取消，請選擇 **Cancel (取消)**。

1. 若要儲存對安全和許可的變更，請選擇**更新**。

**若要測試連線授權設定**

1. 在 Amazon Quick Start 頁面中，選擇**資料集**、**新資料集**。

1. 選擇 Athena 卡。

1. 按照螢幕提示，使用您需要連線的資源建立新的 Athena 資料來源。選擇**驗證連線**，以測試連線。

1. 如果連線驗證，表示您已成功設定 Athena 或 Athena 聯合查詢連線。

   如果您沒有足夠的許可來連線至 Athena 資料集或執行 Athena 查詢，則會顯示錯誤，指示您聯絡 Amazon Quick 管理員。此錯誤表示需要重新檢查您的連線授權設定，才能尋找差異。

1. 成功連線後，您或您的 Amazon Quick 作者可以建立資料來源連線，並與其他 Amazon Quick 作者共用。然後，作者可以從連線建立多個資料集，以便在 Amazon Quick 儀表板中使用。

   如需 Athena 的疑難排解資訊，請參閱[搭配 Amazon Quick 使用 Athena 時的連線問題](https://docs.aws.amazon.com/quicksight/latest/user/troubleshoot-athena.html)。

## 搭配 Athena 使用受信任身分傳播
<a name="athena-trusted-identity-propagation"></a>

信任的身分傳播可讓 AWS 服務根據使用者的身分內容存取 AWS 資源，並安全地與其他 AWS 服務共用此使用者的身分。這些功能可更輕鬆地定義、授予和記錄使用者存取。

當管理員 AWS Lake Formation 使用 IAM Identity Center 設定 Quick、Athena、Amazon S3 Access Grants 和 時，他們現在可以在這些服務中啟用受信任的身分傳播，並允許使用者的身分在服務之間傳播。當 IAM Identity Center 使用者從 Quick 存取資料時，Athena 或 Lake Formation 可以使用組織身分提供者為其使用者或群組成員資格定義的許可進行授權決策。

僅在透過 Lake Formation 管理許可時，才能使用 Athena 進行受信任身分傳播。使用者的資料許可位於 Lake Formation 中。

### 先決條件
<a name="athena-trusted-identity-propagation-prerequisites"></a>

開始之前，請確定已滿足下列必要先決條件。

**重要**  
當您完成下列先決條件時，請注意，您的 IAM Identity Center 執行個體、Athena 工作群組、Lake Formation 和 Amazon S3 Access Grants 必須全部部署在相同的 AWS 區域中。
+ 使用 IAM Identity Center 設定您的快速帳戶。只有與 IAM Identity Center 整合的快速帳戶才支援信任的身分傳播。如需詳細資訊，請參閱[使用 IAM Identity Center 設定 Amazon Quick 帳戶](setting-up-sso.md#sec-identity-management-identity-center)。
**注意**  
若要建立 Athena 資料來源，您必須是使用 IAM Identity Center 的快速帳戶中的 IAM Identity Center 使用者 （作者）。
+ 已啟用 IAM Identity Center 的 Athena 工作群組。您使用的 Athena 工作群組必須使用與快速帳戶相同的 IAM Identity Center 執行個體。如需有關設定 Athena 工作群組的詳細資訊，請參閱 *Amazon Athena User Guide* 中的 [Creating an IAM Identity Center enabled Athena workgroup](https://docs.aws.amazon.com/athena/latest/ug/workgroups-identity-center.html#workgroups-identity-center-creating-an-identity-center-enabled-athena-workgroup)。
+ 使用 Amazon S3 存取授權管理對 Athena 查詢結果儲存貯體的存取權。如需詳細資訊，請參閱 *Amazon S3 User Guide* 中的 [Managing access with Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html)。如果您的查詢結果使用 AWS KMS 金鑰加密，Amazon S3 Access Grant IAM 角色和 Athena 工作群組角色都需要 的許可 AWS KMS。
  + 如需詳細資訊，請參閱 Amazon S3 User Guide 中的 [Amazon S3 Access Grants and corporate directory identities](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html)。
  + Amazon S3 存取授權角色應在其信任政策中包含 `STS:SetContext` 動作，以實現身分傳播。若要查看範例，請參閱 Amazon S3 User Guide 中的 [Register a location](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location-register.html)。
+ 必須使用 Lake Formation 管理資料許可，並使用與 Quick 和 Athena 工作群組相同的 IAM Identity Center 執行個體設定 Lake Formation。如需組態資訊，請參閱《AWS Lake Formation 開發人員指南》**中的[整合 IAM Identity Center](https://docs.aws.amazon.com/lake-formation/latest/dg/identity-center-integration.html)。
+ 資料湖管理員需要在 Lake Formation 中向 IAM Identity Center 使用者和群組授予權限。如需詳細資訊，請參閱 *AWS Lake Formation Developer Guide* 中的 [Granting permissions to users and groups](https://docs.aws.amazon.com/lake-formation/latest/dg/grant-permissions-sso.html)。
+ 快速管理員需要授權與 Athena 的連線。如需詳細資訊，請參閱[授權連線到 Amazon Athena](#athena)。請注意，透過信任的身分傳播，您不需要提供 Amazon S3 儲存貯體的快速角色許可或 AWS KMS 許可。您需要確保在 Athena 中對工作群組擁有許可的使用者和群組，與透過 Amazon S3 存取授權許可存放查詢結果的 Amazon S3 儲存貯體保持同步，以便使用者能夠在使用受信任身分傳播時，成功執行查詢並在 Amazon S3 儲存貯體中擷取查詢結果。

### 設定具有必要許可的 IAM 角色
<a name="athena-trusted-identity-propagation-configure-role"></a>

若要搭配 Athena 使用受信任的身分傳播，您的 Quick 帳戶必須具有存取 資源所需的許可。若要提供這些許可，您必須將 Quick 帳戶設定為使用具有 許可的 IAM 角色。

如果您的快速帳戶已使用自訂 IAM 角色，您可以修改該角色。如果沒有現有的 IAM 角色，請依照 *IAM User Guide* 中的 [Create a role for an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) 指示建立一個。

建立或修改的 IAM 角色必須包含下列信任政策和許可。

#### 所需的信任政策
<a name="athena-trusted-identity-propagation-configure-role-trust-policy"></a>

如需有關更新 IAM 角色信任政策的資訊，請參閱 [Update a role trust policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html)。

#### 所需的 Athena 許可
<a name="athena-trusted-identity-propagation-configure-role-permissions"></a>

如需有關更新 IAM 角色信任政策的資訊，請參閱 [Update permissions for a role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html)。

**注意**  
`Resource` 會使用 `*` 萬用字元。建議您將其更新為僅包含要與 Quick 搭配使用的 Athena 資源。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:BatchGetQueryExecution",
                "athena:CancelQueryExecution",
                "athena:GetCatalogs",
                "athena:GetExecutionEngine",
                "athena:GetExecutionEngines",
                "athena:GetNamespace",
                "athena:GetNamespaces",
                "athena:GetQueryExecution",
                "athena:GetQueryExecutions",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:GetTable",
                "athena:GetTables",
                "athena:ListQueryExecutions",
                "athena:RunQuery",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution",
                "athena:ListWorkGroups",
                "athena:ListEngineVersions",
                "athena:GetWorkGroup",
                "athena:GetDataCatalog",
                "athena:GetDatabase",
                "athena:GetTableMetadata",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:ListTableMetadata"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### 設定您的快速帳戶以使用 IAM 角色
<a name="athena-trusted-identity-propagation-configure-role"></a>

在上一個步驟中設定 IAM 角色後，您必須設定您的快速帳戶來使用它。如需有關如何執行作業的資訊，請參閱[在 Quick 中使用現有的 IAM 角色](security-create-iam-role.md#security-create-iam-role-use)。

### 使用 更新身分盜用組態 AWS CLI
<a name="athena-trusted-identity-propagation-update-config"></a>

若要授權 Quick 將最終使用者身分傳播到 Athena 工作群組，請從 執行下列 `update-identity-propagation-config` API AWS CLI，取代下列值：
+ 將 *us-west-2* 取代為您的 IAM Identity Center 執行個體所在的 AWS 區域。
+ 將 *111122223333* 取代為您的 AWS 帳戶 ID。

```
aws quicksight update-identity-propagation-config \
--service ATHENA \
--region us-west-2 \
--aws-account-id 111122223333
```

### 在 Quick 中建立 Athena 資料集
<a name="athena-trusted-identity-propagation-create-dataset"></a>

現在，使用您要連線的已啟用 IAM Identity Center 的 Athena 工作群組，在 Quick 中建立 Athena 資料集。如需有關如何建立 Athena 資料集的資訊，請參閱[使用 Amazon Athena 資料建立資料集](create-a-data-set-athena.md)。

### 關鍵標註、考量事項與限制
<a name="athena-trusted-identity-propagation-callouts-considerations"></a>

下列清單包含將受信任身分傳播與 Quick and Athena 搭配使用時的一些重要考量。
+ 使用受信任身分傳播的快速 Athena 資料來源具有針對 IAM Identity Center 最終使用者和使用者可能所屬的 IAM Identity Center 群組評估的 Lake Formation 許可。
+ 如果使用的 Athena 資料來源已啟用受信任身分傳播，建議在 Lake Formation 中進行任何微調的存取控制。不過，如果您選擇使用 Quick 縮小範圍政策功能，則會針對最終使用者評估縮小範圍政策。
+ 對於使用受信任身分傳播的資料來源和資料集，會停用下列功能：SPICE 資料集、資料來源上的自訂 SQL、閾值提醒、電子郵件報告、Q 主題、故事、案例、CSV、Excel 和 PDF 匯出、異常偵測。
+ 如果遇到高延遲或逾時，可能是由於大量 IAM Identity Center 群組、Athena 資料庫、資料表和 Lake Formation 規則的組合所致。建議您僅嘗試使用必要數量的資源。