implementing-zero-trust-for-saas-applications
使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。
Best use case
implementing-zero-trust-for-saas-applications is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。
Teams using implementing-zero-trust-for-saas-applications should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/implementing-zero-trust-for-saas-applications/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How implementing-zero-trust-for-saas-applications Compares
| Feature / Agent | implementing-zero-trust-for-saas-applications | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 为 SaaS 应用实施零信任
## 适用场景
- 需要保护 SaaS 应用访问安全时(Microsoft 365、Google Workspace、Salesforce、Slack)
- 需要为 SaaS 实施条件访问策略(要求 MFA 和设备合规)时
- 需要部署 CASB 进行影子 IT(Shadow IT)发现和未授权应用阻断时
- 需要为敏感 SaaS 数据强制执行会话级控制(DLP、下载限制)时
- 需要治理 OAuth 应用权限并检测过度授权时
**不适用场景**:作为 SaaS 原生安全控制的替代方案(应先配置原生控制);不支持 SAML/OIDC 的应用;SaaS 供应商不支持 CASB/SSPM API 集成时。
## 前置条件
- 支持条件访问的身份提供商:Microsoft Entra ID P1/P2、Okta
- CASB 解决方案:Microsoft Defender for Cloud Apps、Netskope 或 Zscaler CASB
- 通过 SAML 2.0 或 OIDC 配置了 SSO 的 SaaS 应用
- 用于设备合规信号的 MDM 注册(Intune、Jamf)
- 已为敏感数据类别定义 DLP 策略
## 工作流程
### 步骤 1:通过身份提供商统一 SaaS 认证
将所有 SaaS 应用的认证集中到单一 IdP。
```powershell
# 通过 Entra ID 为 Salesforce 配置 SAML SSO
Connect-MgGraph -Scopes "Application.ReadWrite.All"
# 为 Salesforce 创建企业应用
$app = New-MgServicePrincipal -AppId "SALESFORCE_APP_ID" -DisplayName "Salesforce"
# 配置 SAML SSO 设置
$samlSettings = @{
preferredSingleSignOnMode = "saml"
samlSingleSignOnSettings = @{
relayState = ""
}
}
Update-MgServicePrincipal -ServicePrincipalId $app.Id -BodyParameter $samlSettings
# 将用户组分配到应用
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $app.Id -BodyParameter @{
principalId = "SALES_GROUP_ID"
resourceId = $app.Id
appRoleId = "DEFAULT_ROLE_ID"
}
```
### 步骤 2:为 SaaS 应用创建条件访问策略
在授予 SaaS 访问权限前强制执行身份和设备要求。
```powershell
# 阻断不合规设备访问敏感 SaaS 应用
$policy = @{
displayName = "ZT - Require Compliant Device for SaaS"
state = "enabled"
conditions = @{
applications = @{
includeApplications = @("SALESFORCE_APP_ID", "M365_APP_ID", "SLACK_APP_ID")
}
users = @{
includeUsers = @("All")
excludeGroups = @("BREAK_GLASS_GROUP")
}
clientAppTypes = @("browser", "mobileAppsAndDesktopClients")
}
grantControls = @{
operator = "AND"
builtInControls = @("mfa", "compliantDevice")
}
sessionControls = @{
cloudAppSecurity = @{
isEnabled = $true
cloudAppSecurityType = "mcasConfigured"
}
signInFrequency = @{
value = 8
type = "hours"
isEnabled = $true
}
}
}
New-MgIdentityConditionalAccessPolicy -BodyParameter $policy
# 阻断非托管设备上的下载操作
$downloadPolicy = @{
displayName = "ZT - Block Downloads on Unmanaged Devices"
state = "enabled"
conditions = @{
applications = @{ includeApplications = @("SHAREPOINT_APP_ID") }
users = @{ includeUsers = @("All") }
devices = @{
deviceFilter = @{
mode = "include"
rule = "device.isCompliant -ne True -or device.trustType -ne 'ServerAD'"
}
}
}
sessionControls = @{
cloudAppSecurity = @{
isEnabled = $true
cloudAppSecurityType = "mcasConfigured"
}
}
}
New-MgIdentityConditionalAccessPolicy -BodyParameter $downloadPolicy
```
### 步骤 3:部署 CASB 进行影子 IT 发现和应用治理
配置 Microsoft Defender for Cloud Apps 以发现和控制 SaaS 使用情况。
```bash
# 通过 Defender for Cloud Apps API 查询已发现的云应用
curl -X GET "https://api.cloudappsecurity.com/api/v1/discovery/" \
-H "Authorization: Token ${MDCA_API_TOKEN}" \
-H "Content-Type: application/json"
# 获取未授权应用列表
curl -X GET "https://api.cloudappsecurity.com/api/v1/discovery/discovered_apps/" \
-H "Authorization: Token ${MDCA_API_TOKEN}" \
-d '{
"filters": {
"appTag": {"eq": "unsanctioned"},
"traffic": {"gte": 1000}
},
"sortField": "traffic",
"sortDirection": "desc"
}'
# 创建 DLP 执行的会话策略
curl -X POST "https://api.cloudappsecurity.com/api/v1/policies/" \
-H "Authorization: Token ${MDCA_API_TOKEN}" \
-d '{
"name": "Block PII Upload to SaaS",
"policyType": "SESSION",
"severity": "HIGH",
"enabled": true,
"sessionPolicyType": "CONTROL_UPLOAD",
"filters": {
"fileType": {"eq": ["DOCUMENT", "SPREADSHEET"]},
"contentInspection": {
"dataType": ["CREDIT_CARD", "SSN", "PASSPORT"]
}
},
"actions": {
"block": true,
"notify": {
"emailRecipients": ["security-team@company.com"]
}
}
}'
```
### 步骤 4:配置 OAuth 应用治理
审查并限制 OAuth 应用权限,防止过度授权。
```powershell
# 查询具有高权限的 OAuth 应用
$oauthApps = Invoke-MgGraphRequest -Method GET `
"https://graph.microsoft.com/v1.0/servicePrincipals?\$filter=tags/any(t:t eq 'WindowsAzureActiveDirectoryIntegratedApp')&\$select=displayName,appId,oauth2PermissionScopes"
# 审查授权
$grants = Get-MgOauth2PermissionGrant -All
$highRisk = $grants | Where-Object {
$_.Scope -match "Mail.ReadWrite|Files.ReadWrite.All|Directory.ReadWrite.All"
}
Write-Host "高风险 OAuth 授权数量:$($highRisk.Count)"
$highRisk | ForEach-Object {
$sp = Get-MgServicePrincipal -ServicePrincipalId $_.ClientId
Write-Host " 应用:$($sp.DisplayName) | 权限范围:$($_.Scope) | 类型:$($_.ConsentType)"
}
# 配置应用授权策略要求管理员审批
$consentPolicy = @{
displayName = "Require Admin Approval for High-Risk Permissions"
conditions = @{
clientApplications = @{ includeAllClientApplications = $true }
permissions = @{
permissionClassification = "high"
permissions = @(
@{ permissionValue = "Mail.ReadWrite"; permissionType = "delegated" }
@{ permissionValue = "Files.ReadWrite.All"; permissionType = "delegated" }
)
}
}
}
```
### 步骤 5:实施 SaaS 安全态势管理(SSPM)
审计并修复 SaaS 安全配置漂移。
```bash
# 通过 CASB API 查询 SaaS 安全态势
curl -X GET "https://api.cloudappsecurity.com/api/v1/security_config/" \
-H "Authorization: Token ${MDCA_API_TOKEN}" \
-d '{"app": "Microsoft 365"}'
# 常见 SSPM 检查项:
# - 所有管理员账户强制启用 MFA
# - SharePoint/OneDrive 外部共享限制
# - 阻断向外部域名转发邮件的规则
# - 配置空闲会话超时(< 8 小时)
# - 禁用旧版认证协议
# - 启用管理员授权审批工作流
# - 条件访问策略生效
# - 所有服务启用审计日志
```
## 核心概念
| 术语 | 定义 |
|------|------|
| CASB | 云访问安全代理(Cloud Access Security Broker)——在用户和 SaaS 应用之间强制执行安全策略的中间代理 |
| SSPM | SaaS 安全态势管理(SaaS Security Posture Management)——持续监控 SaaS 应用安全配置 |
| OAuth 治理 | 审查和控制通过 OAuth 授权流授予第三方应用的权限 |
| 会话控制 | 在 SaaS 会话活跃期间实施的实时访问限制(阻断下载、DLP 检查、水印) |
| 影子 IT | 员工在未经 IT 审批或安全审查情况下使用的未授权 SaaS 应用 |
| 条件访问 | 在授予 SaaS 访问权限前评估身份、设备、位置和风险信号的策略引擎 |
## 工具与系统
- **Microsoft Defender for Cloud Apps**:提供影子 IT 发现、会话控制、DLP 和 SSPM 的 CASB 产品
- **Microsoft Entra ID 条件访问**:针对 SaaS 应用进行基于身份访问控制的策略引擎
- **Netskope CASB**:具有内联和基于 API 的 SaaS 安全控制的云原生 CASB
- **Okta Identity Governance**:针对 SaaS 应用的 OAuth 应用治理和访问认证
- **SSPM 工具**:AppOmni、Adaptive Shield、Valence Security 用于 SaaS 配置监控
## 常见场景
### 场景:为 1000 人组织保护 Microsoft 365 和 Salesforce
**背景**:一家拥有 1000 名用户的专业服务公司使用 Microsoft 365、Salesforce、Slack 及其他 20 余款 SaaS 应用。行业内多起数据泄露事件推动了针对所有 SaaS 访问的零信任计划。
**实施方案**:
1. 通过 Entra ID 使用 SAML SSO 统一所有 SaaS 认证
2. 为所有 SaaS 应用创建要求 MFA + 合规设备的条件访问策略
3. 部署 Defender for Cloud Apps 进行影子 IT 发现(识别出 150 余款未授权应用)
4. 将未授权应用标记为 unsanctioned,通过 SWG/代理阻断
5. 配置会话控制:阻断非托管设备下载,对文件上传执行 DLP
6. 审查 OAuth 应用权限:撤销 45 个高风险授权,启用管理员审批工作流
7. 为 Microsoft 365 和 Salesforce 配置启用 SSPM 监控
8. 为安全领导层设置每周自动化态势报告
**常见问题**:条件访问策略需要设置紧急访问账户排除项。部分旧版 SaaS 应用可能不支持现代认证。会话控制需要基于代理的 CASB,可能影响性能。OAuth 应用撤销可能破坏集成;请先与应用所有者协调。
## 输出格式
```
Zero Trust SaaS Security Report
==================================================
Organization: ProServices Corp
Report Date: 2026-02-23
SAAS INVENTORY:
Sanctioned Apps: 25
Unsanctioned (blocked): 127
Shadow IT Users: 342 (discovered in last 30 days)
CONDITIONAL ACCESS:
Policies active: 8
Sign-ins evaluated: 456,789
Blocked by policy: 2,345 (0.5%)
MFA enforced: 100% of sign-ins
DEVICE COMPLIANCE:
Compliant device required: All 25 sanctioned apps
Sign-ins from compliant: 448,123 (98.1%)
Sign-ins blocked (non-compliant): 8,666
CASB / DLP:
DLP violations detected: 89
Files blocked from upload: 34
Downloads blocked (unmanaged): 1,234
OAUTH GOVERNANCE:
Total OAuth apps: 312
High-risk permissions: 12 (reviewed)
Revoked consents: 45
Pending admin approval: 8
SSPM FINDINGS:
Critical misconfigurations: 3
High: 7
Medium: 15
Remediated this month: 18
```Related Skills
performing-active-directory-forest-trust-attack
使用 impacket 枚举和审计 Active Directory 林信任关系,进行 SID 过滤分析、信任密钥提取、跨林 SID 历史滥用检测和跨域 Kerberos 票据评估。
implementing-zero-trust-with-hashicorp-boundary
使用 HashiCorp Boundary 实现具备动态凭据代理、会话录制和 Vault 集成的身份感知零信任基础设施访问管理。
implementing-zero-trust-with-beyondcorp
使用身份感知代理(IAP,Identity-Aware Proxy)、上下文感知访问策略、设备信任验证和 Access Context Manager,部署 Google BeyondCorp Enterprise 零信任访问控制,对 GCP 资源和内部应用强制执行基于身份和安全态势的访问。
implementing-zero-trust-network-access
通过配置身份感知代理、微分段、基于条件访问策略的持续验证,以及在 AWS、Azure 和 GCP 环境中以 BeyondCorp 风格的架构替代传统 VPN 访问,在云环境中实施零信任网络访问(ZTNA)。
implementing-zero-trust-network-access-with-zscaler
使用 Zscaler 实施零信任网络访问(Zero Trust Network Access,ZTNA),通过 Zscaler Private Access(ZPA)配置应用分段、访问策略和连接器,替代传统 VPN 架构
implementing-zero-trust-in-cloud
本技能指导组织按照 NIST SP 800-207 和 Google BeyondCorp 原则在云环境中实施零信任(Zero Trust)架构,涵盖以身份为中心的访问控制、微分段(Micro-Segmentation)、持续验证、设备信任评估,以及部署身份感知代理(Identity-Aware Proxy)以消除 AWS、Azure 和 GCP 环境中的隐式网络信任。
implementing-zero-trust-dns-with-nextdns
将 NextDNS 实施为零信任 DNS 过滤层,提供加密解析、威胁情报阻断、隐私保护,以及跨所有端点的组织策略执行。
implementing-zero-standing-privilege-with-cyberark
部署 CyberArk Secure Cloud Access,通过基于时间、权限和审批控制的即时访问,在混合云和多云环境中消除常设权限。
implementing-zero-knowledge-proof-for-authentication
零知识证明(ZKP)允许证明者在不泄露秘密本身的情况下证明对某个秘密(如密码或私钥)的了解。本技能实现 Schnorr 身份识别协议和使用离散对数问题的简化 ZKPP,使服务器永远不需要获取用户密码即可完成认证。
implementing-web-application-logging-with-modsecurity
配置带有 OWASP 核心规则集(CRS)的 ModSecurity WAF,实现 Web 应用程序日志记录, 调整规则以减少误报,分析审计日志进行攻击检测,并为应用程序特定威胁实现自定义 SecRules。 分析师配置 SecRuleEngine、SecAuditEngine 和 CRS 偏执级别,以在安全覆盖范围和运营稳定性之间取得平衡。 适用于涉及 WAF 配置、ModSecurity 规则调整、Web 应用审计日志或 CRS 部署的场景。
implementing-vulnerability-sla-breach-alerting
为漏洞修复 SLA 违规构建自动化告警,包含基于严重程度的时间线、升级工作流和合规性报告仪表板。
implementing-vulnerability-remediation-sla
漏洞修复 SLA(服务级别协议)根据严重程度、资产重要性和漏洞利用可用性定义修补或缓解已识别漏洞的强制时限。有效的 SLA 计划推动责任落实、确保一致的修复时间线,并为漏洞管理成熟度提供可衡量的 KPI。