Process Mining
2021.10
バナーの背景画像
Process Mining
最終更新日 2024年4月2日

アクセス マトリックスを使用して、データへのロールベースのアクセスを有効化する

はじめに

このページでは、アクセス マトリックスを使用して、エンドユーザーがデータにロールベースでアクセスできるようにする方法について説明します。

パート 1: アクセスマトリックスファイルを定義する

アクセス マトリックスでは、ディスカバリー アクセラレータ、アプリ、またはプロセスで使用されるデータのどの部分にアクセスできるユーザーが定義されます。

エンドユーザーのメール アドレスがアクセス マトリックスで確認されます。 アクセス権は、ユーザーのメール アドレスと、アクセス マトリックス ファイルで定義されたディスカバリー アクセラレータ、アプリ、またはプロセスの識別に使用する属性との関係に基づいて付与されます。

以下の画像でマトリックス ファイルの例をご確認ください。



メモ: Access Matrix ファイルには、少なくとも Email フィールドと、ユーザーに表示が許可されているデータの識別に使用するフィールドを含める必要があります。 この例では、 Company code visibility 属性を使用してプロセス データを識別します。

メールの書式設定には、大文字と小文字を使用できます。 アクセラレータまたはアプリで、フォーマットが確認され、必要に応じて調整されます。 パート 4をご覧ください。

この例では、データをフィルター処理するための列として企業コードの表示設定を使用します。 この列には複数の値を含めることができます。これにより、データはフィルター処理されて、ユーザーは許可されている企業コードしか表示できません。 企業コードは、同じ列内でコンマで区切られます。

パート 2: アクセス マトリクス ファイルをアップロードする

ディスカバリー アクセラレータ、アプリ、またはプロセスでアクセス マトリックス ファイルを使用するには、このファイルを [Superadmin Server のデータ ] タブにアップロードする必要があります。 「 サーバー データ タブ」をご覧ください

以下の画像で例をご確認ください。



上の例では 、Purchase-to-Pay Discovery Accelerator のアクセス マトリックスが使用されていますが、他のすべてのディスカバリー アクセラレータまたはアプリで同じ方法で使用できます。 複数のファイルを維持したり、元の Excel ファイルに列を追加したりすることができます。

アプリケーション レベルの制限については、「 認証」をご覧ください。

パート 3: アクセス マトリックスへのアクセスに使用するテーブルを作成する

ディスカバリー アクセラレータまたはアプリからのアクセス マトリックスにアクセスするには、以下を作成する必要があります。

tables:

  • 現在のユーザーを表示するシステム テーブル
  • [ サーバー データ ] タブのアクセス マトリックスにアクセスするための接続文字列の表

以下の画像で例をご確認ください。



この例では、次の表が使用されています。

  • User
  • Access Matrix です。

ユーザー テーブル

現在のユーザーを表示するシステム テーブルを作成するには、以下の手順に従います。

手順

操作

1

開発環境でアクセラレータまたはアプリを開き、[ データ ] タブに移動します。

2

表のリストを右クリックし、[ 新しいテーブル] -> [System table...] を選択します。

3

新しい表をダブルクリックし、 表のスコープ として [ Current user] を選択します。

[OK] をクリックします。

4

F2 キーを押して、新しい表の名前を 「User」に変更します

User テーブルは、現在のユーザーを表示するシステム テーブルです。データへのアクセス権はメールに基づいて確認されます。

表をAccess_Matrix

Access Matrix テーブルでは、接続文字列を、[Superadmin Server data ] タブのアクセス マトリックス ファイルに使用します。アクセス マトリックス ファイルを読み込む接続文字列の表を作成するには、以下の手順に従います。

手順

操作

1

表のリストを右クリックし、[ 新しいテーブル] -> 接続文字列...] を選択します。

2

新しい表を右クリックして、[ 詳細設定] - [オプションを>]を選択します。

3

[ 表のオプション] ダイアログで、[ 詳細 ] セクションの [ 表のスコープ ] フィールドのドロップダウン リストをクリックし、スコープを [Server] に変更します。

4

新しい表をダブルクリックして、[ サーバー データ ] タブにアップロードしたアクセス マトリックス ファイルに接続文字列を追加します。

[OK] をクリックします。

5

F2 キーを押して、新しい表の名前を 変更してAccess_Matrix

以下の画像でご確認ください。



パート 4: ユーザーが表示できるデータを確認する式を作成する

この部分は、次の手順で構成されています。

手順 1: 入力形式を修正します。

手順 2: ログイン ユーザーをアクセス マトリックスと一致させる

手順 3: キャッシュ生成にフォールバックを作成する

手順 4: データをフィルター処理します。

手順 1: 入力形式を修正する

