組織のメンバー数が多数に及ぶ場合、タグベースの権限付与を活用することで、すべてのユーザーに対して一度に権限を付与できます。これにより、個別のユーザーまたはユーザーグループごとに権限を設定する手間を省き、運用コストと複雑さを削減するとともに、今後の管理を簡素化できます。本トピックでは、タグベースの権限付与の実施方法について説明します。
シナリオ
ユーザーのタグ管理による権限付与は、多数のユーザーを抱え、かつ権限要件が多様な組織に適しています。この権限付与方式では、ユーザー単位のアクセス制御ポリシーを用いて、各ユーザーに最適化された権限管理を実現します。たとえば、担当エリアが異なるユーザーは、それぞれの担当エリアに属するデータのみを閲覧できます。
前提条件
データセットが作成されました。詳細については、「データセットの作成」をご参照ください。
注意事項
本トピックは、2021 年 6 月 3 日以降に Quick BI の購入または無料トライアル開始を行ったユーザーのみに適用されます。該当しない場合は、本トピックで説明する操作を実行する前に、従来の行レベルの権限機能から最新版へスペックアップしてください。詳細については、「行レベルの権限のスペックアップ」をご参照ください。
制限事項
行レベルの権限の設定は、Premium Edition および Professional Edition のみでサポートされています。
行レベルの権限の設定は、データセットのオーナーおよびワークスペース管理者のみが実行できます。
説明ワークスペース開発者は、自身が作成したデータセットに対してのみ行レベルの権限を設定できます。ワークスペース管理者は、すべてのデータセットに対して行レベルの権限を設定できます。
操作手順
Quick BI コンソール にログインします。データセットの行レベルの権限は、ワークベンチまたはデータセット編集ページから設定できます。
機能へのアクセス方法
エントリ 1
ワークベンチからデータセットの行レベルの権限を設定します。
図の手順に従って、行レベルの権限 設定ページに移動します。

行レベルの権限を有効化 をオンにします。

行レベルの権限 設定ページで、ユーザーのタグ管理による権限付与 を選択し、関連付け条件の設定 を実行します。

[保存] をクリックします。
エントリ 2
データセット編集ページからデータセットの行レベルの権限を設定します。
上部ツールバーで [高度な構成] をクリックし、[権限制御] → [行レベルの権限] を選択します。

行レベルの権限を有効化 をオンにします。
行レベルの権限 設定ページで、ユーザーのタグ管理による権限付与 を選択し、関連付け条件の設定 を実行します。
[保存] をクリックします。
エントリ 3
データセットを作成するときに、行レベルの権限を設定します。データセットを作成する。
データセットのプレビュー画面で、
アイコンをクリックして 行レベルの権限 設定ページに移動します。
行レベルの権限を有効化 をオンにします。
行レベルの権限 設定ページで、ユーザーのタグ管理による権限付与 を選択し、関連付け条件の設定 を実行します。
[保存] をクリックします。
関連付け条件の設定

