인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
개발 및 엔지니어링 · SKILL.md

cipp-security

cipp-security

Read-only access to a tenant's Conditional Access policy graph and named locations through CIPP: policy state semantics, the findings that matter in a CA review, portfolio drift detection, and why CA writes are absent from the MCP surface.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: "cipp-security" description: "Read-only access to a tenant's Conditional Access policy graph and named locations through CIPP: policy state semantics, the findings that matter in a CA review, portfolio drift detection, and why CA writes are absent from the MCP surface." when_to_use: >- When auditing conditional access policies or named locations across managed tenants for security posture review. Use when: conditional access, ca policy, named locations, trusted ips, cipp security, mfa enforcement, security posture, or location based access.

CIPP Security — Conditional Access & Named Locations

Read-only access to a tenant's Conditional Access policy graph and named-location list. Use as input to security posture reviews and to detect tenants drifting from MSP baseline policies. CIPP doesn't expose CA write operations through MCP — apply policy changes via CIPP standards or the CIPP UI.

Anti-triggers

  • Creating, editing, or deploying a CA policy — there is no CA write tool here; policy rollout goes through cipp-standards or the CIPP UI.
  • Who has actually registered MFA — CA tells you what is required, not what users have enrolled; cipp_list_mfa_users in cipp-users answers the enrolment question.
  • Defender, secure score, or threat policies for one tenant you hold credentials for — that is the m365 plugin's Microsoft 365 Security; this skill is CSP-delegated and CA-only.
  • Portfolio-wide posture scoring — comparing tenants against a baseline template is cipp-standards or inforcer-compliance-reporting.

Tools

cipp_list_conditional_access_policies

cipp_list_conditional_access_policies(tenantFilter='contoso.onmicrosoft.com')

Returns every CA policy with displayName, state (enabled / disabled / enabledForReportingButNotEnforced), conditions (users, apps, locations, platforms, sign-in risk), and grantControls (MFA, compliant device, terms of use, etc).

cipp_list_named_locations

cipp_list_named_locations(tenantFilter='contoso.onmicrosoft.com')

Returns named locations: IP ranges (trusted/untrusted) and country-based locations. These are the building blocks CA policies reference for location-based controls.

What to look for in a CA review

FindingWhy it matters
Zero policies in enabled stateTenant has no CA enforcement at all — a baseline enabledForReportingButNotEnforced doesn't block anything
MFA not required for "All cloud apps"A baseline policy is missing or scoped too narrowly
Policies excluding the entire admin roleCommon configuration mistake; admins should require more MFA, not less
Trusted location includes home/coffee-shop IPsNamed-location bloat creates exception paths for attackers
legacy authentication not blockedBasic auth bypasses MFA entirely; should be blocked tenant-wide
Reporting-only policies older than 30 daysShould have been promoted to enabled or removed

Workflow patterns

Tenant CA baseline check

policies = cipp_list_conditional_access_policies(tenantFilter)
enabled = [p for p in policies if p['state'] == 'enabled']
mfa_for_all_apps = any(
    p for p in enabled
    if 'mfa' in p.get('grantControls', {}).get('builtInControls', [])
    and 'All' in p.get('conditions', {}).get('applications', {}).get('includeApplications', [])
)

If mfa_for_all_apps is false, the tenant lacks the baseline "MFA for everything" policy that every MSP should ship as a standard.

Portfolio drift detection

Run cipp_list_conditional_access_policies per tenant and compare the policy fingerprint (display names + state + grant controls) against the MSP's golden baseline. Flag tenants where any baseline policy is missing or disabled.

Caveats

  • CA write operations (create/edit/delete) are not exposed via MCP. Use CIPP standards (cipp_run_standards_check and the standards UI) to deploy policy templates across tenants, or do it manually via the CIPP web UI.
  • Named locations are a trust amplifier — review them as carefully as policies. A misconfigured trusted IP range can quietly exempt entire networks from MFA.
  • enabledForReportingButNotEnforced looks like coverage in dashboards but enforces nothing. Always check state == 'enabled' for actual enforcement.
저장한 Skills