使用 Amazon QuickSight 與 IAM - Amazon QuickSight

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

使用 Amazon QuickSight 與 IAM

   適用對象:企業版和標準版 
   目標對象:系統管理員 

在您用IAM來管理對 Amazon 的訪問之前 QuickSight,您應該了解哪些IAM功能可以與 Amazon 一起使用 QuickSight。若要深入瞭解 Amazon QuickSight 和其他 AWS 服務如何使用IAM,請參閱IAM使用者指南IAM中的可使用AWS 服務

Amazon QuickSight 政策(基於身份)

使用以IAM身分識別為基礎的策略,您可以指定允許或拒絕的動作和資源,以及允許或拒絕動作的條件。Amazon QuickSight 支援特定動作、資源和條件金鑰。若要瞭解您在JSON策略中使用的所有元素,請參閱《使用IAM者指南》中的《IAMJSON策略元素參考

您可以使用 AWS 根登入資料或使用IAM者登入資料建立 Amazon QuickSight 帳戶。 AWS 根登入資料和管理員登入資料已擁有管理 Amazon AWS 資源 QuickSight 存取權的所有必要許可。

不過,我們建議您保護根認證,而是使用使用IAM者認證。若要這麼做,您可以建立政策,並將其附加到您打算用於 Amazon 的使用IAM者和角色 QuickSight。此政策必須包含您需要執行之 Amazon QuickSight 管理任務的適當陳述式,如以下各節所述。

重要

使用 Amazon QuickSight 和IAM政策時,請注意以下事項:

  • 避免直接修改 Amazon 建立的政策 QuickSight。當您自己修改它時,Amazon QuickSight 無法對其進行編輯。這樣會導致政策發生問題。若要修正此問題,請刪除之前修改的政策。

  • 如果您在嘗試建立 Amazon QuickSight 帳戶時收到許可錯誤,請參閱IAM使用者指南 QuickSight的 Amazon 定義的動作

  • 在某些情況下,您可能擁有一個即使從根 QuickSight 帳戶也無法訪問的 Amazon 帳戶(例如,如果您不小心刪除了其目錄服務)。在這種情況下,您可以刪除舊的 Amazon QuickSight 帳戶,然後重新創建它。如需詳細資訊,請參閱 刪除您的 Amazon QuickSight 訂閱並關閉帳戶

動作

管理員可以使用 AWS JSON策略來指定誰可以存取什麼內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

JSON策略Action元素描述了您可以用來允許或拒絕策略中存取的動作。策略動作通常與關聯 AWS API操作具有相同的名稱。有一些例外情況,例如沒有匹配API操作的僅限權限的操作。也有一些作業需要政策中的多個動作。這些額外的動作稱為相依動作

政策會使用動作來授予執行相關聯動作的許可。

Amazon 中的政策動作會在動作之前 QuickSight 使用下列前置詞:quicksight:。例如,若要授予某人透過 Amazon EC2 RunInstances API 操作執行 Amazon EC2 執行個體的權限,您可以在他們的政策中加入該ec2:RunInstances動作。政策陳述式必須包含 ActionNotAction 元素。Amazon QuickSight 定義了自己的一組動作,描述您可以使用此服務執行的任務。

若要在單一陳述式中指定多個動作,請用逗號分隔,如下所示:

"Action": [ "quicksight:action1", "quicksight:action2"]

您也可以使用萬用字元 (*) 來指定多個動作。例如,若要指定開頭是 Create 文字的所有動作,請包含以下動作:

"Action": "quicksight:Create*"

Amazon QuickSight 提供了一些 AWS Identity and Access Management (IAM)操作。所有 Amazon QuickSight 動作都以前綴quicksight:,例如quicksight:Subscribe. 如需在IAM政策中使用 Amazon QuickSight 動作的相關資訊,請參閱IAMAmazon 政策示例 QuickSight

若要查看 Amazon QuickSight 動作的最多 up-to-date 清單,請參閱IAM使用者指南 QuickSight中的 Amazon 定義的動作。

資源

管理員可以使用 AWS JSON策略來指定誰可以存取什麼內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

ResourceJSON原則元素會指定要套用動作的一個或多個物件。陳述式必須包含 ResourceNotResource 元素。最佳做法是使用其 Amazon 資源名稱 (ARN) 指定資源。您可以針對支援特定資源類型的動作 (稱為資源層級許可) 來這麼做。

對於不支援資源層級許可的動作 (例如列出操作),請使用萬用字元 (*) 來表示陳述式適用於所有資源。

