Zia Create Ssl Inspection Rule

作者 zscaler809f68d6c921無授權條款收錄於 2026年10月8日更新於 2026年10月8日

Create a ZIA SSL Inspection rule that controls how Zscaler handles SSL/TLS encrypted traffic — BLOCK (drop the SSL connection), DECRYPT (decrypt and inspect), or DO_NOT_DECRYPT (pass through without decryption). Scopes the rule by cloud applications, URL categories, users, groups, departments, locations, device trust levels, platforms, source/destination IP groups, and ZPA application segments. SSL Inspection rules do NOT support a recurring time-of-day schedule — for time-of-day enforcement, use a different rule type (Cloud Firewall Filtering, URL Filtering, etc.). Use when an admin asks to 'create an SSL inspection rule', 'do not decrypt traffic to X', 'decrypt SSL for Y', 'block SSL for Z', or 'add an SSL bypass exception'. For pure auditing of existing SSL bypass posture, see `zia-audit-ssl-inspection-bypass` (read-only).

AI 產生的概覽

建立一條 Zscaler ZIA SSL 檢查規則,對指定範圍的 SSL/TLS 流量執行封鎖、解密或不解密。

功能
此技能引導代理建立一條 ZIA SSL 檢查規則,動作可選 BLOCK、DECRYPT 或 DO_NOT_DECRYPT,並可設定最低 TLS 版本、SNI 處理等子動作。它會將雲端應用程式、URL 類別、使用者、群組、位置、IP 群組與 ZPA 應用程式區段等具名資源解析為規則所需的識別碼。建立完成後,它會啟用暫存的設定,並回報規則名稱、動作與已套用的限定範圍。它明確不建立被引用的物件,不修改其他 ZIA 規則類型,也不支援依時段的排程。
適用情境
當管理員要求建立 SSL 檢查規則、對特定流量解密或封鎖 SSL,或新增 SSL 繞行例外時使用。適用於依應用程式、URL 類別、使用者、群組、位置、裝置信任等級、平台、IP 群組或 ZPA 區段限定範圍的要求。它不用於稽核現有 SSL 繞行狀況,也不用於依時段執行政策,後者屬於其他規則類型。
執行需求
需要存取 Zscaler ZIA 工具,包括 SSL 檢查建立工具、設定啟用工具,以及用於 URL 類別、使用者、群組、部門、位置、IP 群組、標籤、雲端應用程式名稱與 ZPA 應用程式區段的各種清單與查詢工具。此技能不附帶指令碼,僅為說明文件。具名資源必須已存在,因為此技能不會建立它們。

ZIA: Create SSL Inspection Rule

How to talk to the admin

  • Don't narrate tool calls, JMESPath filters, search keys, or internal lookup logic. Just confirm what was created and which scoping was applied.
  • Empty list responses are authoritative. If a zia_list_* lookup returns no match for an exact-name search, treat the resource as "does not exist." Do not retry with split keywords or unfiltered listings.
  • Don't claim a tool doesn't exist without checking. If zia_create_* and zia_get_* are visible for a resource, the matching zia_list_* exists too.
  • Don't narrate strategy pivots. If you have to retry quietly, retry quietly and report only the final outcome.
  • After every successful create, mention the activation step explicitly — ZIA changes are staged until activated. The agent must call zia_activate_configuration() and tell the admin the change is now live.

Scope of this skill

This skill creates one SSL Inspection rule per invocation. Anything outside that scope is a hard stop:

  • It does not create the auxiliary objects the rule references (URL categories, IP groups, label IDs, group/department/user IDs, ZPA app segments, location groups). If those don't exist, this skill stops and points the admin at the right place to create them — it does not improvise.
  • It does not modify Cloud Firewall, URL Filtering, DLP, or any other ZIA rule type. Those are separate resource types and have their own skills (zia-create-firewall-filtering-rule for firewall, zia-create-url-filtering-rule for URL filtering).
  • It does not deal with timeouts, session expiry, or re-authentication. SSL Inspection is a per-connection decryption decision. ZPA-style timeouts are unrelated.
  • It does not support a recurring time-of-day schedule. SSL Inspection rules have no time_windows attribute on the API. If the admin needs time-of-day scoping, the policy decision belongs on a different rule type (see "When the admin asks for a schedule" below).

Hard stop conditions

