@forgerock/fr-config-manager

中文文档
1.9.0发布于 2026/09/09MIT近 30 天下载 5392

用于管理 Ping One 高级身份云配置的样本工具

中文使用文档
文档目录23 节
  1. 免责声明
  2. 导言
  3. 软件包
  4. 先决条件
  5. 安装
  6. 从源安装
  7. 通过 npm 安装
  8. 配置
  9. Oauth2 代理配置文件
  10. 授权策略配置文件
  11. 服务对象配置文件
  12. CSP 覆盖文件
  13. Raw 配置文件
  14. SAML 实体配置文件
  15. 导出配置
  16. 管理ESVs
  17. 快速启动
  18. 安装
  19. 创建基础目录和配置文件
  20. 配置
  21. 创建空白的 github repo
  22. 拉动配置并进行
  23. 许可证

平一高级身份云 - 样本配置管理工具

免责声明

本文所述的样本代码是在“照样”基础上提供的,没有任何类型的保证,在法律允许的最大限度内。 ForgeRock并不保证或保证单个成功开发者可能在其开发平台上或生产配置中实施样本代码. ForgeRock没有证明、保证或说明与样本编码有关的任何数据或资料的使用、使用结果、准确性、及时性或完整性。 ForgeRock不声明所有已表示或暗示的保证,特别是不声明所有可交易性的保证,以及与代码有关的保证,或与之相关的任何服务或软件.

ForgeRock不应对由你或与样品编码有关的其他方面采取的任何行动所引起的任何类型的直接、间接或间接损害或费用负责.

导言

该寄存器包括基于javascript样本的工具,用于在外部寄存器中管理身份云配置. 脚本是客户的起点,他们希望将身份云配置存储和管理在自己的存储库中,并通过CI/CD管道或其他管理框架,将这种配置的导出和/或导入自动化.

为了满足将ForgeRock配置管理为代码的要求,这些工具提供了配置视图,即:

  • 完成 - 完全代表租户的所有组合
  • 可以理解 - 所有配置应尽可能清晰易懂.
  • 模块 - 将单体配置分入其组成部分,以进行更微粒化的管理
  • 可预见 - 如果没有改变,配置的顺序和格式不会改变.

注意这些工具不为ForgeRock所支持:它们是作为客户拥有的配置管理工具的一部分而需要被修改或使用的样本代码.

如果您遇到任何问题或有任何改进建议,请 通过还款提出问题 并将进行审查,以便增加积压.

如果您想为这个项目做出贡献,您可以将仓库叉出,复制到您的机器上并启动.

软件包

此寄存器提供了以下软件包

  • fr-config-pull - 从身份云调取配置到本地寄存器的工具
  • fr-config-push - 将配置从本地仓库推入身份云的工具
  • fr-config-promote - 促进身份云从下层租户到上层租户配置的工具
  • fr-config-delete - 从身份云租户(β)删除配置的工具

完整使用详情请参见相邻包目录中的README.

先决条件

这些工具要求:

  • 节点.js
  • 进入Ping One高级身份云租户.
  • 租户服务账户 身份证和私人钥匙.

有关如何创建服务账户和获取身份证和私人钥匙的详细信息,请查阅身份云文档.

安装

这个 fr-config-manager 软件包可以从源头安装或作为 npm 软件包.

从源安装

要从源头安装所有软件包, 克隆配置管理器仓库, 检查最新版本并构建工具

mkdir ~/identity-cloud
cd ~/identity-cloud
git clone https://github.com/ForgeRock/fr-config-manager
cd fr-config-manager
git checkout `git describe --abbrev=0`
npm clean-install
npm link

通过 npm 安装

使用 npm 安装所有软件包

npm i -g @forgerock/fr-config-manager

这将安装

  • f-config-pull (法语)
  • f-配置-推
  • f- 配置促进
  • f- 配置- 删除

配置

工具是通过环境配置的,或者使用 .env 在工作目录中,或通过相应的环境变量。 这个 .env.sample 此寄存器根中的文件提供了一个示例, 应该复制为 .env 用于运行工具(或用作设定环境变量的参考).

参见 配置读取器 更多细节.

这个 .env 文件包括用于管理各类动态配置的附加(可选)配置文件的参考文献——即每个独立环境不同的配置(而不是在所有环境中以一成不变的方式推广的静态配置)。 一般来说,这些配置文件会告知 fr-config-pull 工具,以及如何诱导它们与占位符的配置,以便 fr-config-push 工具可以在每个环境中创建这些实体。 作为推力的一部分,占位符被子化为相应的环境变量在 fr-config-push 工作环境.

Oauth2 代理配置文件

OAuth2代理配置文件包含一个从身份云租户中抽取的代理列表,以便后推到每个目标环境.

此文件的路径配置于 .env 文件(或直接环境)作为 OAUTH2_AGENTS_CONFIG 数值.

参见 代理配置 README 更多细节.

授权策略配置文件

OAuth2代理配置文件包含一个从身份云租户取出的政策集列表,用于后推到每个目标环境.

此文件的路径配置于 .env 文件(或直接环境)作为 AUTHZ_POLICY_SETS_CONFIG 数值.

