AJAXGlideRecord ACL チェックを必須とする (Security Center 1.3 で更新)

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:3分
  • glide.script.secure.ajaxgliderecord プロパティを使用して、クライアントスクリプト内で GlideAjax API を使用してサーバー側のレコード (テーブルなど) にアクセスする場合にアクセス制御リスト (ACL) ルール検証を実行します。

    クライアントスクリプトから、AJAXGlideRecord (GlideAjax -クライアントサーバー側の Glide レコードなどの構文を使用して、API を使用します。多くの展開で、これは強力で便利なツールです。

    アクセス制御リスト (ACL) を GlideAjax API 呼び出しに適用することを選択すると、現在接続しているユーザーがアクセスできるデータのみをクエリできます。たとえば、cmn_location テーブルを読み取る権限のない ESS ユーザーがログインすると、そのテーブルに対する GlideAjax API 呼び出しは失敗します。

    ServiceNow AI Platform が GlideAjax ACL 呼び出しのチェックなしで実行されている場合、API は、現在ログインしているユーザーが他の方法ではアクセスできない情報を返す可能性があります。

    データのクエリを実行するときに GlideRecordSecure を使用して、最高レベルのセキュリティを確保します。GlideRecord は構成による ACL の適用に依存しますが、GlideRecordSecure はより厳格なセキュリティ制御を適用します。GlideRecordSecure は、機密データを処理するための、より安全ですぐに使えるソリューションを提供します。

    警告:
    これはセーフハーバープロパティです。つまり、いったん変更したら変えることはできません。元に戻すことはできません。

    詳細情報

    属性 説明
    プロパティ名 glide.script.secure.ajaxgliderecord
    構成タイプ システムプロパティ (/sys_properties_list.do)
    カテゴリ アクセス制御
    目的 クライアント側 API を介してレコードにアクセスする場合でも、セキュリティ ACL が確実にチェックおよび検証されるようすること
    推奨値 true
    デフォルト値 true
    セキュリティリスク評価 8.1
    機能への影響 この修正では、AJAXGlideRecord API 呼び出しを使用して要求が行われた場合に、サーバー側レコードとの ACL 関係が適用されます。ACL 構成が適切に設定されていない場合、影響を受ける可能性があります。影響度とその識別方法の詳細については、クライアント側 GlideRecord (AJAXGlideRecord) トランザクションの監査とレビューに関する記事 [KB0550828] (HI ナレッジベース で入手可能)」を参照してください。
    セキュリティリスク (高) クライアントスクリプトを使用すると、GlideAjax API を介してサーバーから任意のデータをクエリーできます。サーバー側のリソースには適切な承認なしでアクセスできるため、ACL 検証を使用すると、アプリケーションで設定された承認に基づいて要求を検証するのに役立ちます。
    ワークアラウンド

    GlideAjax (AJAXGlideRecord) API で使用されるスクリプトインクルード、プロセッサー、およびその他のエンティティに対して適切な ACL が作成され、適切な承認の下で実行されるようにします。

    canRead ()canWrite ()canCreate ()canDelete () などのメソッドを実装して、GlideRecord を使用してテーブルレコードにアクセスする前に、ユーザーの承認を実行します。

    もう 1 つの方法は、GlideRecordSecure を使用することです。このクラスは GlideRecord サーバーから継承され、GlideRecord と同じ関数を実行し、ACL も適用します。

    参照 ACL を AJAXGlideRecord (クライアント側の Glide レコード) に追加

    このプロパティは、 glide.script.allow.ajaxevaluate などのクライアントからのスクリプトの実行を保護および制限するプロパティと同じファミリーに属します。詳細については、「 AJAXEvaluate を有効にする」を参照してください。

    システムプロパティの追加または作成の詳細については、「Add a system property」を参照してください。