Stop and report plainly when:

  • The admin's stated cloud apps, URL categories, IP groups, or label/group IDs cannot be resolved. Resolve once via the appropriate zia_list_* tool; if empty, say so and stop. Do not skip the field, do not invent IDs.
  • An action was requested that doesn't exist on this rule type. Valid actions are exactly: BLOCK, DECRYPT, DO_NOT_DECRYPT. Anything else (INSPECT, DO_NOT_INSPECT, ALLOW, BYPASS, etc.) belongs to other rule types or is simply not a valid SSL Inspection action.
  • The admin asked for a recurring time-of-day SSL Inspection rule. SSL Inspection does not support time_windows. Stop and explain — see "When the admin asks for a schedule" below.
  • The admin is trying to modify the predefined Default Cloud SSL Inspection Rule by name. Predefined/default rules cannot be deleted, and changes to them require admin rank 7. Confirm intent before proceeding; do not silently elevate.

Never improvise around a missing dependency — hand off or stop.

Action types (what each does)

ActionEffect on matched SSL/TLS trafficCommon reasons to choose this
BLOCKThe SSL/TLS connection is blocked outright.Block known-malicious destinations or traffic that should never be allowed regardless of payload.
DECRYPTThe connection is decrypted and inspected. Downstream URL Filtering, DLP, Sandbox, ATP, etc. policies see the full HTTP payload.Default for general web browsing where security policy needs full content visibility.
DO_NOT_DECRYPTThe connection is not decrypted. It still flows, and SNI-based policies (URL category, IP, etc.) still apply, but the payload remains opaque.Privacy-sensitive destinations (banking, healthcare), pinned or non-decryptable apps, regulatory carve-outs.

The action payload is a dict with a type field plus optional sub-action settings:

python
# Simple forms{"type": "BLOCK"}{"type": "DECRYPT"}
# Richer DO_NOT_DECRYPT with sub-actions{  "type": "DO_NOT_DECRYPT",  "do_not_decrypt_sub_actions": {    "bypass_other_policies": True,    "block_ssl_traffic_with_no_sni_enabled": True,    "min_tls_version": "SERVER_TLS_1_2"  }}

When the admin asks for a schedule

SSL Inspection rules have no time-of-day attribute. There is no time_windows field on this API. If the admin says "decrypt SSL only during business hours" or "do not decrypt this app after hours", offer one of these alternatives instead of trying to attach a Time Interval:

  • Move the schedule to a Cloud Firewall Filtering rule that allows/blocks the underlying traffic on a recurring window — the SSL Inspection rule then governs only what's inspected when the firewall lets it through.
  • Move the schedule to a URL Filtering rule that blocks/cautions/isolates the URL category on a recurring window — the SSL Inspection rule still controls decryption for traffic the URL Filtering layer permits.
  • Use two SSL Inspection rules with different scopes — e.g. one DECRYPT rule scoped to corporate users and one DO_NOT_DECRYPT rule scoped to a specific group used during off-hours, with the gating done by group/department membership rather than time.

If the admin insists on a time-of-day SSL Inspection rule, stop and explain the constraint. Do not silently drop the time field and create a 24/7 rule the admin didn't ask for.

Workflow

Step 1: Gather requirements from the admin

Required:

  • Rule name (max 31 characters)
  • Action — one of BLOCK, DECRYPT, DO_NOT_DECRYPT

At least one matching criterion (otherwise the rule matches nothing useful):

  • Cloud applications (e.g. ["ONEDRIVE", "GITHUB"])
  • URL categories
  • Users / groups / departments
  • Locations / location groups
  • Device trust levels / platforms / user agent types
  • Source IP groups / destination IP groups
  • ZPA application segments

Optional:

  • Description, rank (1-7), order (defaults to bottom of list)

Step 2: Resolve every named resource (read-before-write)

Shared rule targets — delegate to zia-look-up-rule-targets. For every user, group, department, location, location group, URL category, device, device group, workload group, or label the admin named, follow zia-look-up-rule-targets to get the IDs (or canonical UPPER_SNAKE strings, for url_categories — SSL Inspection takes the string form, not numeric IDs). Stop and report if any lookup is empty — never invent IDs, never substitute. (SSL Inspection does not support time_windows — see "When the admin asks for a schedule" below.)

SSL-specific fields — resolve here. The fields below are unique to SSL Inspection and not covered by zia-look-up-rule-targets. For each one the admin named, run one lookup using the knob below.

