steampipe plugin install zoom

Table: zoom_account_settings - Query Zoom Account Settings using SQL

Zoom Account Settings is a resource in Zoom that allows users to manage and customize their account's configuration and preferences. This includes settings related to scheduling, recording, telephony, and more. Zoom Account Settings provide a centralized way to manage and understand the behavior and controls of your Zoom account.

Table Usage Guide

The zoom_account_settings table provides insights into Zoom Account Settings. As a Zoom administrator or IT professional, explore account-specific details through this table, including scheduling preferences, recording settings, telephony options, and other configuration details. Utilize it to understand and manage the behavior and controls of your Zoom account, ensuring it aligns with organizational policies and preferences.

Examples

Get all settings for the current account

Explore the various settings associated with your account to better understand its configuration and features. This can help in identifying areas for improvement, ensuring optimal security and functionality.

select
jsonb_pretty(email_notification) as email_notification,
jsonb_pretty(feature) as feature,
jsonb_pretty(in_meeting) as in_meeting,
jsonb_pretty(integration) as integration,
jsonb_pretty(managed_domains) as managed_domains,
jsonb_pretty(meeting_authentication) as meeting_authentication,
jsonb_pretty(meeting_security) as meeting_security,
jsonb_pretty(recording) as recording,
jsonb_pretty(recording_authentication) as recording_authentication,
jsonb_pretty(schedule_meeting) as schedule_meeting,
jsonb_pretty(security) as security,
jsonb_pretty(telephony) as telephony,
jsonb_pretty(trusted_domains) as trusted_domains,
jsonb_pretty(tsp) as tsp
from
zoom_account_settings;
select
email_notification,
feature,
in_meeting,
integration,
managed_domains,
meeting_authentication,
meeting_security,
recording,
recording_authentication,
schedule_meeting,
security,
telephony,
trusted_domains,
tsp
from
zoom_account_settings;

Ensure a Personal Meeting ID (PMI) is not used for meetings by default

This example helps you verify whether your Zoom account settings are configured to avoid using Personal Meeting IDs (PMIs) for instant and scheduled meetings by default. It's beneficial for maintaining meeting security, as PMIs, if reused, can be exploited by unauthorized individuals to gain access to meetings. It's more secure to use a random meeting ID rather than using your same PMI for every meeting, particularly for public participants.

select
schedule_meeting ->> 'use_pmi_for_instant_meetings' as use_pmi_for_instant_meetings,
schedule_meeting ->> 'use_pmi_for_scheduled_meetings' as use_pmi_for_scheduled_meetings
from
zoom_account_settings;
select
json_extract(
schedule_meeting,
'$.use_pmi_for_instant_meetings'
) as use_pmi_for_instant_meetings,
json_extract(
schedule_meeting,
'$.use_pmi_for_scheduled_meetings'
) as use_pmi_for_scheduled_meetings
from
zoom_account_settings;

Check that these settings are locked for all users in the account:

select
schedule_meeting ->> 'personal_meeting' as personal_meeting
from
zoom_account_lock_settings;
select
json_extract(schedule_meeting, '$.personal_meeting') as personal_meeting
from
zoom_account_lock_settings;

Ensure minimum passcode length is set to at least 6 characters (CIS v1.1.1.1.1)

Determine if your Zoom account settings comply with CIS v1.1.1.1.1 by checking if the minimum passcode length is set to at least 6 characters. This is useful for maintaining security standards and preventing unauthorized access.

select
security -> 'password_requirement' ->> 'minimum_password_length' as minimum_password_length
from
zoom_account_settings;
select
json_extract(
json_extract(security, '$.password_requirement'),
'$.minimum_password_length'
) as minimum_password_length
from
zoom_account_settings;

Ensure join before host is set to disabled (CIS v1.1.2.4)

Determine if the Zoom meeting settings allow participants to join before the host. This is critical in ensuring the security and privacy of the meeting by preventing unauthorized access before the host arrives.

select
schedule_meeting ->> 'join_before_host' as join_before_host
from
zoom_account_settings;
select
json_extract(schedule_meeting, '$.join_before_host') as join_before_host
from
zoom_account_settings;

Schema for zoom_account_settings

NameTypeOperatorsDescription
_ctxjsonbSteampipe context in JSON form.
account_idtext=, !=, ~~, ~~*, !~~, !~~*Zoom account ID.
email_notificationjsonbEmail notification settings.
featurejsonbFeature settings.
idtext=Account ID. Set to 'me' for the master account.
in_meetingjsonbIn meeting settings.
integrationjsonbIntegration settings.
managed_domainsjsonbAssociated domains allow all users with that email domain to be prompted to join the account.
meeting_authenticationjsonbMeeting authentication options applied to the account.
meeting_securityjsonbMeeting security settings applied to the account.
recordingjsonbRecording settings.
recording_authenticationjsonbRecording authentication options applied to the account.
schedule_meetingjsonbSchedule meeting settings.
securityjsonbSecurity settings.
sp_connection_nametext=, !=, ~~, ~~*, !~~, !~~*Steampipe connection name.
sp_ctxjsonbSteampipe context in JSON form.
telephonyjsonbTelephony settings.
trusted_domainsjsonbAssociated domains allow all users with that email domain to be prompted to join the account.
tspjsonbTSP settings.

Export

This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.

You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh script:

/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- zoom

You can pass the configuration to the command with the --config argument:

steampipe_export_zoom --config '<your_config>' zoom_account_settings