ACL ルールの構成
カスタムアクセス制御リスト (ACL) ルールを設定して、新しいオブジェクトへのアクセスを保護するか、デフォルトのセキュリティ動作を変更します。
始める前に
必要なロール:security_admin
このタスクについて
ACL ルールを作成するには、特権を security_admin ロールに昇格させる必要があります。
ACL ルールレコードとは異なるスコープ内のテーブルの場合は、ルールのタイプが制限されます。スコープマスターテーブルでスコープを派生させてスコープ付き ACL を実行するには、 glide.enforce_security_scope.<scope_name> プロパティを true に設定します。すると、該当するテーブルで作成されたスコープ固有の ACL がある場合に、グローバルスコープ内の ACL が一致しなくなります。たとえば、sys_attachment テーブルや sys_question_answer テーブルといったグローバルスコープ内の共有アプリケーションテーブル内のデータを保護する場合などです。
手順
- security_admin ロールに昇格された特権ロール。
- 次のように移動する。 システムセキュリティ > アクセス制御 (ACL).
-
[New] をクリックします。
ヒント:新しい ACL を作成する場合は、 「次の場合を除き却下 (Deny-Unless)」ACLを確認すると便利です。
-
フォームを完了します。
表 : 1. アクセス制御フィールド フィールド 説明 タイプ この ACL ルールが保護するオブジェクトの種類を選択します。オブジェクトのタイプによって、オブジェクトの命名方法と使用可能な操作が決まります。このフィールドは、ACL ルールが作成された後に読み取り専用になります。タイプを変更する場合は、ACL を削除して正しいタイプで新しい ACL を作成する必要があります。 操作 この ACL ルールで保護する操作を選択します。各オブジェクトタイプには、独自の操作リストがあります。ACL ルールは 1 つの操作のみを保護できます。複数の操作を保護するには、それぞれに個別の ACL ルールを作成します。 report_view操作のルールを作成する場合は、「 Report_view access control」も参照してください。
意思決定タイプ ACL の意思決定タイプを選択します。次の場合に許可 評価が正常に完了したときにアクセスを許可します。[次の場合を除き却下 (Deny Unless )] は、評価が成功しない限りアクセスを拒否します。詳細については、 「次の場合を除き却下 (Deny-Unless)」ACL を参照してください。 アドミン優先 admin ロールを持つユーザーがこの ACL ルールの権限チェックに自動的に合格するようにするには、このチェックボックスをオンにします。admin ユーザーは、適用されるスクリプトまたはロールに関係なく合格します。ただし、ServiceNow の担当者のみが割り当てることができる nobody ロールは、admin 上書きオプションよりも優先されます。ACL に nobody ロールが割り当てられている場合、[admin 優先] が選択されていても、admin ユーザーはリソースにアクセスできません。「ベースシステムロール」を参照してください。
アドミニストレーターがこの ACL ルールで定義された権限を満たして、保護されたオブジェクトにアクセスする必要がある場合は、このチェックボックスをオフにします。アドミニストレーターは常にロールチェックに合格するため ([必要なロール] フィールドの説明を参照)、条件ビルダーまたは [スクリプト] フィールドを使用して、アドミニストレーターが合格する必要がある権限チェックを作成します。
保護ポリシー ACL に保護ポリシーを設定するには、これを選択します [Name (名前)] 保護されるオブジェクトの名前 (レコード名またはテーブル名とフィールド名) を入力します。名前が具体的であるほど、ACL ルールも具体的になります。レコード、テーブル、またはフィールド名の代わりにワイルドカード文字のアスタリスク (*) を使用して、レコードタイプ、すべてのテーブル、またはすべてのフィールドに一致するすべてのオブジェクトを選択できます。ワイルドカード文字とテキスト検索を組み合わせることはできません。たとえば、inc* は有効な ACL ルール名ではありませんが、incident.* および *.number は有効な ACL ルール名です。 注:青い三角形をクリックし、レコード名または保護されるオブジェクトのテーブル名とフィールド名を手動で入力します。ドロップダウンに表示されないオブジェクトを保護するには、このオプションを使用します。説明 この ACL ルールによって保護されるオブジェクトまたは権限の説明を入力します。 [Active (アクティブ)] この ACL ルールを適用するには、このチェック ボックスをオンにします。 詳細 [詳細条件] フィールドを表示するには、このチェックボックスをオンにします。ステップ 6 を参照してください。 - オプション:
ACL の適用範囲を絞り込むには、必要に応じて [条件 ] フィールドに入力します。
ロールが必要 このリストを使用して、ユーザーがオブジェクトにアクセスするために必要なロールを指定します。複数のロールをリストする場合、リストされているロールのいずれかを持つユーザーがオブジェクトにアクセスできます。必要なロールリストが関連リストとして表示されます。 注:admin ロールを持つユーザーは、他のすべてのロールが自動的に付与されるため、常にこの権限チェックに合格します。データ条件 この条件ビルダーを使用して、ユーザーがこのオブジェクトにアクセスするために true でなければならないフィールドと値を選択します。 注:[条件] フィールドでは大文字と小文字が区別されます - オプション:
[詳細] ボックスがオンになっている場合は、必要に応じて [詳細条件] フィールドに入力します
参照による制御 関連レコードに ACL を適用します。詳細については、「関連レコードへのアクセス」を参照してください。 スクリプト オブジェクトにアクセスするために必要な権限を記述するカスタムスクリプトを入力します。スクリプトでは、現在および 前のビジネスルールのグローバル変数およびシステムプロパティの値を使用できます。スクリプトは、次の 2 つの方法のいずれかで true または false の応答を生成する必要があります。 - true または false の値に設定された回答変数を返します。
- true または false に評価します。
いずれの場合も、スクリプトが true と評価され、ユーザーが ACL ルールの条件を満たしている場合にのみ、ユーザーはオブジェクトにアクセスできます。ユーザーがオブジェクトにアクセスするには、条件とスクリプトの両方が true と評価される必要があります。
[スクリプト] フィールドにスクリプトがある場合。このスクリプトは、フィールドがフォームに表示されていない場合でも実行されます。
注:評価されたアイテムが関連リストにある場合、現在のポイントは、ACL の現在のアイテムではなく、関連リストがあるアイテムを指します。ただし、ACL を評価しているアイテムが関連リストにない場合、現在のポイントは実際のアイテムを指します。 - フォームヘッダーを右クリックし、[保存] を選択します。