Admin namedResolution toolLookup knobReturns
Cloud app friendly name (e.g. "OneDrive")zia-look-up-cloud-app-name (skill)(skill)canonical names like ONEDRIVE
Source/Dest IP group namezia_list_ip_source_groups / zia_list_ip_destination_groupssearch="<exact>"IP group ID
ZPA application segment(resolve via the ZPA tools — zpa_list_application_segments(search=...))search="<exact>"segment ID

For cloud applications, the agent has a choice: pass canonical enum tokens (ONEDRIVE, SHAREPOINT_ONLINE) directly, or pass friendly names ("OneDrive", "share point online") and let the SSL inspection tool auto-resolve via the policy-engine catalog (resolve_cloud_apps=True is the default). Prefer canonical enums when the admin already knows them; otherwise let the auto-resolver do the work and surface the resolution audit back to the admin.

Step 3: Build the action payload

Confirm the admin's action choice (BLOCK / DECRYPT / DO_NOT_DECRYPT) and any sub-action settings (TLS minimum version, SNI handling, bypass behaviour) before issuing the create. The action payload is an explicit dict, not a string:

python
action = {"type": "DO_NOT_DECRYPT",          "do_not_decrypt_sub_actions": {              "bypass_other_policies": True,              "block_ssl_traffic_with_no_sni_enabled": True,              "min_tls_version": "SERVER_TLS_1_2",          }}

Step 4: Create the rule

Call:

text
zia_create_ssl_inspection_rule(    name=<name>,    action=<action dict>,    description=<optional>,    enabled=True,    rank=<1-7, optional>,    order=<optional, defaults to bottom>,    cloud_applications=[...],          # canonical enums or friendly names    url_categories=[...],    groups=[...],    users=[...],    locations=[...],    location_groups=[...],    source_ip_groups=[...],    dest_ip_groups=[...],    device_trust_levels=[...],    platforms=[...],    user_agent_types=[...],    labels=[...],    zpa_app_segments=[...],            # only for Source IP Anchoring)

Note: the SSL Inspection tool does not accept a time_windows parameter — it is not part of this rule type.

Capture the returned id.

Step 5: Activate the configuration

ZIA changes are staged until activation. After every successful create, run:

text
zia_activate_configuration()

Tell the admin: "Rule created (ID <id>) and activated." If activation fails, surface the error — the rule exists but is not live.

Step 6: Echo back what was applied

Confirm in plain language:

  • The rule name and action type (BLOCK / DECRYPT / DO_NOT_DECRYPT)
  • Each scoping dimension that was applied (one bullet per — apps, categories, users, locations, etc.)
  • Any sub-action settings on DO_NOT_DECRYPT (TLS min version, SNI handling)
  • The activation status

Don't restate operand IDs or internal field names that the admin doesn't need to see.

Quick Reference

Tools used:

  • Read: zia_list_ssl_inspection_rules(search=...) — only on explicit admin request for ordering / duplicate checks
  • Write: zia_create_ssl_inspection_rule(name, action, ...)
  • Activation: zia_activate_configuration()

Related ID-resolution tools (one call per resource, exact name):

  • zia_list_url_categories, zia_list_user_groups, zia_list_user_departments, zia_list_users, zia_list_locations, zia_list_ip_source_groups, zia_list_ip_destination_groups, zia_list_rule_labels

Related skills

  • zia-audit-ssl-inspection-bypass — read-only audit of existing SSL Inspection rules. Use when the admin asks "show me what's bypassing SSL inspection" rather than "create a new SSL Inspection rule".
  • zia-look-up-cloud-app-name — used silently when friendly cloud-app names are passed in. Pre-resolves "OneDrive" → ONEDRIVE.

Different ZIA rule types — do not chain through this skill:

  • zia-create-firewall-filtering-rule — Cloud Firewall is a separate resource type. If the admin wants schedule-based filtering, this is a likely destination for the schedule.
  • zia-create-url-filtering-rule — URL Filtering is a separate resource type. Supports time_windows natively, so it's the right place when the admin wants time-of-day URL category enforcement.
  • DLP / Sandbox / Cloud App Control / File Type Control — also separate resource types.

No schedule support on this rule type. SSL Inspection has no time_windows attribute. If the admin asks for time-of-day enforcement, redirect the schedule to Cloud Firewall Filtering or URL Filtering rather than attempting to attach a Time Interval here.

Don't pre-list rules before creating. Skip zia_list_ssl_inspection_rules unless the admin explicitly asks about ordering or wants to inspect existing rules — direct create + activate is the default flow.

來源與署名

來源:zscaler/zscaler-mcp-server位於skills/zia/create-ssl-inspection-rule提交809f68d

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架