[制御対象フィールドの追加] をクリックします。
制御対象フィールド および ユーザーのタグテーブルのフィールド を選択します。
複数の関連付け条件を追加する場合、AND 論理または OR 論理を選択できます。AND を選択した場合、すべてのルールを満たす必要があり、OR を選択した場合、いずれかのルールを満たせば権限が有効になります。
タグテーブルに同一ユーザーのタグが複数行存在する場合、[計算時に複数行を 1 行にマージ] または [各行を個別に計算] を選択します。
[計算時に複数行を 1 行にマージ]:各タグについて複数行の UNION を取得し、その後、タグを 1 列にマージして権限検証を行います。
たとえば、ユーザーのタグテーブルは以下のとおりです:
ユーザー
エリア
都道府県
市区町村
user1
北東
ALL_VALUES
ALL_VALUES
user1
南東
浙江省
杭州市
1 行での計算ロジックは以下のとおりです:
where Area in {'Northeast', 'Southeast'} and 'BI' = 'BI' and 'BI' = 'BI'権限の効果は、以下と同じです:
ユーザー
エリア
都道府県
市区町村
user1
北東,南東
ALL_VALUES
ALL_VALUES
[各行を個別に計算]:各タグ値の行は一組の権限を表します。複数行の間では OR 論理が使用されます。[各行を個別に計算] モードは、すべての ユーザーのタグテーブルのフィールド が同一のユーザーのタグテーブルから取得されている場合にのみ使用できます。たとえば:
条件間の関係が AND の場合、ユーザーのタグテーブルが以下のとおりであるとします:
ユーザー
エリア
都道府県
市区町村
user1
北東
$ALL_VALUES$
$ALL_VALUES$
user1
華北,西南
$ALL_MEMBERS$
$ALL_MEMBERS$
user1
南東
浙江省
杭州市
各行を個別に計算するロジックは以下のとおりです:
where (Area = 'Northeast' and 'BI' = 'BI' and 'BI' = 'BI') or (Area in {'North China', 'Southwest'}) or (Area = 'Southeast' and Province = 'Zhejiang' and City = 'Hangzhou')条件間の関係が OR の場合、ユーザーのタグテーブルが以下のとおりであるとします:
ユーザー
エリア
製品タイプ
user1
北東
$ALL_VALUES$
user1
華北,西南
$ALL_MEMBERS$
user1
南東
家具
各行を個別に計算するロジックは以下のとおりです:
where (Area = 'Northeast' or 'BI' = 'BI') or (Area in {'North China', 'Southwest'}) or (Area = 'Southeast' or Product_Type = 'Furniture')権限の効果は、以下と同じです:
ユーザー
エリア
製品タイプ
user1
北東,華北,西南,南東
$ALL_VALUES$
[保存] をクリックします。
ホワイトリストの設定
これらのルールを適用したくない特定のユーザーがいる場合、そのユーザーをホワイトリストに追加します。
行レベルの権限のコピー
他のデータセットから行レベルの権限をコピーできます。詳細については、「行レベルの権限のコピー」をご参照ください。
シナリオ
タグテーブルは、ユーザーが管理するタグテーブル(ユーザーのタグテーブル)または Quick BI 内で直接設定されたタグ(手動管理タグテーブル)のいずれかを出所としています。以下では、これら 2 つのシナリオについて説明します。
シナリオ | 実施手順 |
| |
|
シナリオ 1:ユーザーのタグテーブルをアタッチしてアクセス制御を実行
ユーザーのタグテーブルをカスタマイズします。
データソースに格納されたユーザーのタグテーブルをアタッチすると、Quick BI は最新のメンバーのタグ情報をリアルタイムで読み取ります。手動でのメンテナンスは不要です。
タグテーブルをカスタマイズする際は、ユーザーのタグテーブルが以下の要件を満たしていることを確認してください:
Alibaba Cloud アカウント ID (account_id)、Alibaba Cloud アカウント名 (account_name)、または Quick BI 組織内のニックネーム (nick_name) のいずれかを含む必要があります。
説明Alibaba Cloud アカウント ID または Alibaba Cloud アカウント名を使用する場合、そのユーザーがすでに Quick BI 組織に存在することを確認してください。
少なくとも 1 つの タグ フィールド(例:area)を含む必要があります。
複数のタグがある場合、カンマ (,) で区切るか、複数行で記述できます。
$ALL_MEMBERS$は、すべての権限が付与されることを意味します。
ユーザーのタグテーブルをアタッチします。
テーブルをアタッチ後、ユーザーのタグテーブル内の Alibaba Cloud アカウント ID (account_id)、Alibaba Cloud アカウント名 (account_name)、またはニックネーム (nick_name) フィールドをプライマリキーとして使用し、Quick BI 組織内のメンバーと関連付けます。
[] [Quick BI コンソール] にログインします。
Quick BI のホームページで、図の手順に従ってタグテーブルのアタッチページに移動します。

アタッチするユーザーのタグテーブルにカスタム名を設定します。
本例では、ユーザーのタグテーブルの名前を デモ タグテーブル とします。

図の手順に従って、アタッチするユーザーのタグテーブルを構成します。

ユーザーのタグテーブルのプレビューは、以下の図のとおりです。

