How to make reports visible to users that any not logged in to SNor do not have SN accounts

Kyle Wiley
Mega Expert

I need to be able to make some reports visible to everyone in our organization, whether they are logged into SN or not.

 

Everyone in our organization has a SN login but not everyone has ever logged in before and I don't want the higher up management employees needing to login to SN first in order to view some of the published reports out there.

 

I have published several reports that will be used for Incident tracking during a org wide go live we are having and all of the reports are set to be available to everyone with the following roles:  public, snc_internal, snc_external.

 

The reports can be viewed if the user is an internal SN user but they must be currently logged in to SN in whatever browser they open the report page.  When I click on the page, I can see the name of the report but it says, "Security constraints preven access to requested page.".

 

Does that mean I need to edit the ACLs in order for the reports to be seen for the Incident table?  If so, what ACL needs to be edited?  I have already tried to add the snc_external  and the public  role to the incident.* read ACL and this didn't fix the issue.  

 

Any ideas?  

1 ACCEPTED SOLUTION

Yes, it can be resolved by opening up read permission to the underlying tables/fields. That's a risk you need to be aware of and accept if you do this. There's a reason for security and authentication. If you choose to bypass it because of a requirement to make it public, you accept those risks.


View solution in original post

13 REPLIES 13

Michael Ritchie
ServiceNow Employee
ServiceNow Employee

Did you click the Publish option in reports?   That will make it available externally without having to edit the sharing options.   I just tried this on my out of the box demo instance and it works.


Yes, they are published already and they work as long as I am logged in to SN.   Once I logout and refresh the page, I get the security constraints error.


Are you sure Michael? I'm not seeing parity between the logged in and anonymous report via published URL.



It still seems to be filtering out non-public data. My "incidents by state" report looks great when I am logged in (four columns, non-trivial values) but when I public and use the URL in an incognito window, it's a single column with a value of 1.


Aditya Telideva
ServiceNow Employee
ServiceNow Employee

Hi Kyle,


Step 1 - Publish the Report

  1. Create a new report or select an existing one.
    When creating a new report it is necessary to save the report before it can be published.
  2. Click Publish.
    You will be alerted to a URL that can be used by users to access the report.

2.2 Step 2 - Create the ACL

Create an ACL rule that will allow public access to the table or records that are being reported on. The following is a simple example of creating an ACL rule that enables access to all records on the change table publicly:



Image:pub_acl.png



This is the most simple example of an ACL rule that will grant access to the report by putting a public role on the entire table. Since this may not be desirable you may wish to have a more complex ACL rule in order to only allow access to a limited set of records.


Thanks,


Aditya Telidevara