Community
Questions Library
Docs
Blog
Events
Swag
Github
Slack
JupiterOne
Discussions
Release Notes
Contact Us
Zoom Integration with JupiterOne - AskJ1 Community
<main> <article class="userContent"> <h2 data-id="zoom-jupiterone-integration-benefits">Zoom + JupiterOne Integration Benefits</h2> <ul><li>Visualize Zoom user, user settings, roles, and groups in the JupiterOne graph.</li> <li>Map Zoom users to employees in your JupiterOne account.</li> <li>Monitor changes to ingested Zoom resources using JupiterOne alerts.</li> </ul><h2 data-id="how-it-works">How it Works</h2> <ul><li><p>JupiterOne periodically fetches user, user settings, roles, and groups from<br> Zoom to update the graph.</p></li> <li><p>Write JupiterOne queries to review and monitor updates to the graph, or<br> leverage existing queries.</p></li> <li><p>Configure alerts to take action when JupiterOne graph changes, or leverage<br> existing alerts.</p></li> </ul><h2 data-id="requirements">Requirements</h2> <ul><li><p>Zoom supports the OAuth2 Client Credential flow. A Zoom pro account is<br> optional but is highly recommended.</p></li> <li><p>You must have permission in JupiterOne to install new integrations.</p></li> </ul><h2 data-id="support">Support</h2> <p>If you need help with this integration, please contact<br><a rel="nofollow" href="https://support.jupiterone.io">JupiterOne Support</a>.</p> <h2 data-id="integration-walkthrough">Integration Walkthrough</h2> <h3 data-id="in-zoom">In Zoom</h3> <ol><li>Go to <a rel="nofollow" href="https://marketplace.zoom.us/develop/create">Create App</a> page on Zoom<br> Marketplace and click 'Create' under the OAuth app type.</li> <li>Enter an app name and choose the 'Account-level app' option. The publish app<br> option will depend on your needs.</li> <li>Take note of your <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">Client ID</code> and your <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">Client secret</code> and supply it to the<br><a rel="nofollow" href="../oauth-server/README.md">oauth-server's .env</a>.</li> <li>Enter '<a rel="nofollow" href="http://localhost:5000/redirect">http://localhost:5000/redirect</a>' to the Redirect URL for OAuth.</li> <li>Add '<a rel="nofollow" href="http://localhost:5000/redirect">http://localhost:5000/redirect</a>' to the OAuth allow list.</li> <li>Supply the required information.</li> <li>On scopes, add <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">group:read:admin</code>, <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">role:read:admin</code>, and <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">user:read:admin</code>.</li> <li>The app is now ready. Proceed to authentication to generate your<br><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">ZOOM_ACCESS_TOKEN</code>.</li> </ol><h3 data-id="in-jupiterone">In JupiterOne</h3> <ol><li>From the configuration <strong>Gear Icon</strong>, select <strong>Integrations</strong>.</li> <li>Scroll to the <strong>Zoom</strong> integration tile and click it.</li> <li>Click the <strong>Add Configuration</strong> button and configure the following settings: <ul><li>Enter the <strong>Account Name</strong> by which you'd like to identify this Zoom<br> account in JupiterOne. Ingested entities will have this value stored in<br><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">tag.AccountName</code> when <strong>Tag with Account Name</strong> is checked.</li> <li>Enter a <strong>Description</strong> that will further assist your team when identifying<br> the integration instance.</li> <li>Select a <strong>Polling Interval</strong> that you feel is sufficient for your<br> monitoring needs. You may leave this as <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">DISABLED</code> and manually execute the<br> integration.</li> <li>Enter the <strong>Zoom API Key</strong> generated for use by JupiterOne.</li> </ul></li> <li>Click <strong>Create Configuration</strong> once all values are provided.</li> </ol><h1 data-id="how-to-uninstall">How to Uninstall</h1> <ol><li>From the configuration <strong>Gear Icon</strong>, select <strong>Integrations</strong>.</li> <li>Scroll to the <strong>Zoom</strong> integration tile and click it.</li> <li>Identify and click the <strong>integration to delete</strong>.</li> <li>Click the <strong>trash can</strong> icon.</li> <li>Click the <strong>Remove</strong> button to delete the integration.</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 code codeInline" spellcheck="false" tabindex="0">_type</code></th> <th>Entity <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_class</code></th> </tr></thead><tbody><tr><td>Account</td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_account</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">Account</code></td> </tr><tr><td>Group</td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_group</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">Group</code></td> </tr><tr><td>Role</td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_role</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">AccessRole</code></td> </tr><tr><td>User</td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_user</code></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">User</code></td> </tr></tbody></table><h3 data-id="relationships">Relationships</h3> <p>The following relationships are created:</p> <table><thead><tr><th>Source Entity <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_type</code></th> <th>Relationship <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_class</code></th> <th>Target Entity <code class="code codeInline code codeInline" spellcheck="false" tabindex="0">_type</code></th> </tr></thead><tbody><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_account</code></td> <td><strong>HAS</strong></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_group</code></td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_account</code></td> <td><strong>HAS</strong></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_role</code></td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_account</code></td> <td><strong>HAS</strong></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_user</code></td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_group</code></td> <td><strong>HAS</strong></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_user</code></td> </tr><tr><td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_user</code></td> <td><strong>ASSIGNED</strong></td> <td><code class="code codeInline code codeInline" spellcheck="false" tabindex="0">zoom_role</code></td> </tr></tbody></table> </article> </main>