ACL ルールのタイプ
システムのさまざまなコンポーネントに関する ACL ルールを作成します。
レコードの ACL ルール
レコードの ACL ルールはテーブル名とフィールド名で構成されます。
- テーブル名は保護するテーブルです。他のテーブルがこのテーブルから拡張されている場合、そのテーブルは親テーブルと見なされます。親テーブルの ACL ルールは、親テーブルを拡張するすべてのテーブルに適用されます。
- フィールド名は保護するフィールドです。テーブル拡張により、一部のフィールドが複数のテーブルに含まれています。親テーブル内のフィールドの ACL ルールは、親テーブルを拡張するすべてのテーブルに適用されます。
ACL ルールは、次のレコード操作を保護できます。
| 操作 | 説明 |
|---|---|
| 実行 | ユーザーがクライアント呼び出し可能スクリプトインクルードと REST エンドポイントの実行を実行できるようにします。 |
| query_match | ユーザーが一致クエリ (「次の値に等しい (=)」、「次の値と異なる (!=)」、「は (空) である」など) を送信できるようにします。 |
| conditional_table_query_range | ユーザーが読み取り ACL に基づいて部分的な ACL アクセス権を付与できるようにします。 データ条件とスクリプトのない読み取り ACL を持つテーブルに対して作成されます。 |
| query_range | ユーザーが範囲クエリ (「次で始まる」、「次の値で終わる」、「は次の値を含む」など) を送信できるようにします。ソートに制限はありません。 |
| create | ユーザーが新しいレコード (行) をテーブルに挿入できるようにします。 |
| read | ユーザーがテーブルのレコードを表示できるようにします。 |
| write | ユーザーがテーブル内のレコードを更新できるようにします。 |
| delete | ユーザーがテーブルからレコードを削除したり、テーブルを削除したりできるようにします。 |
| edit_task_relations | ユーザーがタスク [task] テーブルを拡張できるようにします。 |
| edit_ci_relations | ユーザーが構成アイテム [cmdb_ci] テーブルを拡張できるようにします。 |
| save_as_template | ユーザーがレコードをテンプレートとして保存できるようにします。 |
| add_to_list | ユーザーがリストメカニズムの特定の列を表示またはカスタマイズできないようにします。 注: 条件とスクリプトはサポートされていません。 |
| list_edit | ユーザーがリストからレコード (行) を更新できるようにします。 |
| report_on | ユーザーがテーブルでレポートできるようにします。 |
| report_view | ユーザーがフィールド ACL でレポートできるようにします。 |
| personalize_choices | ユーザーがテーブルまたはフィールドを設定できるようにします。 |
| data_fabric | データファブリックテーブルがローカルテーブルを参照できるようにします。 |
- オブジェクトをテーブルの ACL ルールと照合します。
- オブジェクトをフィールドの ACL ルールと照合します。
この処理順序により、ユーザーは、より一般的なオブジェクトへのアクセス権を得る前に、より具体的なオブジェクトへのアクセス権を得ることができます。レコードオブジェクトにアクセスするには、テーブルとフィールドの両方の ACL ルールを満たす必要があります。
- ユーザーがテーブルの ACL ルールを満たしていない場合、ユーザーがフィールドの ACL ルールを満たしていても、テーブル内のすべてのフィールドへのアクセスが拒否されます。
- ユーザーがテーブルの ACL ルールを満たしていても、フィールドの ACL ルールを満たしていない場合、ユーザーはフィールドの ACL ルールによって記述されたフィールドにアクセスできません。
プロセッサの ACL ルール
プロセッサの ACL ルールは、保護するプロセッサを指定します。利用可能なプロセッサのリストについては、次に移動します .
デフォルトでは、メールクライアントを itil ロールを持つユーザーに制限するために、EmailClientProcessor の ACL ルールが含まれています。
プロセッサの ACL ルールは、それらのリソースに対してより具体的な ACL が見つからない場合、星 (*) ルールに従います。
テーブル ACL ルール
ユーザーは最初にテーブルの ACL ルールに合格する必要があります。ベースシステムにはすべてのテーブルに一致する星 (*) テーブルの ACL ルールが含まれているため、ユーザーは常に少なくとも 1 つのテーブル ACL ルールを満たす必要があります。ベースシステムは、特定のテーブルへのアクセスを制御する追加のテーブル ACL ルールを提供します。
- テーブル名と一致します。たとえば、incident などです。
- 親テーブル名と一致します。たとえば、task です。
- いずれかのテーブル名 (*) と一致します。たとえば、* です。
ユーザーがすべてのテーブルの ACL ルールを満たしていないと、ユーザーはテーブル内のフィールドにアクセスできません。ユーザーがテーブルの ACL ルールを満たすと、フィールドの ACL ルールが評価されます。
フィールドの ACL ルール
- テーブルおよびフィールド名と一致します。たとえば、incident.number です。
- 親テーブルおよびフィールド名と一致します。たとえば、task.number です。
- いずれかのテーブル (*) およびフィールド名と一致します。たとえば、*.number です。
- テーブルおよびいずれかのフィールド (*) と一致します。たとえば、incident.* です。
- 親テーブルおよびいずれかのフィールド (*) と一致します。たとえば、task.* です。
- いずれかのテーブル (*) およびフィールド (*) と一致します。たとえば、*.* です。
テーブルのフィールドへのアクセスを許可するには、ユーザーがテーブル ACL ルールを満たす必要があります。たとえば、インシデントテーブルの [番号] フィールドにアクセスするには、まずインシデントテーブルのテーブル ACL ルールを満たす必要があります。
最初に成功したフィールド ACL 評価は、フィールドレベルで ACL ルール処理を停止します。ユーザーがフィールド ACL ルールを満たすと、他の一致するフィールド ACL ルールの検索を停止します。たとえば、ユーザーが incident.number のフィールド ACL ルールを満たしている場合、システムはインシデントテーブルの [番号] フィールドを保護する他の ACL ルールの検索を停止します。
保護されたフィールドでは推定データのクエリ情報へのアクセスが制限されているため、予測情報が返されません。
UI ページの ACL ルール
UI ページの ACL ルールは、保護する UI ページを指定します。利用可能な UI ページのリストについては、次に移動します . UI ページの ACL ルールを定義するときは、完全にスコープ範囲内のページ名を使用します。たとえば、x_myapp_mypage です。
UI ページの ACL ルールは、それらのリソースに対してより具体的な ACL が見つからない場合、星 (*) ルールに従います。たとえば、mysecretpage という名前の UI ページがあり、この UI ページの ACL が定義されていない場合は、UI ページプロセッサの星 (*) ルールがアクセスチェックに使用されます。
ACL ルールは、次の UI ページ操作を保護できます。
| 操作 | 説明 |
|---|---|
| read | ユーザーが UI ページを表示できるようにします。 |
クライアント呼び出し可能スクリプトインクルードの ACL ルール
スクリプトインクルードの ACL ルールは、保護するクライアント呼び出し可能スクリプトインクルードを指定します。利用可能なスクリプトインクルードのリストについては、次に移動します . リストをカスタマイズして [クライアント呼び出し可能] 列を表示できます。
ベースシステムには、クライアント呼び出し可能スクリプトインクルードの ACL ルールが含まれていません。
クライアント呼び出し可能スクリプトインクルードの ACL ルールは、それらのリソースに対してより具体的な ACL が見つからない場合、星 (*) ルールに従います。