外部ドキュメントのアクセス権限の定義
外部ドキュメントを取り込むときに、外部で定義されたユーザーおよびグループのアクセス権限を指定できます。AI 検索 は、ユーザーコンテンツセキュリティフィルターが検索時に運用できるように、インデックス作成中にこれらの権限を保持します。
取り込まれた外部ドキュメントに外部で定義されたユーザーとグループのアクセス権限を含める方法の詳細については、External Content Ingestion API の POST /ais/external_content/ingestDocument/{schema_table_name} エンドポイントを参照してください。
外部コンテンツアクセス権限
外部コンテンツセキュリティには、外部ドキュメントに対するユーザーおよびグループのアクセス権を記述する権限が含まれています。外部ドキュメントのインデックスを作成する場合、AI 検索 にはこれらの権限が保存されるため、コンテンツセキュリティフィルターはインデックス付きの検索結果へのユーザーアクセスを制限できます。
アクセス権限
AI 検索 は、取り込まれた外部ドキュメントに対する次のアクセス権限をサポートしています。
| セキュリティプリンシパル | 説明 |
|---|---|
| everyone | 外部ドキュメントへのアクセスをすべてのユーザーに許可するかどうかを示すブールオプション。AI 検索 は、このグローバルアクセス権限を、ドキュメントから作成されたインデックス付きレコードに適用します。 External Content Ingestion API の POST /ais/external_content/ingestDocument/{schema_table_name} エンドポイントへの要求内の [array].principals.everyone 要求本文パラメーターを使用して、取り込まれたドキュメントに対してこの権限を設定します。 true に設定すると、この権限はすべてのグループとユーザーの権限を上書きします。 この権限は、none と相互に排他的です。外部ドキュメントに対して true に設定できるのは、これら 2 つの権限のうちの 1 つのみです。 |
| groups.deny | 外部ドキュメントへのアクセスが拒否された外部定義グループのリスト。これらの外部グループのいずれかにマップされた ServiceNow AI Platform® ユーザーは、ドキュメントから作成されたインデックス付き検索結果レコードを表示できません。 External Content Ingestion API の POST /ais/external_content/ingestDocument/{schema_table_name} エンドポイントへの要求内の [array].principals.groups.deny 要求本文パラメーターを使用して、取り込まれたドキュメントに対してこの権限を設定します。 この権限は、groups.read よりも優先されます。同じグループがドキュメントの読み取りおよび拒否アクセス権限の両方を持っている場合、AI 検索 はグループのメンバーに対してインデックス付きレコードへのアクセスを拒否します。 デフォルトでは、users.read がこの権限よりも優先されます。インデックス付きソースのこの優先順位を逆にするには、「外部コンテンツのインデックス付きソースに対するユーザー読み取りおよびグループ拒否権限の優先順位の変更」を参照してください。 |
| groups.read | 外部ドキュメントへのアクセスが許可された外部定義グループのリスト。これらの外部グループのいずれかにマップされた ServiceNow AI Platform ユーザーは、ドキュメントから作成されたインデックス付き検索結果レコードを表示できます。 External Content Ingestion API の POST /ais/external_content/ingestDocument/{schema_table_name} エンドポイントへの要求内の [array].principals.groups.read 要求本文パラメーターを使用して、取り込まれたドキュメントに対してこの権限を設定します。 この権限より、groups.deny 権限が優先されます。同じグループがドキュメントの読み取りおよび拒否アクセス権限の両方を持っている場合、AI 検索 はグループのメンバーに対してインデックス付きレコードへのアクセスを拒否します。 |
| none | 外部ドキュメントへのアクセスをすべてのユーザーに拒否するかどうかを示すブールオプション。AI 検索 は、このグローバル拒否権限を、ドキュメントから作成されたインデックス付きレコードに適用します。 External Content Ingestion API の POST /ais/external_content/ingestDocument/{schema_table_name} エンドポイントへの要求内の [array].principals.none 要求本文パラメーターを使用して、取り込まれたドキュメントに対してこの権限を設定します。 true に設定すると、この権限はすべてのグループとユーザーの権限を上書きします。 この権限は、none と相互に排他的です。外部ドキュメントに対して true に設定できるのは、これら 2 つの権限のうちの 1 つのみです。 |
| users.deny | 外部ドキュメントへのアクセスが拒否された外部定義ユーザーのリスト。これらの外部ユーザーのいずれかにマップされた ServiceNow AI Platform ユーザーは、ドキュメントから作成されたインデックス付き検索結果レコードを表示できません。 External Content Ingestion API の POST /ais/external_content/ingestDocument/{schema_table_name} エンドポイントへの要求内の [array].principals.users.deny 要求本文パラメーターを使用して、取り込まれたドキュメントに対してこの権限を設定します。 この権限は、users.read よりも優先されます。同じユーザーがドキュメントの読み取りおよび拒否アクセス権限の両方を持っている場合、AI 検索 はユーザーに対してインデックス付きレコードへのアクセスを拒否します。 |
| users.read | 外部ドキュメントへのアクセスが許可された外部定義ユーザーのリスト。これらの外部ユーザーのいずれかにマップされた ServiceNow AI Platform ユーザーは、ドキュメントから作成されたインデックス付き検索結果レコードを表示できます。 External Content Ingestion API の POST /ais/external_content/ingestDocument/{schema_table_name} エンドポイントへの要求内の [array].principals.users.read 要求本文パラメーターを使用して、取り込まれたドキュメントに対してこの権限を設定します。 この権限より、users.deny が優先されます。同じユーザーがドキュメントの読み取りおよび拒否アクセス権限の両方を持っている場合、AI 検索 はユーザーに対してインデックス付きレコードへのアクセスを拒否します。 デフォルトでは、この権限は、groups.deny よりも優先されます。インデックス付きソースのこの優先順位を逆にするには、「外部コンテンツのインデックス付きソースに対するユーザー読み取りおよびグループ拒否権限の優先順位の変更」を参照してください。 |
プリンシパル権限の優先順位
取り込まれた外部ドキュメントの [array].principals 権限の優先順位は、ドキュメントのインデックス付きソースの user_read_takes_precedence_over_group_deny 属性の値によって異なります。
| 属性値 | プリンシパル権限の優先順位 |
|---|---|
| true | 優先順位の高いものから低いものへ:
注: これは、外部コンテンツのインデックス付きソースのデフォルトの属性値です。 |
| false | 優先順位の高いものから低いものへ:
注: この属性値の設定方法については、「外部コンテンツのインデックス付きソースに対するユーザー読み取りおよびグループ拒否権限の優先順位の変更」を参照してください。 |
特定のユーザーロールからのコンテンツセキュリティ権限がこれらの外部コンテンツセキュリティプリンシパルとどのようにやり取りするかの詳細については、「ロール別の特別外部コンテンツアクセス権限」を参照してください。
ロール別の特別外部コンテンツアクセス権限
特定のユーザーロールには、外部コンテンツインデックス付きレコードに対する特別なアクセス権限があります。
| ロール | 権限 |
|---|---|
AI 検索 アドミン [ais_admin] |
AI 検索 アドミン は、検索アプリケーションにあるすべての外部コンテンツのインデックス付きレコードにアクセスできます。 注: 検索プレビュー UI ですべての検索ソースとコンテンツセキュリティフィルタリングをバイパスするには、代理操作ロールと AI 検索 高セキュリティアドミニストレーター [ais_high_security_admin] ロールも必要です。この手順の詳細については、「検索プレビュー UI を使用して検索結果のアクセスの問題を診断」を参照してください。 |
| ゲストユーザー [public] | 認証されていないゲストユーザーは、true に設定された everyone 権限を持つ外部コンテンツのインデックス付きレコードにのみアクセスできます。 |
| 自己登録外部ユーザー [snc_external] | グループに属する自己登録外部ユーザーは、グループメンバーシップに基づいて外部コンテンツのインデックス付きレコードにアクセスできます。どのグループにも属さない外部ユーザーは、true に設定された everyone 権限を持つ外部コンテンツのインデックス付きレコードにのみアクセスできます。 自己登録外部ユーザーの詳細については、次を参照してください。 への自己登録 ServiceNow インスタンス. |
外部コンテンツのインデックス付きソースに対するユーザー読み取りおよびグループ拒否権限の優先順位の変更
外部グループ拒否アクセス権限を、インデックス付きソースから取り込まれたすべての外部ドキュメントで、外部ユーザーの読み取りアクセス権限に優先させます。
始める前に
インスタンスで プラグイン の外部コンテンツ AI 検索 (com.glide.ais.external_content) を有効にする必要があります。
インデックス付きソースのソーステーブルは、外部コンテンツスキーマテーブルである必要があります。
必要なロール:ais_admin
このタスクについて
デフォルトでは、外部ドキュメントの外部ユーザー読み取りアクセス権限 (users.read) が、同じドキュメントの外部グループ拒否アクセス権限 (groups.deny) に優先されます。
たとえば、ServiceNow AI Platform® ユーザー beth.anglin@example.com を外部ユーザー ad\beth-anglin および外部グループ report-users にマップするユーザーマッピングを使用して、インデックス付きソースを介して外部コンテンツを取り込むとします。外部ドキュメントが ad\beth-anglin への読み取りアクセスを許可し、report-users へのアクセスを拒否する場合、AI 検索 は beth.anglin@example.com に外部ドキュメントのインデックス付き検索結果レコードの表示を許可します。
インデックス付きソースのこのデフォルトの動作を逆にするには、すべてのインデックス付きレコードに対して外部グループ拒否権限をそのすべてのインデックス付きレコードの外部ユーザー読み取り権限より優先させ、インデックス付きソースの user_read_takes_precedence_over_group_deny 属性の値を変更します。前の例では、この変更を行うと、beth.anglin@example.com は外部ドキュメントのインデックス付き検索結果レコードを表示できなくなります。
手順
タスクの結果
権限設定の変更は、外部コンテンツのインデックス付きソースからの検索結果に対して有効になります。