Community
Questions Library
Docs
Blog
Events
Swag
Github
Slack
JupiterOne
Discussions
Release Notes
Contact Us
ServiceNow - AskJ1 Community
<main> <article class="userContent"> <h2 data-id="setup">Setup</h2> <p>The JupiterOne ServiceNow integration is configured using your target ServiceNow<br> implementation's <code class="code codeInline" spellcheck="false" tabindex="0">hostname</code>, such as <code class="code codeInline" spellcheck="false" tabindex="0">my-company.service-now.com</code>.</p> <p>The integration authenticates using Basic auth with <code class="code codeInline" spellcheck="false" tabindex="0">username</code> and <code class="code codeInline" spellcheck="false" tabindex="0">password</code><br> for a read-only account. Whenever possible, we recommend creating a new user in<br> your ServiceNow implementation to be used strictly for authenticating with this<br> integration.</p> <h3 data-id="in-servicenow">In ServiceNow</h3> <p>In order to allow JupiterOne to fetch data from your ServiceNow account, we<br> recommend creating a new ServiceNow role with read-only access to your account<br> and assigning that read-only role to a dedicated ServiceNow user.</p> <ol><li><p>Follow the ServiceNow documentation to<br><a rel="nofollow" href="https://docs.servicenow.com/bundle/rome-platform-administration/page/administer/roles/task/t_CreateARole.html">create a new ServiceNow role</a><br> called <code class="code codeInline" spellcheck="false" tabindex="0">jupiterone_reader</code>.</p></li> <li><p>For each of the ServiceNow tables used in the JupiterOne <-> ServiceNow<br> integration,<br><a rel="nofollow" href="https://docs.servicenow.com/bundle/rome-it-service-management/page/product/change-management/task/t_CreateNewACL.html">create a new access control rule (ACL)</a><br> to allow access to the <code class="code codeInline" spellcheck="false" tabindex="0">jupiterone_reader</code> role with <code class="code codeInline" spellcheck="false" tabindex="0">Type: Record</code>,<br><code class="code codeInline" spellcheck="false" tabindex="0">Operation: Read</code>, and <code class="code codeInline" spellcheck="false" tabindex="0">Role: jupiterone_reader</code>. This should be enabled for<br> the following tables (found in the <code class="code codeInline" spellcheck="false" tabindex="0">Name</code> field):</p> <ul><li><code class="code codeInline" spellcheck="false" tabindex="0">sys_user</code></li> <li><code class="code codeInline" spellcheck="false" tabindex="0">sys_user_group</code></li> <li><code class="code codeInline" spellcheck="false" tabindex="0">sys_user_grmember</code></li> <li><code class="code codeInline" spellcheck="false" tabindex="0">incident</code></li> </ul></li> <li><p>Create a<br><a rel="nofollow" href="https://docs.servicenow.com/bundle/rome-platform-administration/page/administer/users-and-groups/task/t_CreateAUser.html">new ServiceNow User</a><br> called <code class="code codeInline" spellcheck="false" tabindex="0">JupiterOne</code>. Make a note of the new username/password; you'll need it<br> when configuring your integration in JupiterOne.</p></li> <li><p>Open the <code class="code codeInline" spellcheck="false" tabindex="0">JupiterOne</code> user and<br><a rel="nofollow" href="https://docs.servicenow.com/bundle/rome-platform-administration/page/administer/users-and-groups/task/t_AssignARoleToAUser.html">assign the <code class="code codeInline" spellcheck="false" tabindex="0">jupiterone_reader</code> role</a><br> to your newly created user.</p></li> <li><p>(<strong>OPTIONAL</strong>) For JupiterOne users who wish to create ServiceNow incidents<br> based on JupiterOne alert rules, we suggest creating a<br><code class="code codeInline" spellcheck="false" tabindex="0">jupiterone_incident_creator</code> role. Repeat steps 1, 2, and 4 above with the<br> following parameters:</p> <p><strong>1. ServiceNow Role</strong>: <code class="code codeInline" spellcheck="false" tabindex="0">name: jupiterone_incident_creator</code></p> <p><strong>2. Access Control Rule (ACL)</strong> : <code class="code codeInline" spellcheck="false" tabindex="0">Type:Record</code> , <code class="code codeInline" spellcheck="false" tabindex="0">Operation:Create</code> ,<br><code class="code codeInline" spellcheck="false" tabindex="0">Name(table):incident</code> , <code class="code codeInline" spellcheck="false" tabindex="0">Role:jupiterone_incident_creator</code></p> <p><strong>4. Role Assignment</strong>: Assign <code class="code codeInline" spellcheck="false" tabindex="0">jupiterone_incident_creator</code> role to<br><code class="code codeInline" spellcheck="false" tabindex="0">JupiterOne</code> user</p></li> </ol><h2 data-id="data-model">Data Model</h2> <h3 data-id="entities">Entities</h3> <p>The following entities are created:</p> <table><thead><tr><th>Resources</th> <th>Entity <code class="code codeInline" spellcheck="false" tabindex="0">_type</code></th> <th>Entity <code class="code codeInline" spellcheck="false" tabindex="0">_class</code></th> </tr></thead><tbody><tr><td>Account</td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_account</code></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">Account</code></td> </tr><tr><td>Incident</td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_incident</code></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">Incident</code></td> </tr><tr><td>User</td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_user</code></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">User</code></td> </tr><tr><td>User Group</td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_group</code></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">UserGroup</code></td> </tr></tbody></table><h3 data-id="relationships">Relationships</h3> <p>The following relationships are created/mapped:</p> <table><thead><tr><th>Source Entity <code class="code codeInline" spellcheck="false" tabindex="0">_type</code></th> <th>Relationship <code class="code codeInline" spellcheck="false" tabindex="0">_class</code></th> <th>Target Entity <code class="code codeInline" spellcheck="false" tabindex="0">_type</code></th> </tr></thead><tbody><tr><td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_account</code></td> <td><strong>HAS</strong></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_group</code></td> </tr><tr><td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_account</code></td> <td><strong>HAS</strong></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_user</code></td> </tr><tr><td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_group</code></td> <td><strong>HAS</strong></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_group</code></td> </tr><tr><td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_group</code></td> <td><strong>HAS</strong></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_user</code></td> </tr><tr><td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_incident</code></td> <td><strong>ASSIGNED</strong></td> <td><code class="code codeInline" spellcheck="false" tabindex="0">service_now_user</code></td> </tr></tbody></table> </article> </main>