読み取り専用ロール

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • 読み取り専用ロール (snc_read_only) は、ユーザーまたはユーザーのグループを、ユーザーが既にアクセスできるテーブルに対する読み取り専用アクセスに制限します。

    このロールは、ユーザーが所有する他のロールを補完するように設計されています。その目的は、既存のロールを介してアクセス可能なテーブルに対する挿入、更新、または削除操作などのアクションを制限することです。

    このロールをユーザーにアサインすると、そのユーザーはどのテーブルのレコードも作成、更新、または削除できなくなります。

    注:
    このロールはユーザーにのみアサインしてください。アプリケーション、アクセス制御レベル (ACL) など、システム内の他のリソースにこのロールをアサインしないでください。

    snc_read_only ロールを任意のユーザーにアサインすると、システムテーブル、カスタムテーブル、およびフィールドの ACL を作成しなくてもデータへのアクセスを制限できます。この方法は、ユーザーにデータの挿入またはデータへのアクセスの更新を有効にせずに内部または外部の監査を実行する場合に便利です。

    snc_read_only ロールを持つユーザーには、他のロールや権限に関係なく、次の制限があります。
    • UI から、または GlideRecord API を使用している場合は、レコードを挿入、更新、または削除することはできません。
    • プラグインのアクティブ化またはアップグレードはできません。
    • SQL を直接実行することはできません。
    • XML ファイルのアップロードはできません。
    • パブリックサンドボックス環境のインスタンスでのみ、バックグラウンドスクリプトを実行できます。
    注:
    これらのロール制限は、アドミンなどの書き込みアクセス権を持つ別のユーザーの代理操作を行う場合でも適用されます。

    読み取り専用ロールを有効にする

    まだ有効になっていない場合、アドミニストレーターは読み取り専用ユーザーロール (com.snc.read_only.role) プラグインを有効にできます。

    始める前に

    必要なロール:admin

    手順

    1. [すべて] > [システムアプリケーション] > [利用可能なすべてのアプリケーション] > [すべて]に移動します。
    2. フィルター条件と検索バーを使用して、Read-Only User Role (com.snc.read_only.role) プラグインを検索します。

      名前または ID でプラグインを検索できます。プラグインが見つからない場合は、ServiceNow 担当者から要求する必要があります。

    3. [インストール] を選択して、インストールプロセスを開始します。
      注:
      ドメインセパレーションと代理アドミンがインスタンスで有効になっている場合、管理ユーザーはグローバルドメインに含まれている必要があります。それ以外の場合、次のエラーが表示されます: 「別の操作が実行されているため、アプリケーションのインストールは利用できません: <プラグイン名> のプラグインの有効化 (Application installation is unavailable because another operation is running: Plugin Activation for <plugin name>)」
      インストールが完了するとメッセージが表示されます。

    読み取り専用ロールのプロパティ

    これらのシステムプロパティは、snc_read_only ロールをコントロールします。プロパティには、次のデフォルト値が使用されます。

    名前 説明
    glide.security.snc_read_only_role.tables.exempt_create

    読み取り専用ロールの適用を除外し、新しいレコードの作成を許可するテーブルを指定します。

    • タイプ:文字列
    • デフォルト値:sys_user_session、sysevent、syslog、syslog_transaction、sys_user_preference、sys_ui_list、sys_ui_list_element、sys_db_cache、user_multifactor_auth
    • 場所:システムプロパティ [sys_properties] テーブル
    glide.security.snc_read_only_role.tables.exempt_write

    読み取り専用ロールの適用を除外し、既存のレコードの更新を許可するテーブルを指定します。

    • タイプ:文字列
    • デフォルト値:sys_user_session、sysevent、syslog、syslog_transaction、sys_user_preference、sys_ui_list、sys_ui_list_element、sys_db_cache、user_multifactor_auth
    • 場所:システムプロパティ [sys_properties] テーブル
    glide.security.snc_read_only_role.tables.exempt_delete

    読み取り専用ロールの適用を除外し、既存のレコードの削除を許可するテーブルを指定します。

    • タイプ:文字列
    • デフォルト値:sys_user_preference、sys_ui_list、sys_ui_list_element、sys_db_cache、user_multifactor_auth
    • 場所:システムプロパティ [sys_properties] テーブル

    これらのプロパティを設定した後、必要に応じて読み取り専用ロールをアサインします。ログインすると、これらのプロパティを変更しない限り、任意のテーブルのレコードの作成、更新、または削除が制限されます。

    注:
    読み取り専用ロールをユーザーにアサインし、そのユーザーの代理操作を行ってテストします。