参见 政策配置 更多细节.

服务对象配置文件

服务对象配置文件包含一个从身份云租户中抽取的被管理对象列表,用于后推到每个目标环境.

此文件的路径配置于 .env 文件(或直接环境)作为 SERVICE_OBJECTS_CONFIG 数值.

参见 配置读取器 更多细节.

CSP 覆盖文件

Content Security Policy配置文件包含一个JSON编码的CSP部分配置,由拉动时的全租户配置合并而成. 这使当地环境变量的使用能够创建一个不同的CSP,被推向每个环境——例如,只在dev中报告,但在更高环境中执行.

此文件的路径配置于 .env 文件(或直接环境)作为 CSP_OVERRIDES 数值.

参见 配置读取器 更多细节.

Raw 配置文件

原始配置文件包含一个要拉动的单个配置路径列表,用于拉动现有命令未覆盖的任意配置. 此文件的路径配置于 .env 文件(或直接环境)作为 RAW_CONFIG 数值.

参见 原始配置读取器 更多细节.

SAML 实体配置文件

SAML实体配置文件包含从身份云租户中抽取的 SAML 实体列表,以便后推到每个目标环境.

此文件的路径配置于 .env 文件(或直接环境)作为 SAML_CONFIG 数值.

参见 SAML 配置读取器 更多细节.

导出配置

这个 fr-config-pull 工具将 ForgeRock 配置导出到本地文件系统,作为目录结构中的一组json 文件,既代表全局配置,也代表域特有配置.

这个 fr-config-push 工具从本地文件系统导入 ForgeRock 配置到 Ping One 高级身份云租户: 该工具预计配置按照 fr-config-pull 输出.

参见 导出内容 关于配置结构的更多细节.

管理ESVs

环境特定变量和秘密可能会通过 fr-config-push variables 财务报告和审定财务报表 fr-config-push secrets 选项。 典型的方法是为每个ESV构建一个本地配置文件,其中值有一个占位符. 配置文件可以使用 fr-config-pull 命令。 在推取时,该值被本地环境变量取而代之,例如 github 密钥。 参见 ESV 读取 更多细节.

快速启动

要启动, 创建基线重投, 以您的初始身份云配置作为基线, 以下步骤

  • 安装 fr-config-manager 软件包
  • 创建基准目录
  • 通过一个 .env 文件
  • 创建空配置仓库
  • 使用 fr-config-pull 以当前租户配置填充寄存器

安装

npm i -g @forgerock/fr-config-manager

创建基础目录和配置文件

mkdir ~/identity-cloud
cd ~/identity-cloud
curl https://raw.githubusercontent.com/ForgeRock/fr-config-manager/main/.env.sample -o .env

配置

编辑基本配置部分 .env 文件,根据 配置读取器。用于 CONFIG_DIR 选项,使用 .env 文件 :

CONFIG_DIR=identity-cloud-config

配置其余的基本设置 :

  • TENANT_BASE_URL
  • SCRIPT_PREFIXES
  • SERVICE_ACCOUNT_ID
  • SERVICE_ACCOUNT_KEY

创建空白的 github repo

创建相应的目录 CONFIG_DIR 输入 .env 备忘列表

cd ~/identity-cloud
mkdir identity-cloud-config
cd identity-cloud-config
git init

拉动配置并进行

cd ~/identity-cloud/identity-cloud-config
git checkout -b initial-config
cd ~/identity-cloud
fr-config-pull all-static
cd ~/identity-cloud/identity-cloud-config
git add .
git commit -m "Initial config"

许可证

这个项目根据麻省理工学院许可证颁发——见 自由主义 详细文件

版本与发布记录

@forgerock/fr-config-manager 共发布 15 个版本,首次发布于 2024/07/24;过去 12 个月发布了 6 个版本。

版本发布日期距今
1.9.0latest2026/09/092 个月前
1.8.32026/08/172 个月前
1.8.02026/07/144 个月前
1.5.122026/03/277 个月前
1.5.112026/03/168 个月前
1.5.82026/01/0710 个月前

关于 @forgerock/fr-config-manager 的常见问题

@forgerock/fr-config-manager 是什么?

用于管理 Ping One 高级身份云配置的样本工具

如何安装 @forgerock/fr-config-manager?

在项目目录运行 npm install @forgerock/fr-config-manager,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 fr-config-pull、fr-config-push、fr-config-promote、fr-config-delete,可以用 npx fr-config-pull 直接运行。

@forgerock/fr-config-manager 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/forgerock__fr-config-manager 是否存在。

@forgerock/fr-config-manager 可以商用吗?

@forgerock/fr-config-manager 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@forgerock/fr-config-manager 的下载量有多少?

根据 npm 官方下载统计,@forgerock/fr-config-manager 在 2026/10/16 – 2026/11/14 这 30 天内被下载 5,392 次,日均约 180 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@forgerock/fr-config-manager 还在维护吗?

最新版本 1.9.0 发布于 2026/09/09(2 个月前);至今共发布 15 个版本,其中过去 12 个月发布了 6 个;首次发布于 2024/07/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。