Deploys Okta as centralized IdP for AWS, Azure, GCP SSO integration, phishing-resistant MFA with FastPass/FIDO2, user lifecycle automation via SCIM, and adaptive access policies on device posture/risk.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
- 通过单一身份提供商集中 AWS、Azure 和 GCP 控制台的认证时
Configures Okta as centralized IdP for AWS, Azure, GCP with SSO federation, phishing-resistant MFA, user lifecycle automation, and adaptive access policies based on risk signals.
Implements Okta as centralized IdP for AWS, Azure, GCP SSO via SAML/OIDC, phishing-resistant MFA, user provisioning automation, and adaptive policies on device/risk.
Evaluates Okta configurations for compliance with FedRAMP/NIST/SOC2/PCI controls, checking password/MFA policies, session timeouts, admin factors, and inactive users.
Share bugs, ideas, or general feedback.
不适用于:无外部 IdP 需求的云原生身份管理(使用 AWS IAM Identity Center 或 Azure AD 原生功能)、应用层授权逻辑,或密钥管理(参见 implementing-secrets-management-with-vault)。
在 Okta 与每个云提供商控制台之间设置 SAML 2.0 或 OIDC 联合以实现集中认证。
Okta AWS SSO 集成(SAML 2.0):
1. 在 Okta 管理控制台:Applications > Add Application > AWS Account Federation
2. 配置 SAML 设置:
- Single Sign-On URL: https://signin.aws.amazon.com/saml
- Audience URI: urn:amazon:webservices
- Attribute Statements:
- https://aws.amazon.com/SAML/Attributes/RoleSessionName -> user.email
- https://aws.amazon.com/SAML/Attributes/Role -> appuser.awsRoles
3. 下载 Okta 元数据 XML
4. 在 AWS IAM 中:使用 Okta 元数据创建身份提供商(SAML)
5. 创建信任策略引用 Okta SAML 提供商的 IAM 角色
AWS IAM 信任策略:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::123456789012:saml-provider/Okta"
},
"Action": "sts:AssumeRoleWithSAML",
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}]
}
# 通过 OIDC 集成 Azure AD
# 在 Azure AD 中将 Okta 配置为外部 IdP
az ad sp create --id <okta-app-client-id>
# 通过 Workforce Identity Federation 集成 GCP
gcloud iam workforce-pools create okta-pool \
--organization=123456789 \
--location=global \
--display-name="Okta Workforce Pool"
gcloud iam workforce-pools providers create-oidc okta-provider \
--workforce-pool=okta-pool \
--location=global \
--issuer-uri="https://company.okta.com/oauth2/default" \
--client-id="gcp-workforce-client-id" \
--attribute-mapping="google.subject=assertion.sub,google.groups=assertion.groups"
启用 Okta FastPass 和 FIDO2 WebAuthn 认证器作为抗钓鱼 MFA 因子。配置策略,要求特权云访问使用这些因子。
Okta MFA 策略配置:
1. Security > Authenticators:
- 启用 Okta Verify(FastPass)- 抗钓鱼
- 启用 FIDO2(WebAuthn)- 硬件安全密钥
- 禁用 SMS 和语音(可被钓鱼)
2. Authentication Policies > Cloud Admin Access:
- 规则:"对 AWS/Azure/GCP 管理员角色要求抗钓鱼 MFA"
- 因子类型:Okta FastPass 或 FIDO2 WebAuthn
- 重新认证:管理控制台每 4 小时一次
- 会话时长:最长 8 小时
3. 设备信任策略:
- 云管理员访问需要受管理设备
- 需要已启用设备加密
- 需要操作系统版本在最新版本 90 天内
配置 SCIM(System for Cross-domain Identity Management)配置,当员工入职、换岗或离职时,自动在云服务中创建和停用用户账户。
Okta 生命周期管理:
1. 预配置配置(AWS IAM Identity Center):
- 启用 SCIM 预配置到 AWS IAM Identity Center
- 将 Okta 组映射到 AWS 权限集
- 配置属性映射:email、displayName、groups
2. 自动化规则:
- 用户激活时:根据部门组预配置到 AWS、Azure、GCP
- 组变更时:15 分钟内更新云角色分配
- 用户停用时:立即撤销所有云会话和权限
- 暂停时:禁用云账户,保留数据 30 天
3. 离职工作流:
- HR 在 Workday/BambooHR 中触发停用
- Okta 接收 SCIM 事件,在 Universal Directory 中停用用户
- 所有 SSO 会话在 AWS、Azure、GCP 中终止
- SCIM 取消配置从云平台删除用户
- 创建审计日志条目作为合规证据
创建上下文感知认证策略,评估包括设备态势、网络位置、用户行为和威胁情报在内的风险信号。
自适应访问策略示例:
策略 1:"高风险云管理员访问"
条件:用户在"Cloud Admins"组
且:访问 AWS Console、Azure Portal 或 GCP Console
则:
- 要求抗钓鱼 MFA(FastPass 或 FIDO2)
- 要求受管理且合规的设备
- 阻止来自匿名代理或 Tor 的访问
- 会话时长:4 小时
- 敏感操作重新认证:每 2 小时
策略 2:"标准云开发者访问"
条件:用户在"Developers"组
且:访问非管理员云资源
则:
- 要求任意 MFA 因子(FastPass、TOTP 或推送通知)
- 允许非托管设备使用升级验证
- 会话时长:8 小时
- 阻止来自运营区域以外国家的访问
策略 3:"紧急应急访问"
条件:用户在"Emergency Admins"组
且:在 ServiceNow 中申请已批准
则:
- 仅要求 FIDO2 硬件密钥
- 将所有操作记录到不可变审计追踪
- 会话时长:最长 1 小时
- 通过自动告警通知 SOC 团队
启用 Okta ThreatInsight 和系统日志监控,检测凭据填充、账户接管和可疑认证模式。
# 通过 API 查询 Okta 系统日志中的安全事件
curl -s -H "Authorization: SSWS ${OKTA_API_TOKEN}" \
"https://company.okta.com/api/v1/logs?filter=eventType+eq+%22user.session.start%22+and+outcome.result+eq+%22FAILURE%22&since=$(date -d '-24 hours' +%Y-%m-%dT%H:%M:%SZ)" | \
jq '.[] | {time: .published, actor: .actor.displayName, ip: .client.ipAddress, result: .outcome.reason}'
# 通过 Log Streaming 将 Okta 日志导出到 SIEM
# 在 Okta Admin > Reports > Log Streaming 中配置
# 支持的目标:Splunk Cloud、AWS EventBridge、Datadog
| 术语 | 定义 |
|---|---|
| Okta FastPass | 抗钓鱼无密码 MFA,以加密方式将认证绑定到设备和源站点,防止实时钓鱼攻击 |
| SCIM 预配置(SCIM Provisioning) | 跨域身份管理系统协议,自动化跨云应用的用户创建、更新和删除 |
| Universal Directory | Okta 的云身份存储,聚合来自 AD、LDAP 和 HR 系统等多个来源的用户档案 |
| 自适应 MFA(Adaptive MFA) | 根据设备信任、位置和行为等风险信号调整 MFA 要求的上下文感知认证 |
| Workforce Identity | Okta 产品层级,专注于员工和承包商的身份管理,包括 SSO、MFA 和生命周期管理 |
| ThreatInsight | Okta 的威胁检测服务,识别并阻止凭据填充、密码喷洒和机器人驱动的认证攻击 |
| 设备信任(Device Trust) | 与 MDM 平台集成,在授权访问前验证设备合规性(加密、操作系统版本、管理状态) |
场景背景:一名拥有 AWS 管理员、Azure 贡献者和 GCP 编辑者权限的员工离开公司。组织需要在 HR 处理离职后 15 分钟内撤销所有访问权限。
方法:
常见陷阱:未取消配置在 Okta 联合之外创建的直接 IAM 用户或服务账户,留下后门访问。某些服务中 SCIM 传播延迟可能导致 Okta 停用后访问仍持续数分钟。
云身份安全报告
================================
身份提供商: Okta (company.okta.com)
报告日期: 2025-02-23
用户统计:
总用户数: 2,450
活跃: 2,312 | 暂停: 45 | 已停用: 93
MFA 注册率: 2,298/2,312 (99.4%)
抗钓鱼 MFA: 812/2,312 (35.1%)
云 SSO 覆盖率:
AWS Console(45 个账户): 100% 通过 SAML 联合
Azure Portal(8 个订阅): 100% 通过 OIDC 联合
GCP Console(3 个项目): 100% 通过 Workforce Identity
认证事件(过去 30 天):
总登录次数: 145,234
MFA 挑战次数: 89,456
登录失败次数: 3,456
账户锁定次数: 23
ThreatInsight 拦截: 12,345(凭据填充尝试)
生命周期事件:
已预配置用户: 45
已取消配置用户: 23
平均取消配置时间: 8 分钟
检测到的孤儿账户: 3(不受 Okta 管理的直接 IAM 用户)
建议:
[高] 将抗钓鱼 MFA 采用率从 35% 提升到 80%
[高] 修复 3 个不受 Okta 管理的孤儿云账户
[中] 将管理员角色的会话时长从 8 小时缩短到 4 小时