implementing-saml-sso-with-okta
使用 Okta 作为身份提供商(IdP)实施 SAML 2.0 单点登录(SSO)。涵盖 SAML 认证流程的端到端配置、属性映射、证书管理,以及企业 SSO 部署的安全加固。
Best use case
implementing-saml-sso-with-okta is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
使用 Okta 作为身份提供商(IdP)实施 SAML 2.0 单点登录(SSO)。涵盖 SAML 认证流程的端到端配置、属性映射、证书管理,以及企业 SSO 部署的安全加固。
Teams using implementing-saml-sso-with-okta 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-saml-sso-with-okta/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How implementing-saml-sso-with-okta Compares
| Feature / Agent | implementing-saml-sso-with-okta | 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?
使用 Okta 作为身份提供商(IdP)实施 SAML 2.0 单点登录(SSO)。涵盖 SAML 认证流程的端到端配置、属性映射、证书管理,以及企业 SSO 部署的安全加固。
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
# 使用 Okta 实施 SAML SSO ## 概述 使用 Okta 作为身份提供商(IdP)实施 SAML 2.0 单点登录(SSO)。涵盖 SAML 认证流程的端到端配置、属性映射、证书管理,以及企业 SSO 部署的安全加固。 ## 目标 - 将 Okta 配置为 SAML 2.0 身份提供商 - 实现 SP 发起和 IdP 发起的 SSO 流程 - 映射 SAML 属性并配置断言加密 - 强制使用 SHA-256 签名并安全轮换证书 - 使用 SAML tracer 工具测试 SSO 流程 - 实现单点注销(SLO)处理 ## 关键概念 ### SAML 2.0 认证流程 1. **SP 发起流程**:用户访问服务提供商 -> SP 生成 AuthnRequest -> 重定向到 Okta IdP -> 用户认证 -> Okta 发送 SAML Response -> SP 验证断言 -> 授予访问权限 2. **IdP 发起流程**:用户在 Okta 认证 -> 选择应用程序 -> Okta 发送主动 SAML Response -> SP 验证 -> 授予访问权限 ### 关键安全要求 - **SHA-256 签名**:所有 SAML 断言必须使用 SHA-256(不使用 SHA-1)进行数字签名 - **断言加密**:使用 AES-256 加密 SAML 断言,保护传输中的属性值 - **受众限制**:配置受众 URI,防止断言在不同 SP 之间被重放 - **NotBefore/NotOnOrAfter**:强制执行时间有效性窗口,防止使用过期断言 - **InResponseTo 验证**:验证断言与原始 AuthnRequest 的对应关系 ### Okta 应用程序配置 - **单点登录 URL**:SP 上的 ACS(断言消费者服务)端点 - **受众 URI(SP Entity ID)**:SP 的唯一标识符 - **Name ID 格式**:EmailAddress、Persistent 或 Transient - **属性声明**:将 Okta 用户配置文件属性映射到 SAML 断言属性 - **组属性声明**:包含用于 RBAC 的组成员资格 ## 实施步骤 ### 第 1 步:在 Okta 中创建 SAML 应用程序 1. 导航至"Applications > Create App Integration" 2. 选择 SAML 2.0 作为登录方法 3. 配置通用设置(应用名称、Logo) 4. 设置单点登录 URL(ACS URL) 5. 设置受众 URI(SP Entity ID) 6. 配置 Name ID 格式和应用程序用户名 ### 第 2 步:配置属性映射 - 将 `user.email` 映射到 `email` 属性 - 将 `user.firstName` 和 `user.lastName` 映射到姓名属性 - 添加组属性声明以支持基于角色的访问 - 配置属性值格式(Basic、URI Reference、Unspecified) ### 第 3 步:下载并安装 IdP 元数据 - 下载 Okta IdP 元数据 XML - 提取 IdP SSO URL、IdP Entity ID 和 X.509 证书 - 在 SP 端安装证书用于签名验证 - 使用 ACS URL 和 Entity ID 配置 SP 元数据 ### 第 4 步:实现 SP 端 SAML 处理 - 解析并验证 SAML Response XML - 使用 IdP 证书验证数字签名 - 检查受众限制、时间条件和 InResponseTo - 提取经过认证的用户身份和属性 - 基于断言数据创建应用程序会话 ### 第 5 步:安全加固 - 强制所有签名操作使用 SHA-256 - 使用 AES-256-CBC 启用断言加密 - 配置会话超时和重新认证策略 - 为敏感部署实现 SAML 工件绑定 - 在证书过期前设置证书轮换程序 ### 第 6 步:测试和验证 - 使用 SAML Tracer 浏览器扩展进行调试 - 验证 SP 发起和 IdP 发起的流程 - 使用多个用户账户和组成员进行测试 - 验证 SLO 功能 - 在不停机的情况下测试证书轮换 ## 安全控制 | 控制项 | NIST 800-53 | 描述 | |---------|-------------|------| | 认证 | IA-2 | 通过 Okta 进行多因素认证 | | 会话管理 | SC-23 | SAML 会话生命周期控制 | | 审计日志 | AU-3 | 记录所有 SSO 认证事件 | | 证书管理 | SC-17 | PKI 证书生命周期管理 | | 访问执行 | AC-3 | 基于 SAML 属性的访问控制 | ## 常见误区 - 使用 SHA-1 而非 SHA-256 进行 SAML 签名 - 未验证 SAML 响应中的 InResponseTo(重放攻击) - IdP 和 SP 之间的时钟偏差导致断言被拒绝 - 未限制受众 URI 导致断言可被转发 - 未在证书到期前实施轮换导致服务中断 ## 验证清单 - [ ] 通过 SP 发起流程成功完成 SAML SSO 登录 - [ ] IdP 发起流程正确认证用户 - [ ] SAML 断言使用 SHA-256 签名 - [ ] 属性映射正确填充用户配置文件 - [ ] 会话超时强制重新认证 - [ ] SLO 正确终止 IdP 和 SP 上的会话 - [ ] 证书轮换测试无服务中断
Related Skills
managing-cloud-identity-with-okta
本技能涵盖将 Okta 部署为云环境集中身份提供商,配置与 AWS、Azure 和 GCP 的 SSO 集成,使用 Okta FastPass 部署抗钓鱼 MFA,管理用户预配置和取消配置的生命周期自动化,以及基于设备态势和风险信号实施自适应访问策略。
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-for-saas-applications
使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。
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 违规构建自动化告警,包含基于严重程度的时间线、升级工作流和合规性报告仪表板。