docs/admin-guide/guides/secret-managers/cyberark-conjur.mdx
CyberArk Conjur is a secrets management solution that provides secure storage and access to credentials. Integration with Activepieces uses host/API key authentication: Activepieces authenticates as a Conjur host, receives a short-lived token, and uses it to retrieve secrets for which that host has read and execute permissions.
Conjur policies are defined in .yml files. For recommended structure and patterns, see Policy best practices in the CyberArk Conjur documentation. For policy syntax and operators, see the Policy syntax reference.
To allow Activepieces to read secrets, configure a Conjur policy that declares a group, variables, a host, a layer, and the right permissions. The steps below describe how to create that policy file.
The following policy defines a policy activepieces with a group, two variables, a host, a layer, and the grants so the host can read the variables.
- !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
Declare a group at the root of the policy (e.g. activepieces-secrets). This group will be allowed to read (and optionally execute) the variables.
Declare variables and give the group read and execute on them (so the host can fetch secret values):
- &variables
- !variable
id: my-secret
kind: password
- !permit
role: !group /your-policy/your-group
privileges: [read, execute]
resources: *variables
Declare the host that Activepieces will use (e.g. activepieces) and a layer (e.g. activepieces), and add the host to the layer:
- !host activepieces
- !layer activepieces
- !grant
role: !layer activepieces
members:
- !host activepieces
Grant the layer membership in the group that has access to the variables:
- !grant
role: !group activepieces-secrets
member: !layer activepieces
Load the policy into Conjur. Conjur will create the host and return an API key for that host. You will use this API key and the host identity when connecting Activepieces.
After loading the policy, Conjur returns something like:
{
"created_roles": {
"conjur:host:activepieces/activepieces": {
"id": "conjur:host:activepieces/activepieces",
"api_key": "<your-host-api-key>"
}
},
"version": 1
}
Store the api_key securely; you will enter it in Activepieces as the API Key.
https://<subdomain>.secretsmgr.cyberark.cloud/api/conjur unless your Cloud tenant uses a different account.https://conjur.example.com) and your organization account name.https://conjur.example.com or Conjur Cloud URL above). Do not add a trailing slash.conjur for Conjur Cloud).host/ prefix, e.g. host/activepieces/activepieces (policy id and host name as in your policy).When configuring a connection that uses a secret:
policy_id/variable_id.activepieces/key-1activepieces/key-2Activepieces will authenticate as the configured host and retrieve the secret from Conjur when the flow runs.
<Warning> If you update existing secrets and you can't see the update reflected . refer to [caching](/admin-guide/guides/secret-managers/overview#caching) </Warning>