"Resource": "*"

以下是政策的範例。這表示只要新增至群組的使用者名稱不是 user1,連接此政策的呼叫者就能在任何群組上呼叫 CreateGroupMembership 操作。

{ "Effect": "Allow", "Action": "quicksight:CreateGroupMembership", "Resource": "arn:aws:quicksight:us-east-1:aws-account-id:group/default/*", "Condition": { "StringNotEquals": { "quicksight:UserName": "user1" } } }

某些 Amazon QuickSight 動作 (例如用於建立資源的動作) 無法在特定資源上執行。在這些情況下,您必須使用萬用字元 (*)。

"Resource": "*"

某些API動作涉及多個資源。若要在單一陳述式中指定多個資源,請以ARNs逗號分隔。

"Resource": [ "resource1", "resource2"

若要查看 Amazon QuickSight 資源類型及其 Amazon 資源名稱 (ARNs) 的清單,請參閱IAM使用者指南 QuickSight中的 Amazon 定義的資源。若要了解您可以針對每個資源指定ARN哪些動作,請參閱 Amazon 定義的動作 QuickSight

條件索引鍵

管理員可以使用 AWS JSON策略來指定誰可以存取什麼內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

Condition 元素 (或 Condition 區塊) 可讓您指定使陳述式生效的條件。Condition 元素是選用項目。您可以建立使用條件運算子的條件運算式 (例如等於或小於),來比對政策中的條件和請求中的值。

若您在陳述式中指定多個 Condition 元素,或是在單一 Condition 元素中指定多個索引鍵, AWS 會使用邏輯 AND 操作評估他們。如果您為單一條件索引鍵指定多個值,請使用邏輯OR運算來 AWS 評估條件。必須符合所有條件,才會授與陳述式的許可。

您也可以在指定條件時使用預留位置變數。例如,只有在IAM使用者名稱標記資源時,您才可以授與IAM使用者存取資源的權限。如需詳細資訊,請參閱《IAM使用指南》中的IAM政策元素:變數和標籤

AWS 支援全域條件金鑰和服務特定條件金鑰。若要查看所有 AWS 全域條件索引鍵,請參閱《使用指南》中的AWS 全域條件內IAM容索引

Amazon QuickSight 不提供任何服務特定條件金鑰,但確實支援使用某些全域條件金鑰。若要查看所有 AWS 全域條件索引鍵,請參閱使用指南中的AWS 全域條件內IAM容索引

範例

若要檢視 Amazon QuickSight 身分型政策的範例,請參閱。IAMAmazon 的基於身份的政策 QuickSight

Amazon QuickSight 政策(以資源為基礎)

Amazon QuickSight 不支持基於資源的政策。不過,您可以使用 Amazon QuickSight 主控台來設定對 AWS 帳戶. AWS

基於 Amazon QuickSight 標籤的授權

Amazon QuickSight 不支援標記資源或根據標籤控制存取。

Amazon QuickSight IAM 角色

IAM角色是您 AWS 帳戶中具有特定權限的實體。您可以使用IAM角色將許可分組在一起,以便更輕鬆地管理使用者對 Amazon QuickSight 動作的存取。

Amazon QuickSight 不支持以下角色功能:

  • 服務連結角色。

  • 服務角色

  • 臨時登入資料 (直接使用):但是,Amazon QuickSight 使用臨時登入資料允許使用者擔任IAM角色來存取內嵌儀表板。如需詳細資訊,請參閱 使用內嵌式分析

如需 Amazon 如何 QuickSight 使用IAM角色的詳細資訊,請參閱使用 Amazon QuickSight 與 IAMIAMAmazon 政策示例 QuickSight

將IAM角色傳遞給 Amazon QuickSight

 適用於:企業版 

當您的使用IAM者註冊 Amazon 時 QuickSight,他們可以選擇使用 QuickSight-managed 角色 (這是預設角色)。或者,他們可以將現有的IAM角色傳遞給 QuickSight。

必要條件

您的管理員必須完成下列工作 QuickSight,才能將IAM角色傳遞給使用者:

  • 建立IAM角色。有關建立IAM角色的詳細資訊,請參閱《IAM使用指南》中的〈建立IAM角色

  • 將信任原則附加到允許 QuickSight 擔任該IAM角色的角色。使用以下範例建立該角色的信任政策。下列範例信任政策允許 Amazon QuickSight 主體承擔其所附加的IAM角色。

    如需有關建立IAM信任原則並將其附加至角色的詳細資訊,請參閱IAM使用指南中的修改角色 (主控台)

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "quicksight.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  • 將下列IAM權限指派給您的管理員 (IAM使用者或角色)

    • quicksight:UpdateResourcePermissions— 這會授與身為 QuickSight 管理員的IAM使用者在中更新資源層級權限的權限。 QuickSight有關由定義的資源類型的詳細資訊 QuickSight,請參閱IAM使用者指南 QuickSight中適用於 Amazon 的動作、資源和條件金鑰

    • iam:PassRole— 這會授與使用者將角色傳遞給使用者的權限 QuickSight。如需詳細資訊,請參閱《使用指南》中的授與使用IAM者將角色傳遞給 AWS 服務的權限。

    • iam:ListRoles— (選用) 這會授與使用者查看中現有角色清單的權限 QuickSight。如果未提供此權限,他們可以使用 a ARN 來使用現有IAM角色。

    以下是允許在 Amazon 中管理資源層級許可、列出IAM角色和傳遞IAM角色的範例IAM權限政策。 QuickSight

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role:*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/path/role-name", "Condition": { "StringEquals": { "iam:PassedToService": [ "quicksight.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": "quicksight:UpdateResourcePermissions", "Resource": "*" } ] }

    如需可搭配使用之IAM原則的更多範例 QuickSight,請參閱IAMAmazon 政策示例 QuickSight

如需有關將權限原則指派給使用者或使用者群組的詳細資訊,請參閱《IAM使用指南》中的〈變更IAM使用者的權限

管理員完成必要條件後,您的IAM使用者可以將IAM角色傳遞給 QuickSight。他們通過在註冊時選擇IAM角色或在其「 QuickSight安全性和權限」頁面switching to an IAM role上選擇角色來完成此操作。 QuickSight若要瞭解如何切換到中的現有IAM角色 QuickSight,請參閱下一節。

連接其他政策

如果您使用的是其他 AWS 服務 (例如 Amazon Athena 或 Amazon S3),您可以建立 QuickSight 許可政策以授予執行特定動作的權限。然後,您可以將策略附加到稍後傳遞給的IAM角色 QuickSight。以下是如何設定及附加其他權限原則至IAM角色的範例。

如需 Athena 的受管政策範例,請參閱 Amazon Athena 使用者指南中的AWSQuicksightAthenaAccess受管政策。 QuickSight IAM使用者可以在中 QuickSight 使用下列方式存取此角色ARN:arn:aws:iam::aws:policy/service-role/AWSQuicksightAthenaAccess

以下是 Amazon S3 QuickSight 中的許可政策範例。如需搭配 Amazon S3 使IAM用的詳細資訊,請參閱 Amazon S3 使用者指南中的 Amazon S3 中的身分識別和存取管理

如需如何從 QuickSight另一個帳戶建立 Amazon S3 儲存貯體的跨帳戶存取權限的資訊,請參閱如何在另一個帳戶中設定從 Amazon QuickSight 到 Amazon S3 儲存貯體的跨帳戶存取? 在 AWS 知識中心。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws:s3:::*" }, { "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::aws-athena-query-results-us-west-2-123456789" ] }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::aws-athena-query-results-us-west-2-123456789/*" ] }, { "Action": [ "s3:ListBucketMultipartUploads", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::aws-athena-query-results-us-west-2-123456789" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-us-west-2-123456789/*" ] } ] }

在 Amazon 中使用現有IAM角色 QuickSight

如果您是 QuickSight 管理員,且擁有更新 QuickSight 資源和傳遞IAM角色的權限,則可以在中使用現有的IAM角色 QuickSight。若要深入瞭解傳遞IAM角色的先決條件 QuickSight,請參閱上一個清單中的prerequisites概述。

請使用下列程序來瞭解如何在中傳遞IAM角色 QuickSight。

若要使用中的現有IAM角色 QuickSight
  1. 在中 QuickSight,在右上角的導覽列中選擇您的帳戶名稱,然後選擇「管理」 QuickSight。

  2. 在開啟的「管理」 QuickSight 頁面上,選擇左側選單中的「安全性與權限」。

  3. 在開啟的「安全性與權限」頁面中,選擇「QuickSight 存取 AWS 服務」下方的「管理」。

  4. 對於IAM角色,請選擇 [使用現有角色],然後執行下列其中一個動作:

    • 從清單中選擇要使用的角色。

    • 或者,如果您沒有看到現有IAM角色的清單,則可以使IAMARN用下列格式輸入角色的:arn:aws:iam::account-id:role/path/role-name.

  5. 選擇儲存