本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在為匿名使用者嵌入儀表板時,透過以標籤為基礎的規則使用資料列層級安全來限制對資料集的存取
| 適用於:企業版 |
| 目標對象:Amazon Quick Suite 管理員和 Amazon Quick Suite 開發人員 |
當您為未在 Quick Suite 中佈建 (註冊) 的使用者在應用程式中嵌入 Amazon Quick Suite 儀表板時,您可以使用資料列層級安全性 (RLS) 搭配標籤。在這種情況下,您使用標籤來指定使用者根據其身分可以在儀表板中看到的資料。
例如,假設貴公司是一家物流公司,提供面向各個零售商客戶的應用程式。這些零售商的數千名使用者存取該應用程式,以查看與訂單從倉庫發貨相關的指標。
您不想在 Quick Suite 中管理數千名使用者,因此您可以使用匿名內嵌,在您的應用程式中嵌入已驗證和授權使用者可以看到的所選儀表板。但是,您希望零售商只能看到與其業務相關的資料,而不能看到其他公司的資料。您可以透過標籤使用 RLS,以確保客戶只看到與自己相關的資料。
若要這樣做,請完成下列步驟:
-
新增 RLS 標籤至資料集。
-
使用
GenerateEmbedUrlForAnonymousUserAPI 操作在執行期為這些標籤指派值。如需使用
GenerateEmbedUrlForAnonymousUserAPI 操作為匿名使用者內嵌儀表板的詳細資訊,請參閱 為匿名 (未註冊) 使用者嵌入 Amazon Quick Sight 儀表板。
在透過標籤使用 RLS 之前,請記住以下幾點:
-
透過標籤使用 RLS 目前僅支援匿名內嵌,特別是使用
GenerateEmbedUrlForAnonymousUserAPI 操作實現的內嵌式儀表板。 -
使用
GenerateEmbedURLForRegisteredUserAPI 操作或舊的GetDashboardEmbedUrlAPI 操作的內嵌式儀表板不支援透過標籤使用 RLS。 -
AWS Identity and Access Management (IAM) 或 Quick Suite 身分類型不支援 RLS 標籤。
-
對 SPICE 資料集套用資料列層級安全時,資料集中的每個欄位最多可以包含 2,047 個 Unicode 字元。超過此限制的欄位將在擷取過程中被截斷。若要進一步了解 SPICE 資料配額,請參閱 匯入資料的 SPICE 配額。
步驟 1:將 RLS 標籤新增至資料集
您可以將標籤型規則新增至 Amazon Quick Suite 中的資料集。您也可以呼叫 CreateDataSet 或 UpdateDataSet API 操作來新增以標籤為基礎的規則。如需詳細資訊,請參閱使用 API 將 RLS 標籤新增至資料集。
使用下列程序將 RLS 標籤新增至 Quick Suite 中的資料集。
將 RLS 標籤新增至資料集
-
從 Quick Suite 開始頁面,選擇左側的資料。
-
選擇您要新增 RLS 的資料集。
-
在開啟的資料集詳細資訊頁面上,針對資料列層級安全,選擇設定。
-
在開啟的設定資料列層級安全頁面上,選擇以標籤為基礎的規則。
-
針對資料欄,選擇要新增標籤規則的資料欄。
例如,在這個物流公司的案例中,使用的是
retailer_id資料欄。僅列出資料類型為字串的資料欄。
-
針對標籤,輸入標籤索引鍵。您可以輸入任何您想要的標籤名稱。
例如,在這個物流公司的案例中,使用的標籤索引鍵是
tag_retailer_id。執列此操作會根據存取應用程式的零售商設定資料列層級安全。 -
(選用) 針對分隔符號,從清單中選擇分隔符號,或輸入所需分隔符號。
為標籤指派多個值時,可以使用分隔符號分隔文字字串。分隔符號的值最長可為 10 個字元。
-
(選用) 針對全部相符,選擇*,或輸入所需的一個或多個字元。
當您想要按資料集中該資料欄的所有值進行篩選時,此選項可以是您想要使用的任何字元。您可以使用這個字元,而不用一一列出值。如果指定此值,則可以是至少一個字元,或長度上限為 256 個字元。
-
選擇新增。
標籤規則已新增至資料集並列在底部,但尚未套用。若要將另一個標籤規則新增至資料集,請重複步驟 5-9。若要編輯標籤規則,請選擇規則後面的鉛筆圖示。若要刪除標籤規則,請選擇規則後面的刪除圖示。您最多可以為每個資料集新增 50 個標籤。
-
當您準備好將標籤規則套用到資料集時,請選擇套用規則。
-
在開啟的「開啟以標籤為基礎的安全?」頁面上,選擇套用並啟動。
以標籤為基礎的規則現在處於作用中狀態。在設定資料列層級安全頁面上,會出現一個切換開關,可用於開啟和關閉資料集的標籤規則。
若要關閉資料集的所有以標籤為基礎的規則,請關閉以標籤為基礎的規則開關,然後在出現的文字方塊中輸入 "confirm"。
在資料頁面上,資料集列中會出現鎖定圖示,指出已啟用標籤規則。
現在您可以使用標籤規則在執行期設定標籤值,如 步驟 2:在執行期為 RLS 標籤指派值 中所述。這些規則只會在作用中時影響 Quick Suite 讀取器。
重要
在資料集上指派和啟用標籤後,請務必授予 Quick Suite 作者許可,以在編寫儀表板時查看資料集中的任何資料。
若要授予 Quick Suite 作者在資料集中查看資料的許可,請建立許可檔案或查詢以用作資料集規則。如需詳細資訊,請參閱建立資料列層級安全的資料集規則。
建立以標籤為基礎的規則後,會出現一個新的管理規則表,其中顯示以標籤為基礎的規則如何相互關聯。若要變更管理規則表中所列的規則,請選擇規則後面的鉛筆圖示。然後新增或移除標籤,並選擇更新。若要將更新的規則套用到資料集,請選擇套用。
(選用) 對 RLS 標籤新增 OR 條件
您也可以將 OR 條件新增至標籤型規則,以進一步自訂資料呈現給 Quick Suite 帳戶使用者的方式。當您將 OR 條件與標籤型規則搭配使用時,如果規則中定義的至少一個標籤有效,則 Quick Suite 中的視覺效果會顯示。
對以標籤為基礎的規則新增 OR 條件
-
在管理規則表中,選擇新增 OR 條件。
-
在出現的選取標籤下拉式清單中,選取要對其建立 OR 條件的標籤。您最多可以在管理規則表中新增 50 個 OR 條件。您可以將多個標籤新增至資料集中的單一資料欄,但至少有一個資料欄標籤需要包含在規則中。
-
選擇更新將條件新增至規則中,然後選擇套用將更新後的規則套用到資料集。
使用 API 將 RLS 標籤新增至資料集
您也可以透過呼叫 CreateDataSet 或 UpdateDataSet API 操作,在資料集上設定和啟用以標籤為基礎的資料列層級安全。透過下列範例了解如何操作。
重要
在資料集上指派和啟用標籤後,請務必授予 Quick Suite 作者許可,以在編寫儀表板時查看資料集中的任何資料。
若要授予 Quick Suite 作者在資料集中查看資料的許可,請建立許可檔案或查詢以用作資料集規則。如需詳細資訊,請參閱建立資料列層級安全的資料集規則。
如需 RowLevelPermissionTagConfiguration元素的詳細資訊,請參閱《Amazon Quick Suite API 參考》中的 RowLevelPermissionTagConfiguration。
步驟 2:在執行期為 RLS 標籤指派值
您只能將 RLS 標籤用於匿名內嵌。您可以使用 GenerateEmbedUrlForAnonymousUser API 操作設定標籤的值。
以下範例顯示如何為上一個步驟中資料集中定義的 RLS 標籤指派值。
POST /accounts/AwsAccountId/embed-url/anonymous-user HTTP/1.1 Content-type: application/json { “AwsAccountId”: “string”, “SessionLifetimeInMinutes”: integer, “Namespace”: “string”, // The namespace to which the anonymous end user virtually belongs “SessionTags”: // Optional: Can be used for row-level security [ { “Key”: “tag_retailer_id”, “Value”: “West,Central,South” } { “Key”: “tag_role”, “Value”: “shift_manager” } ], “AuthorizedResourceArns”: [ “string” ], “ExperienceConfiguration”: { “Dashboard”: { “InitialDashboardId”: “string” // This is the initial dashboard ID the customer wants the user to land on. This ID goes in the output URL. } } }
以下是回應定義的範例。
HTTP/1.1 Status Content-type: application/json { "EmbedUrl": "string", "RequestId": "string" }
只有在 GenerateEmbedUrlForAnonymousUser API 操作中才支援在 Quick Suite 中註冊使用者的 RLS 支援。在此操作中,您可以在 SessionTags 下定義與資料集資料欄關聯的標籤的值。
本例定義下列指派:
-
值
West、Central和South在執行期指派給tag_retailer_id標籤。逗號用作分隔符號,這在資料集中的TagMultipleValueDelimiter中定義。若要使用資料欄中的全部值,您可以將該值設為 *,該值在建立標籤時定義為MatchAllValue。 -
指派值
shift_manager給tag_role標籤。
使用產生的 URL 的使用者只能檢視 role 資料欄中具有 shift_manager 值的資料列。該使用者只能檢視 retailer_id 資料欄中的值 West、Central 或 South。
如需使用 GenerateEmbedUrlForAnonymousUser API 操作為匿名使用者嵌入儀表板的詳細資訊,請參閱《Amazon Quick Suite API 參考》中的 為匿名 (未註冊) 使用者嵌入 Amazon Quick Sight 儀表板或 GenerateEmbedUrlForAnonymousUser