REST テーブル API を使用して ServiceNow と統合すると際に、権限不足でエラーが発生Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 顧客が REST テーブル API を使用して ServiceNow との統合を設定しようとしています。統合では、ユーザー認証に OAuth が使用され、認証スコープは useraccount に設定されます。これは、ユーザーと同じ権限で動作することを意味します。たとえば、sys_choice テーブルで、ユーザーは次の方法でフィールドをクエリし、フィールド値を取得できるようにする必要があります。 curl "https://INSTANCENAME.service-now.com/api/now/table/sys_choice?sysparm_query=name=incident^inactive=false&sysparm_exclude_reference_link=True&sysparm_fields=label,value&sysparm_limit=10" \--request GET \--header "Accept:application/json" \--user 'userID':'password' 読み取りアクセス権が必要なフィールドは、クエリが返すフィールドのみです。この場合は「label」と「value」ですが、「inactive」と「name」ではありません。ただし、アプリで次のエラーが発生しています: { "error": { "message": "Insufficient rights to query records", "detail": "Field(s) present in the query do not have permission to be read" }, "status": "failure" } この問題は、プラットフォーム上で想定どおりに機能する場合でも、外部 API 呼び出しを行うときに発生します。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべて Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } これは想定される動作です。クエリ条件のフィールドレベルの ACL チェックを制御するプロパティがあります。プロパティ:glide.export.query.enforce_field_acl説明:次のデータエクスポートサービスでクエリ条件のフィールド ACL を適用します。テーブル APISOAP getRecordsファイルエクスポート:CSV、XML、EXCEL/XLS、XLSX、JSONv2ドキュメント: https://www.servicenow.com/docs/bundle/yokohama-platform-security/page/administer/security-center/reference/sc-enforce-field-acls-for-inbound-query-requests.htmlこのプロパティのデフォルト値と推奨値は True です。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } システムプロパティglide.export.query.enforce_field_aclを「false」に設定します このプロパティが true に設定されている場合、システムは外部 API 呼び出し中にクエリー対象フィールドに ACL を適用し、それらのフィールドへの明示的な読み取りアクセスを要求します。false に設定すると、query_match ACL に一致する限り、ユーザーは読み取りアクセス権を持つフィールドのデータを照会して表示できます。