Perl スクリプトを使用して特定のインスタンスに投稿する際の「Insufficient rights for creating new records」エラー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: ; } } <!-- div.margin{ padding: 10px 40px 5px 30px; } table.tocTable{ border: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } table.noteTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:2; } table.internalTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:0; } .sp td{ border-bottom: 1px solid; border-right: 1px solid; border-color:#E0E0E0; background-color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .sphr td{ border-right: 1px solid; border-bottom: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; height: 20px; } .title { color: #D1232B; font-weight:; font-size:25px; } .hd1{ color: #D1232B; font-weight:; font-size:18px; } .hd2{ color: #646464; font-weight:bold; font-size:16px; } .hd3{ color: #7a7a7a; font-weight:; font-size:16 px; text-decoration:; } .hd4{ color: #000000; font-weight:bold; font-size:14 px; text-decoration:; } --> <!-- div.margin{ padding: 10px 40px 40px 30px; } table.tocTable{ border: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } table.noteTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:2; } table.internalTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:0; } .sp td{ border-bottom: 1px solid; border-right: 1px solid; border-color:#E0E0E0; background-color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .sphr td{ border-right: 1px solid; border-bottom: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; height: 20px; } .title { color: #D1232B; font-weight:; font-size:25px; } .hd1{ color: #D1232B; font-weight:; font-size:18px; } .hd2{ color: #646464; font-weight:bold; font-size:16px; } .hd3{ color: #7a7a7a; font-weight:; font-size:16 px; text-decoration:; } .hd4{ color: #000000; font-weight:bold; font-size:14 px; text-decoration:; } --> 新しいレコードを作成するための十分な権限がありません」 Perl スクリプトを使用して特定のインスタンスへの SOAP 要求に投稿する Perl スクリプトを使用して要求を投稿したときに、クライアントが次のエラーを受け取ったInsufficient rights for creating new records: com.glide.processors.soap.SOAPProcessingException: Insufficient rights for creating new records:このエラーは、他のすべてのインスタンスで同じスクリプトが機能する 1 つの環境でのみ発生しました。 症状: Perl スクリプトを使用して SOAP 要求を投稿すると、スクリプトで使用されている UserID に「新しいレコードを作成するための十分な権限がありません」というエラーが一貫して返されました。したがって、新しい変更要求レコードがインスタンスに作成されませんでした。インスタンスにログインしたときにこのまったく同じユーザーが変更要求レコードを作成できますが、スクリプトからは作成できません。この同じスクリプトは、QA、開発、テストなどの他の環境では機能しますが、本番環境では機能しません。ログにエラーが表示されました: insufficient rights for creating new records: com.glide.processors.soap.SOAPProcessingException: Insufficient rights for creating new records: com.glide.processors.soap.command.Insert.process(Insert.java:42) com.glide.processors.soap.SOAPProcessorThread.doCommand(SOAPProcessorThread.java:288) com.glide.processors.soap.SOAPProcessorThread.doCommand(SOAPProcessorThread.java:277) com.glide.processors.soap.SOAPProcessorThread.processStandardWebService(SOAPProcessorThread.java:212) com.glide.processors.soap.SOAPProcessorThread.processBody(SOAPProcessorThread.java:192) com.glide.processors.soap.SOAPProcessorThread.processRequest(SOAPProcessorThread.java:159) com.glide.processors.soap.SOAPProcessorThread.run0(SOAPProcessorThread.java:123) com.glide.util.ParentedThread.run(ParentedThread.java:51) <!-- div.margin{ padding: 10px 40px 40px 30px; } table.tocTable{ border: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } table.noteTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:2; } table.internalTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:0; } .sp td{ border-bottom: 1px solid; border-right: 1px solid; border-color:#E0E0E0; background-color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .sphr td{ border-right: 1px solid; border-bottom: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; height: 20px; } .title { color: #D1232B; font-weight:; font-size:25px; } .hd1{ color: #D1232B; font-weight:; font-size:18px; } .hd2{ color: #646464; font-weight:bold; font-size:16px; } .hd3{ color: #7a7a7a; font-weight:; font-size:16 px; text-decoration:; } .hd4{ color: #000000; font-weight:bold; font-size:14 px; text-decoration:; } --> 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 (アクセス制御リスト) 権限が UserID にないことが原因と思われました。しかし、本当の原因は、[変更要求] ページが公開ページとして設定され、ACL ロジックをバイパスしていたことでした。 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: ; } } 問題をデバッグしたところ、[変更要求] ページが公開ページとして設定されていることがわかりました。システムの公開ページ>システム定義を確認したところ、[変更要求] ページが公開ページとして設定されていることが確認されました。ページが ACL ロジックをバイパスし、ゲストユーザーとしてペイロードを挿入しようとしたため、エラーが発生しました。ページが非公開として設定されると、期待どおりに機能し始めました。 システム定義>公開ページに移動します。[変更要求] のページを検索し、リストから削除して非公開ページにします。 これがデバッグ方法です。ローカルホストのログを確認すると、行が表示されました " 01/14/15 11:32:41 (333) SYSTEM Bypassing ACL checks for a public page: /change_request.do " . したがって、ACL ロジックをバイパスし、「ゲスト」ユーザーとしてデータを挿入しようとしていました。 [トレース/ログ] セクション: 01/14/15 11:32:35 (473) 00D307263CA53100AE2FA56CEC8D4FC4 /xmlstats.do -- transaction time: 0:00:00.037, waited: 0:00:00.000, source: 127.0.0.1 01/14/15 11:32:41 (327) SYSTEM Inactivity time changed from 1800 seconds to 28800 seconds01/14/15 11:32:41 (327) SYSTEM Session created: 2DD343663CA53100AE2FA56CEC8D4F16, timeout after 480 minutes of inactivity01/14/15 11:32:41 (333) SYSTEM HTTP authorization validated user 'guest'01/14/15 11:32:41 (333) SYSTEM Bypassing ACL checks for a public page: /change_request.do01/14/15 11:32:41 (334) SYSTEM *** Start #529, path: /change_request.do, user: guest01/14/15 11:32:41 (334) SYSTEM SOAPProcessor: initial session inactivity timeout is 60 seconds01/14/15 11:32:41 (334) SYSTEM SOAPProcessor: initial soap request timeout is 15 seconds01/14/15 11:32:41 (334) SYSTEM SOAPProcessor: session inactivity timeout changed to 60 seconds01/14/15 11:32:41 (337) SYSTEM SOAPProcessor: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><soap:Body><insert xmlns="http://www.service-now.com/"><short_description xsi:type="xsd:string">Remove legacy nagios configuration</short_description><category xsi:type="xsd:string">MONITORING</category></insert></soap:Body></soap:Envelope>01/14/15 11:32:41 (339) SYSTEM Created SOAPProcessorThreade1d343663ca53100ae2fa56cec8d4f1701/14/15 11:32:41 (363) SYSTEM Insufficient rights for creating new records: com.glide.processors.soap.SOAPProcessingException: Insufficient rights for creating new records: com.glide.processors.soap.command.Insert.process(Insert.java:42)