SuperAPI AI 工具集

apollo-enterprise-rbac

数据与分析

查看项目

更新于 10-15 22:42

技能介绍

用途:Apollo.io 的 API 密钥是全有或全无(标准密钥与主密钥),因此 RBAC 需在应用层实现,作为用户与 Apollo API 之间的代理。本技能用于实现团队权限、限制数据访问与搭建企业安全控制。

主要能力:

  1. 五级角色权限矩阵:viewer、analyst、sales_rep、sales_manager、admin,逐项控制搜索联系人/组织、人员与组织富化、批量富化、联系人 CRUD、序列、交易、导出 PII、查看分析、管理团队等权限。
  2. 作用域 API 密钥:createScopedKey 生成带团队、角色、TTL 的密钥,仅存 SHA-256 哈希,支持按哈希解析与吊销 revokeKey(明文密钥只返回一次,不落库、不写日志)。
  3. Express 权限中间件 requirePermission:读取 x-api-key,校验密钥有效性与角色权限,失败返回 401 或 403 并附带当前角色。
  4. Apollo API 代理:将 /apollo/* 请求按端点映射到所需权限,通过后转发到 https://api.apollo.io/api/v1,使用环境变量 APOLLO_API_KEY。
  5. 管理端接口:POST /keys 创建密钥、DELETE /keys/:key 吊销、GET /usage 查询 Apollo 用量,均需 manageTeam 权限。

前提:Apollo 主 API 密钥;Node.js 18+ 配合 Express。依赖 crypto、axios 等。

使用方式:按角色定义权限矩阵,创建作用域密钥,挂载中间件与代理路由,再通过管理端点下发和吊销密钥。为分析师发放限时读/富化密钥时,明文只经一次安全渠道交付,并记录密钥 ID、角色、到期时间与审批人;代理只保存与比对哈希。角色变更或疑似泄露时,先吊销旧密钥并确认代理返回 401,再签发新密钥;不要为绕过拒绝而修改权限矩阵或共享 Apollo 主密钥。

适用场景:需要按团队和角色限制 Apollo.io 搜索、富化、联系人/序列/交易写入及 PII 导出的企业集成。

限制:Apollo API 本身不提供细粒度 RBAC,需自行维护权限映射与密钥存储;密钥存储示例为内存 Map,生产应换持久化数据库;资料未提供具体部署、计费或定价信息。