アクセス マトリックスと Active Directory 内のエンドユーザーの間でメールの書式設定が似ているようにするには、メールの書式設定を取り除く式を作成する必要があります。 式を作成するには、以下の手順に従います。

手順

操作

1

Access_matrix テーブルをクリックします。

2

表の項目リストを右クリックし、[ New expression...] を選択します。

3

[名前] フィールドに「 Email 」と入力し、[ 種類 ] として [ レコードごと] を選択します。

4

式を入力します。

trim(lower(Email_input))

5

[OK] をクリックします。

以下の画像でご確認ください。



ステップ2:ログインユーザーをアクセスマトリックスに一致させる

ユーザーが表示できる会社コード (または他のデータ属性) を返す検索式を User テーブルに作成する必要があります。

手順

操作

1

[ User ] テーブルをクリックします。

2

表の項目リストを右クリックし、[ New expression...] を選択します。

3

[Name] フィールドに 企業コードの可視性ルックアップ を入力し、[種類] として [Lookup ] を選択 します

4

[ Access_Matrix入力テーブルとして選択します。

5

式を入力します。

any(records.Company_code_visibility_input)

6

[設定] パネルを右クリックして [ レベルを追加] を選択します。

7

[ ... ] をクリックして、 Email 式を選択します。

8

[Email expression]** を右クリックし、[ Set as expression level] を選択します。

9

[OK] をクリックします。

以下の画像でご確認ください。



ユーザーにすべてを表示できる場合は、 ALL が返されます。 アクセス マトリックスでユーザーが定義されていない場合、lookup は NULLを返し、新規ユーザーにデータが表示されないようにします。

手順 3: キャッシュ生成のフォールバックを作成する

これは、キャッシュの生成中にすべてのデータがキャッシュを生成するために取得されるようにするために必要な手順です。 キャッシュの生成とすべてのデータのフィルター処理時に NULL が返されるアクセス マトリックスを回避するには、フォールバックを設定する必要があります。

データセット全体に対してキャッシュが生成されるように、 ALL をフォールバックとして使用できます。 つまり、キャッシュの生成時にフィルター処理が適用されません。 データは、キャッシュの生成後にのみ特定のユーザーに対してフィルター処理されます。 このロジックは、新しいユーザーを作成する際はメール フィールドが必須フィールドであるため、他のユーザーの場合は空にならなくなります。 キャッシュの生成時にメール フィールドは空であるため、フィルターは適用されません。

フォールバック 機能を備える式を作成するには、以下の手順に従います。

手順

操作

1

[ User ] テーブルをクリックします。

2

表の項目リストを右クリックし、[ New expression...] を選択します。

3

[Name] フィールドに 企業コードの可視性 を入力し、[種類] として [ レコードごと ] を選択 します

4

式を入力します。

if ( Email = NULL , "ALL" , Company_code_visibility_lookup )

5

[OK] をクリックします。

以下の画像でご確認ください。



「ALL」が割り当てられている場合、ユーザーはすべてのデータを表示できます。 そうでない場合、ユーザーに表示できるデータは会社コード (またはユーザーが指定したその他の属性) によって決定されます。

ステップ 4: データをフィルタリングする

式は、ユーザーに "ALL" が割り当てられているかどうかを確認する必要があります。 この場合、すべてのデータがユーザーに表示されます。 それ以外の場合は、式が属性を抽出して、この属性がリストに含まれているかどうかを確認する必要があります。

アクセス マトリックスの企業コードは 1 つの行で維持されるため、各会社コード (またはユーザーが指定したその他の属性) のリストを確実に作成するには、コードを分割およびトリミングする必要もあります。 トリミングは、テキスト内の不要なスペースを取り除くために使用されます。

データをフィルター処理する式を作成するには、以下の手順に従います。

手順

操作

1

Cases_data テーブルをクリックします。

2

表の項目リストを右クリックし、[ New expression...] を選択します。

3

[Name] フィールドに 企業コード フィルター ユーザー を入力し、[種類] として [ レコードごと ] を選択 します

5

式を入力して企業コードのリストを定義します。

var list := trim(split(Company_code_visibility, ","));

8

ユーザーに「ALL」が割り当てられている場合の式を入力します。

if( "ALL" in list , TRUE , split(Company_code, " " ,0) in list )

9

[OK] をクリックします。

以下の画像でご確認ください。



結合内でこの式を使用すると、許可されたデータのみが表示され、データがフィルター処理されて表示されます。 以下は、ケース データをフィルター処理するための特定の企業コードの結果を示す結合の例であり、結果としてケースが大幅に少なくなります。

メモ: ケースにはフィルターを使用することをお勧めします。 ただし、このアプローチはイベントをフィルター処理する場合にも使用できます。


Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.