CyberArk Conjur
将 CyberArk Conjur 连接到 Activepieces 以实现集中式密钥管理
CyberArk Conjur 是一个密钥管理解决方案,提供凭据的安全存储和访问。与 Activepieces 的集成使用 host/API key 身份验证:Activepieces 作为 Conjur 主机进行身份验证,接收短期有效的令牌,并使用它来检索该主机具有 read 和 execute 权限的密钥。
Conjur 策略在 .yml 文件中定义。有关推荐的结构和模式,请参阅 CyberArk Conjur 文档中的策略最佳实践。有关策略语法和运算符,请参阅策略语法参考。
前置条件
- 一个 Conjur 服务器(Conjur Cloud、Conjur Enterprise 或 Conjur Open Source)
- 一个定义了 Activepieces 主机并授予其访问所需变量权限的 Conjur 策略
Activepieces 的 Conjur 主机配置
要允许 Activepieces 读取密钥,请配置一个 Conjur 策略,声明一个组、变量、主机、层以及相应的权限。以下步骤描述了如何创建该策略文件。
示例策略(Activepieces)
以下策略定义了一个策略 activepieces,包含一个组、两个变量、一个主机、一个层以及授予主机读取变量权限的授权。
- !policy
id: activepieces
body:
- !group activepieces-secrets
- &variables
- !variable
id: key-1
kind: password
- !variable
id: key-2
kind: password
- !permit
role: !group /activepieces/activepieces-secrets
privileges: [read, update, execute]
resources: *variables
- !host activepieces
- !layer activepieces
- !grant
role: !layer activepieces
members:
- !host activepieces
- !grant
role: !group activepieces-secrets
member: !layer activepieces
策略步骤(摘要)
-
声明一个组,放在策略的根级别(例如
activepieces-secrets)。该组将被允许读取(并可选择执行)这些变量。 -
声明变量,并授予该组对其的
read和execute权限(以便主机可以获取密钥值):- &variables - !variable id: my-secret kind: password - !permit role: !group /your-policy/your-group privileges: [read, execute] resources: *variables -
声明 Activepieces 将使用的主机(例如
activepieces)和一个层(例如activepieces),并将主机添加到该层:- !host activepieces - !layer activepieces - !grant role: !layer activepieces members: - !host activepieces -
授予该层在具有变量访问权限的组中的成员资格:
- !grant role: !group activepieces-secrets member: !layer activepieces -
将策略加载到 Conjur 中。Conjur 将创建主机并返回该主机的 API key。连接 Activepieces 时,你将使用此 API key 和主机标识。
加载策略后,Conjur 会返回类似以下内容:
{
"created_roles": {
"conjur:host:activepieces/activepieces": {
"id": "conjur:host:activepieces/activepieces",
"api_key": "<your-host-api-key>"
}
},
"version": 1
}
请安全地存储 api_key;你将在 Activepieces 中将其作为 API Key 输入。
服务器 URL 和组织
- Conjur Cloud:使用如下格式的 URL
https://<subdomain>.secretsmgr.cyberark.cloud/api/
并将 Organization account name 设置为conjur,除非你的 Cloud 租户使用不同的账户。 - 本地部署/企业版:使用你的 Conjur 服务器基础 URL(例如
https://conjur.example.com)和你的组织账户名称。
连接到 Activepieces
- 进入 Platform Admin → Security → Secret Managers。
- 从提供商列表中选择 CyberArk Conjur。
- 输入连接详情:
- URL:Conjur 服务器 URL(例如
https://conjur.example.com或上面的 Conjur Cloud URL)。末尾不要添加斜杠。 - Organization account name:你的 Conjur 账户(例如 Conjur Cloud 的
conjur)。 - Login ID:对于主机身份验证,这必须是带有
host/前缀的 Conjur 主机 ID,例如host/activepieces/activepieces(策略 ID 和策略中的主机名称)。 - API Key:主机创建时返回的主机 API key(参见上面的策略加载响应)。
- URL:Conjur 服务器 URL(例如
- 点击 Connect 测试并保存连接。
在连接中使用 CyberArk Conjur 密钥
配置使用密钥的连接时:
- 点击凭据字段旁边的密钥图标(🔑)。
- 从列表中选择一个 CyberArk Conjur 连接。
- 输入 Secret key:格式为
policy_id/variable_id的 Conjur 变量路径。
对于上面的示例策略,使用:activepieces/key-1activepieces/key-2
Activepieces 将在工作流运行时以配置的主机身份进行身份验证并从 Conjur 检索密钥。