用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/killvxk/cybersecurity-skills-zh --skill implementing-scim-provisioning-with-okta命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
通过分析 Zeek dns.log 中的高熵子域名查询、超量查询量、超长查询长度以及异常 DNS 记录类型,检测 DNS 隧道和数据外泄中的隐蔽通道通信。适用于:当需要狩猎基于 DNS 的 C2 或数据外泄通道、调查异常 DNS 查询模式、或响应涉及 DNS 隧道工具(iodine、dnscat2、DNSExfiltrator)的威胁情报时使用。
实施 Google 的 BeyondCorp 零信任访问模型,通过 IAP、Access Context Manager 和 Chrome Enterprise Premium,消除网络边界的隐式信任,强制执行基于身份的访问控制,实现无 VPN 的安全应用访问。适用于将传统 VPN 替换为零信任架构、部署 Identity-Aware Proxy、配置设备信任策略、或为远程办公实施上下文感知访问控制时使用。
在授权的安全评估过程中,使用 Burp Suite 的扫描器、Intruder 和 Repeater 工具识别和验证跨站脚本(XSS)漏洞。适用于 Web 应用渗透测试中检测反射型、存储型和 DOM 型 XSS,验证自动化扫描器报告的 XSS 发现,以及评估 CSP 和 XSS 过滤器的有效性时使用。
基于 SOC 职业分类
正在显示 SKILL.md
| name | implementing-scim-provisioning-with-okta |
| description | 使用 SCIM 2.0 协议以 Okta 作为身份提供商实现自动化用户配置和取消配置。 |
| domain | cybersecurity |
| subdomain | identity-access-management |
| tags | ["scim","okta","provisioning","identity-management","automation","sso","lifecycle-management"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
SCIM(System for Cross-domain Identity Management,跨域身份管理系统)是一种开放标准协议(RFC 7644),用于自动化 Okta 等身份提供商与服务提供商之间的用户身份信息交换。本技能涵盖构建符合 SCIM 2.0 的 API 端点,并与 Okta 集成,实现包括用户配置、取消配置、配置文件更新和组管理在内的自动化用户生命周期管理。
SCIM 通过 JSON 定义了表示用户和组的标准 schema,以及 CRUD 操作的 RESTful API:
| 操作 | HTTP 方法 | 端点 | 描述 |
|---|---|---|---|
| 创建用户 | POST | /scim/v2/Users | 配置新用户账户 |
| 读取用户 | GET | /scim/v2/Users/{id} | 获取用户详情 |
| 更新用户 | PUT/PATCH | /scim/v2/Users/{id} | 修改用户属性 |
| 删除用户 | DELETE | /scim/v2/Users/{id} | 删除用户账户 |
| 列出用户 | GET | /scim/v2/Users | 带过滤条件列出用户 |
| 创建组 | POST | /scim/v2/Groups | 创建组 |
| 管理组 | PATCH | /scim/v2/Groups/{id} | 添加/移除组成员 |
Okta (IdP) ──SCIM 2.0 over HTTPS──> SCIM 服务器 ──> 应用数据库
│ │
├── 用户分配 ├── 创建/更新用户
├── 用户取消分配 ├── 停用用户
├── 配置文件推送 ├── 同步属性
└── 组推送 └── 管理组
/scim/v2/ServiceProviderConfig):公告 SCIM 功能/scim/v2/ResourceTypes):描述支持的资源类型/scim/v2/Schemas):发布 SCIM schema 定义/scim/v2/Users):用户生命周期操作/scim/v2/Groups):组管理操作创建基于 Flask 的 SCIM 服务器,实现核心端点。服务器必须处理:
userName 上的 eq 过滤条件(Okta 要求)startIndex、itemsPerPage 和 totalResultsfrom flask import Flask, request, jsonify
import uuid
from datetime import datetime
app = Flask(__name__)
# Okta 认证使用的 Bearer Token
SCIM_BEARER_TOKEN = "your-secure-token-here"
def require_auth(f):
def wrapper(*args, **kwargs):
auth = request.headers.get("Authorization", "")
if not auth.startswith("Bearer ") or auth[7:] != SCIM_BEARER_TOKEN:
return jsonify({"detail": "Unauthorized"}), 401
return f(*args, **kwargs)
wrapper.__name__ = f.__name__
return wrapper
@app.route("/scim/v2/Users", methods=["POST"])
@require_auth
def create_user():
data = request.json
user_id = str(uuid.uuid4())
user = {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": user_id,
"userName": data.get("userName"),
"name": data.get("name", {}),
"emails": data.get("emails", []),
"active": True,
"meta": {
"resourceType": ,
: datetime.utcnow().isoformat() + ,
: datetime.utcnow().isoformat() + ,
:
}
}
jsonify(user),
():
filter_param = request.args.get(, )
start_index = (request.args.get(, ))
count = (request.args.get(, ))
jsonify({
: [],
: ,
: start_index,
: count,
: []
})
创建 SCIM 应用集成:
配置 SCIM 连接:
https://your-app.com/scim/v2userName启用配置功能:
将 Okta 用户配置文件属性映射到 SCIM schema:
| Okta 属性 | SCIM 属性 | 方向 |
|---|---|---|
| login | userName | Okta -> 应用 |
| firstName | name.givenName | Okta -> 应用 |
| lastName | name.familyName | Okta -> 应用 |
| emails[type eq "work"].value | Okta -> 应用 | |
| department | urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department | Okta -> 应用 |
SCIM 指定了标准错误响应格式:
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],
"detail": "用户已存在",
"status": "409",
"scimType": "uniqueness"
}
常见错误代码:400(错误请求)、401(未授权)、404(未找到)、409(冲突)、500(服务器内部错误)。
Okta 提供自动化 SCIM 测试套件(通过 Runscope/BlazeMeter),验证您的 SCIM 实现是否符合所有必需操作:
userName eq "..." 过滤的用户搜索正常工作startIndex、count)正确处理active: false(而非硬删除)add、replace、remove 操作