ACL ルールの構成

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む5読むのに数分
  • 新しいオブジェクトへのアクセスを保護するため、またはデフォルトのセキュリティ動作を変更するためのカスタム ACL ルールを構成します。

    始める前に

    必要なロール:security_admin

    このタスクについて

    ACL ルールを作成するには、特権を security_admin ロールに昇格させる必要があります。

    ACL ルールレコードとは異なるスコープ内のテーブルの場合は、ルールのタイプが制限されます。スコープマスターテーブルでスコープを派生させてスコープ付き ACL を実行するには、glide.enforce_security_scope.<scope_name> プロパティを true に設定します。すると、該当するテーブルで作成されたスコープ固有の ACL がある場合に、グローバルスコープ内の ACL が一致しなくなります。たとえば、sys_attachment テーブルや sys_question_answer テーブルといったグローバルスコープ内の共有アプリケーションテーブル内のデータを保護する場合などです。

    手順

    1. security_admin ロールに昇格された特権ロール
    2. 移動先 システムセキュリティ > アクセス制御 (ACL).
    3. [新規] をクリックします。
    4. フォームに入力します。
      表 : 1. アクセス制御フィールド
      フィールド 説明
      タイプ この ACL ルールが保護するオブジェクトの種類を選択します。オブジェクトのタイプによって、オブジェクトの命名方法と使用可能な操作が決まります。このフィールドは、ACL ルールが作成された後に読み取り専用になります。タイプを変更する場合は、ACL を削除して正しいタイプで新しい ACL を作成する必要があります。
      操作 この ACL ルールで保護する操作を選択します。各オブジェクトタイプには、独自の操作リストがあります。ACL ルールは 1 つの操作のみを保護できます。複数の操作を保護するには、それぞれに個別の ACL ルールを作成します。
      管理者優先

      admin ロールを持つユーザーがこの ACL ルールの権限チェックに自動的に合格するようにするには、このチェックボックスをオンにします。管理者ユーザーは、適用されるスクリプトまたはロールに関係なく合格します。ただし、ServiceNow の担当者のみが割り当てることができる nobody ロールは、管理者上書きオプションよりも優先されます。ACL に nobody ロールが割り当てられている場合、[管理者優先] が選択されていても、管理者ユーザーはリソースにアクセスできません。「ベースシステムロール」を参照してください。

      管理者がこの ACL ルールで定義された権限を満たして、保護されたオブジェクトにアクセスする必要がある場合は、このチェックボックスをオフにします。管理者は常にロールチェックに合格するため ([必要なロール] フィールドの説明を参照)、条件ビルダーまたは [スクリプト] フィールドを使用して、管理者が合格する必要がある権限チェックを作成します。

      有効 この ACL ルールを適用するには、このチェック ボックスをオンにします。
      詳細 このチェックボックスをオンにすると、[スクリプト] フィールドが表示されます。
      重要:
      [スクリプト] フィールドにスクリプトがある場合。このスクリプトは、フィールドがフォームに表示されていない場合でも実行されます。
      名前 保護されるオブジェクトの名前 (レコード名またはテーブル名とフィールド名) を入力します。名前が具体的であるほど、ACL ルールも具体的になります。レコード、テーブル、またはフィールド名の代わりにワイルドカード文字のアスタリスク (*) を使用して、レコードタイプ、すべてのテーブル、またはすべてのフィールドに一致するすべてのオブジェクトを選択できます。ワイルドカード文字とテキスト検索を組み合わせることはできません。たとえば、inc* は有効な ACL ルール名ではありませんが、incident.* および *.number は有効な ACL ルール名です。
      注:
      青い三角形をクリックし、レコード名または保護されるオブジェクトのテーブル名とフィールド名を手動で入力します。ドロップダウンに表示されないオブジェクトを保護するには、このオプションを使用します。
      説明 この ACL ルールによって保護されるオブジェクトまたは権限の説明を入力します。
      必要なロール このリストを使用して、ユーザーがオブジェクトにアクセスするために必要なロールを指定します。複数のロールをリストする場合、リストされているロールのいずれかを持つユーザーがオブジェクトにアクセスできます。必要なロールリストが関連リストとして表示されます。
      注:
      admin ロールを持つユーザーは、他のすべてのロールが自動的に付与されるため、常にこの権限チェックに合格します。
      条件 この条件ビルダーを使用して、ユーザーがこのオブジェクトにアクセスするために true でなければならないフィールドと値を選択します。
      スクリプト オブジェクトにアクセスするために必要な権限を記述するカスタムスクリプトを入力します。スクリプトでは、現在および ビジネスルールのグローバル変数およびシステムプロパティの値を使用できます。スクリプトは、次の 2 つの方法のいずれかで true または false の応答を生成する必要があります。
      • true または false の値に設定された回答変数を返します。
      • true または false に評価します。

      いずれの場合も、スクリプトが true と評価され、ユーザーが ACL ルールの条件を満たしている場合にのみ、ユーザーはオブジェクトにアクセスできます。ユーザーがオブジェクトにアクセスするには、条件とスクリプトの両方が true と評価される必要があります。

      注:
      評価されたアイテムが関連リストにある場合、現在のポイントは、ACL の現在のアイテムではなく、関連リストがあるアイテムを指します。ただし、ACL を評価しているアイテムが関連リストにない場合、現在のポイントは実際のアイテムを指します。
    5. フォームヘッダーを右クリックし、[保存] を選択します。

    埋め込みリスト内のレコードを保護する

    埋め込みリストのレコードにセキュリティを適用するには、埋め込みリストのレコードの編集と削除を特定のロールに制限します。

    始める前に

    必要なロール:security_admin

    手順

    1. 移動先 すべて > システムセキュリティ > アクセス制御 (ACL).
    2. 該当するテーブルの書き込みまたは削除レコードを開きます。
    3. フォームの [必要なロール] セクションで、そのテーブルに対する書き込み権限または削除権限を持つロールを追加します。
    4. 変更内容を保存します。
      関連付けられたテーブルのレコードが埋め込みリストに表示されると、指定されたロールを持つユーザーのみが編集および削除のオプションを使用できます。