---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# のアクセス制御リスト (ACL) の作成 SQL API

# のアクセス制御リスト (ACL) の作成 SQL API {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：3分

egress_sqlおよび読み取り操作を使用してテーブルレベルのアクセス制御を構成し、 SQL APIを介してサービスアカウントに特定のテーブルへのクエリアクセス権を付与します。{#create-acls-sql-api__patch-rn-ap1-1}

## 始める前に

次の前提条件を満たしていることを確認します。

* サービスアカウントを作成し、sn_odbc_rest_accessまたはsn_jdbc_rest_accessロールをアサインしました。
* SQL APIを介してアクセスする必要があるServiceNowテーブルを特定しました。

必要なロール：security_admin

## このタスクについて

SQL API を介したテーブルへのアクセスはグローバルに許可されません。サービスアカウントがクエリする必要があるテーブルごとに、2 つのアクセス制御リスト (ACL) を作成する必要があります。egress_sql操作用に 1 つ ( SQL API データエクスポートを制御する) と読み取り操作用に 1 つ (レコードレベルのアクセスを制御する) を作成します。サービスアカウントは、両方の ACL が明示的に設定されているテーブルに対してのみクエリを実行できます。

デフォルトでは、 SQL API はすべてのクエリのテーブル、行、およびフィールドレベルでアクセスをチェックします。これは、 ServiceNow のデフォルトで安全なアプローチに従います。SQL APIは、インスタンス内のすべての ACL をレコードごとに検証します。これにより、応答時間が長くなる可能性があります。これは想定されたことです。

ユースケースで行レベルおよびフィールドレベルのチェックが必要ない場合は、サービスアカウントに `sn_sql_api_privileged_mode` ロールを割り当てることでチェックをオフにすることができます。たとえば、ビジネスインテリジェンス統合などです。テーブルレベルの ACL チェックは引き続き有効であり、オフにすることはできません。

SQL APIアクセス権が必要なテーブルとロールの組み合わせごとに、この手順を繰り返します。異なるロールを持つ複数のサービスアカウントがある場合は、ロールとテーブルの組み合わせごとに個別の ACL を作成します。

## 手順

1. 移動先 すべてシステムセキュリティアクセス制御 (ACL).
2. \[新規\] を選択します。
3. \[アクセス制御\] フォームで、egress_sql操作の最初の ACL を構成します。  
   {#create-acls-sql-api__entry__2}

   | フィールド | 値 |
   |-|-|
   | 運用 | ドロップダウンリストから egress_sql を選択します。この操作は、 SQL APIを介してデータをエクスポートできるかどうかを制御します。 |
   | 意思決定タイプ | 次の場合に許可 |
   | 名前 | アクセス権を付与するテーブルを選択します。たとえば、 **インシデント \[incident\]** や **cmdb_ci** などです。 |
   | ロールが必要 | サービスアカウントにアサインされたロール ( **sn_odbc_rest_access** 、 **sn_jdbc_rest_access** など) を入力します。 サービスアカウントレベルで行レベルおよびフィールドレベルのチェックをオフにするロール **sn_sql_api_privileged_mode** を追加します。 |
   [ ]

4. フォームヘッダーを選択して長押し (または右クリック) し、\[保存\] を選択します。
5. \[ 新規\] を選択して、同じテーブルの 2 番目の ACL を作成します。
6. \[アクセス制御\] フォームで、 読み取り 操作の 2 番目の ACL を設定します。  
   {#create-acls-sql-api__entry__12}

   | フィールド | 説明 |
   |-|-|
   | 運用 | ドロップダウンリストから \[ 読み取り \] を選択します。この操作は、テーブルへのレコードレベルのアクセスを制御します。 |
   | 意思決定タイプ | 次の場合に許可 |
   | 名前 | egress_sql ACL で指定したものと同じテーブルを選択します。 |
   | ロールが必要 | egress_sql ACL で指定したものと同じロールを入力します。 |
   [ ]

7. フォームヘッダーを選択して長押し (または右クリック) し、\[保存\] を選択します。
8. SQL APIアクセス権が必要な追加のテーブルごとに、ステップ 2 〜 7 を繰り返します。  
   各テーブルに必要な ACL (egress_sqlと読み取り) の両方を作成しました。

## タスクの結果

SQL APIのテーブルレベルのアクセス制御が正常に構成されました。サービスアカウントは、指定したロール要件に従って、egress_sql ACL と読み取り ACL の両方が作成されたテーブルをクエリできます。

アクセスはテーブルごとに付与されることに注意してください。追加のテーブルへのアクセスを許可する場合、または異なるロールを持つ追加のサービスアカウントを作成する場合は、この手順を繰り返して適切な ACL を作成します。