ユーザーのタグを追加します。
ユーザーのタグテーブルのフィールド(例:area、province、city、order_number)と関連付けるためのユーザーのタグを追加します。関連付け後、ユーザーのタグテーブル内のタグ値が Quick BI のユーザーのタグに渡されます。
[ユーザーのタグ管理] タブをクリックし、[ユーザーのタグの追加] をクリックします。
[タグ名] および [関連付けタグテーブルのフィールド] を入力し、設定を保存します。

関連付けタグテーブルを Demo Tag Table に設定します。 タグ名を dy_area、dy_province、dy_city、および dy_order_number としてカスタマイズし、Demo Tag Table の area、province、city、および order_number フィールドにアタッチします。

タグベースの権限付与を利用します。
権限付与後、ユーザーのタグテーブル内のタグ値がすべてのデータセットに適用されます。権限付与されたユーザーは、自身の権限範囲内にあるデータのみを閲覧できます。
Quick BI のホームページで、図の手順に従って行レベルの権限設定ページに移動します。

[行レベルの権限を有効化] スイッチをオンにし、[権限付与方法] を [ユーザーのタグ関連付けによる権限付与] に設定します。

[関連付け条件の設定] 領域で、[制御対象フィールドの追加] をクリックします。
[制御対象フィールド] を選択し、[ユーザーのタグテーブルのフィールド] をアタッチします。
選択した制御対象フィールドおよびユーザーのタグテーブルのフィールドは、以下の図のとおりです。

[保存] をクリックします。
ホワイトリストに登録されたユーザー
これらのルールを適用したくない特定のユーザーがいる場合、そのユーザーをホワイトリストに追加します。

ダッシュボードで権限付与結果を確認します。
ダッシュボード編集ページでチャートを作成し、権限付与結果を確認します。
例えば、クロステーブルを作成します。注文数量が 50 である Hangzhou のデータを確認できます。

SQL 文のデータ取得ロジックを確認します。

シナリオ 2:手動で管理するタグテーブルを使用してアクセス制御を実行
Quick BI コンソール にログインします。
ユーザーのタグを設定します。
追加したユーザーのタグは、行レベルの権限を設定する際にタグをアタッチした後に閲覧可能なデータの範囲を制御するために使用されます。
次の図の手順に従ってユーザーのタグを追加します。

[タグ名] および [関連付けタグテーブルのフィールド] を入力し、設定を保存します。

タグ名を area、province、city、order_number とカスタマイズし、すべてのタグについて [関連付けタグテーブルのフィールド] を 手動入力 に設定します。

ユーザーのタグテーブルを手動で管理します。
手動管理タグテーブルで、1 人以上のユーザーを選択し、追加したユーザーのタグに値を割り当てます。
[タグ管理] ページで、左側のナビゲーションウィンドウから [手動管理] をクリックします。
対象のユーザーを検索し、タグ値を割り当てます。
本例におけるタグの割り当ては、以下の図のとおりです。

タグベースの権限付与を利用します。
権限付与後、ユーザーのタグテーブル内のタグ値がすべてのデータセットに適用されます。権限付与されたユーザーは、自身の権限範囲内にあるデータのみを閲覧できます。
Quick BI のホームページで、図の手順に従って行レベルの権限設定ページに移動します。

[行レベルの権限を有効化] スイッチをオンにし、[権限付与方法] を [ユーザーのタグ関連付けによる権限付与] に設定します。

[関連付け条件の設定] 領域で、[制御対象フィールドの追加] をクリックします。
[制御対象フィールド] を選択し、[ユーザーのタグテーブルのフィールド] をアタッチします。
選択した制御対象フィールドおよびユーザーのタグテーブルのフィールドは、以下の図のとおりです。

[保存] をクリックします。
ホワイトリストに登録されたユーザー。
これらのルールを適用したくない特定のユーザーがいる場合、そのユーザーをホワイトリストに追加します。

ダッシュボードで権限付与結果を確認します。
ダッシュボード編集ページでチャートを作成し、権限付与結果を確認します。
たとえば、クロステーブルを作成します。杭州 の 注文数 が 50 であるデータを確認できます。

SQL 文のデータ取得ロジックを確認します。

次のステップ
データセットを設定した後、データ分析を実行できます。詳細については、「ダッシュボードの作成」および「チャートの作成」をご参照ください。