- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2025 02:26 AM - edited 04-14-2025 03:21 AM
Hi All,
I have a script include within a scoped (store) application, that is creating records on the ecc_queue table. We have recently changed from GlideRecord to GlideRecordSecure, the function is as follows:
create : function() {
this.addParameter('skip_sensor', true);
var egr = new GlideRecordSecure("ecc_queue");
egr.agent = "mid.server." + this.midServer;
egr.queue = "output";
egr.state = "ready";
egr.topic = "JavascriptProbe";
egr.name = this.name;
egr.source = this.source;
egr.payload = this.payloadDoc.toString();
return egr.insert();
},
Due to a number of ACLs on the table, this is now failing. I have created table level create/write/read ACLs within the scoped application, that should allow non-admin users with the apps role to access the table, but It's still not working. Running the security debug, I see this in the log:
Looks to me like the "out of the box" ACLs in global scope are blocking my scoped versions?
Please can someone help me understand what I need to do in order to get this working, if indeed this is possible!
Thanks!
Tim.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2025 06:03 AM
@Community Alums
Option 2 is more feasible and ServiceNow app certification team does have the right to create exceptions.
I have been doing the same for the past few app certification cycles whenever new version comes in.
I believe I have answered your question with the approaches.
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2025 03:08 AM
@Community Alums
With only those 2 cross scope, I was able to insert record into ecc_queue from my custom app from background script. I didn't create any explicit field level WRITE ACL in my scope
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2025 03:14 AM
@Ankur are you using a user without the admin role?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2025 03:24 AM
@Community Alums
I ran the background script with admin user
Did you check my previous reply?
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2025 03:33 AM
@Ankur Bawiskar I missed that reply! So, I've tried to create field level ACLs, I'm getting an error:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2025 03:35 AM
@Community Alums
that's correct.
You cannot create field level WRITE for outside scope fields
Those fields are in global scope and you are not allowed to create ACLs on those in your scope
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader