Octopus.Script exported 2025-05-21 by gl-johnson belongs to ‘CyberArk’ category.
This step retrieves one or more secrets from CyberArk Secrets Manager and creates sensitive output variables for each value retrieved. It uses the JWT authenticator in Secrets Manager in combination with a Generic OIDC Account configured in Octopus to authenticate the workload.
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
Secrets Manager URL
CyberArk.SecretsManager.Url =
The URL of the Secrets Manager instance.
Secrets Manager Account
CyberArk.SecretsManager.Account = conjur
The Secrets Manager account.
Authenticator Service ID
CyberArk.SecretsManager.ServiceId = octopus
The service ID of the authn-jwt instance to be used for authentication to Secrets Manager.
OIDC Account
CyberArk.SecretsManager.Jwt =
The Generic OIDC Account configured in Octopus to generate JWT credentials for workload authentication to Secrets Manager.
Secrets Manager Variables
CyberArk.SecretsManager.Variables =
Specify the names of the secrets to be returned from Secrets Manager, in the format:
VariableID | OutputVariableName
where:
- VariableID is the Variable ID of the secret to be retrieved from Secrets Manager.
- OutputVariableName is the optional Octopus output variable name to store the secret’s value in. If this value isn’t specified, an output name will be generated dynamically based on the Variable ID.
Note: Multiple Variable IDs can be retrieved by entering each one on a new line.
Trusted Server Certificate (Optional)
CyberArk.SecretsManager.Certificate =
CA bundle or server certificate to establish a trusted TLS connection with Secrets Manager.
You can also use this to trust self-signed certificates.
Print output variable names
CyberArk.SecretsManager.PrintVariableNames = False
Write out the Octopus output variable names to the task log.
Script body
Steps based on this template will execute the following Python script.
import subprocess
import sys
import tempfile
# Install Conjur SDK
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'conjur-api', '--disable-pip-version-check'])
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'async-timeout', '--disable-pip-version-check'])
# Conjur SDK imports
from conjur_api.models import SslVerificationMode, ConjurConnectionInfo
from conjur_api.providers import JWTAuthenticationStrategy
from conjur_api import Client
from conjur_api.errors.errors import HttpStatusError
# Fetch configuration values
def retrieve_inputs():
inputs = {}
inputs["service_id"] = get_octopusvariable('CyberArk.SecretsManager.ServiceId')
inputs["account"] = get_octopusvariable('CyberArk.SecretsManager.Account')
inputs["url"] = get_octopusvariable('CyberArk.SecretsManager.Url')
inputs["token"] = get_octopusvariable('CyberArk.SecretsManager.Jwt.OpenIdConnect.Jwt')
inputs["variables"] = get_octopusvariable('CyberArk.SecretsManager.Variables')
inputs["ca_bundle"] = get_octopusvariable('CyberArk.SecretsManager.Certificate')
inputs["print_outputs"] = get_octopusvariable('CyberArk.SecretsManager.PrintVariableNames')
return inputs
# Validate the required inputs are not empty
def validate_inputs(inputs):
if not inputs["service_id"]:
raise ValueError("Service ID is required.")
if not inputs["account"]:
raise ValueError("Account is required.")
if not inputs["url"]:
raise ValueError("Conjur URL is required.")
if not inputs["token"]:
raise ValueError("JWT token is required.")
if not inputs["variables"]:
raise ValueError("At least one variable must be specified.")
# Parse the requested input/output variables
# If no output variable name is provided, the Conjur var ID will be used
def parse_variables(variables):
var_map = {}
for line_number, line in enumerate(variables.strip().splitlines(), start=1):
line = line.strip()
if not line:
continue
parts = [part.strip() for part in line.split('|')]
input_var = parts[0]
if len(parts) == 1:
output_var = input_var
elif len(parts) == 2:
output_var = parts[1]
else:
raise ValueError(f"Variables line {line_number} has too many '|' characters: '{line}'")
# Basic validations
if not input_var:
raise ValueError(f"Variables line {line_number} is missing an input variable name: '{line}'")
if ' ' in input_var or ' ' in output_var:
raise ValueError(f"Variables line {line_number} has illegal spaces in a variable name: '{line}'")
# Warn if any duplicate output vars exist
if output_var in var_map.values():
print(f"WARN: Two or more secrets mapped to the same output variable: `{output_var}`. The earlier value will be overwritten.")
var_map[input_var] = output_var
return var_map
# Configure a Conjur client for JWT authentication
def create_conjur_client(inputs):
ssl_verification_mode = SslVerificationMode.TRUST_STORE
cert_file = None
# If a server certificate or CA was provided, use that instead of the default trust store
if inputs["ca_bundle"]:
with tempfile.NamedTemporaryFile(mode='w', delete=False) as temp_cert_file:
temp_cert_file.write(inputs["ca_bundle"])
cert_file = temp_cert_file.name
ssl_verification_mode = SslVerificationMode.CA_BUNDLE
connection_info = ConjurConnectionInfo(conjur_url=inputs["url"],
account=inputs["account"],
service_id=inputs["service_id"],
cert_file=cert_file)
jwt_provider = JWTAuthenticationStrategy(inputs["token"])
return Client(connection_info,
authn_strategy=jwt_provider,
ssl_verification_mode=ssl_verification_mode,
async_mode=False)
# Retrieve requested secrets from Conjur and set them as sensitive Octopus variables
def retrieve_secrets(var_map, client, inputs):
variable_ids = list(var_map.keys())
print(f"INFO: Attempting to authenticate and retrieve {len(variable_ids)} secrets...")
try:
retrieval_response = client.get_many(*variable_ids)
except HttpStatusError as e:
if e.response is not None:
if e.status == 401:
print("ERROR: Authentication failed. Please validate the JWT and authenticator configuration.")
elif e.status == 403:
print("ERROR: Access denied. Please ensure the role has permissions to access the requested variables.")
elif e.status == 404:
print("ERROR: One or more requested variables not found.")
raise
print("INFO: Successfully retrieved secrets.")
# Set the output variables
for input_var, output_var in var_map.items():
if input_var in retrieval_response:
set_octopusvariable(output_var, retrieval_response[input_var], True)
# Print a list output variable names if requested
if inputs["print_outputs"]:
output_var_names = list(dict.fromkeys(var_map.values()))
print(f"INFO: Populated sensitive output variables: {', '.join(output_var_names)}")
# Main execution starts here - this has to be inline to run in the Octopus environment
inputs = retrieve_inputs()
validate_inputs(inputs)
var_map = parse_variables(inputs["variables"])
client = create_conjur_client(inputs)
retrieve_secrets(var_map, client, inputs)
Provided under the Apache License version 2.0.
To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
{
"Id": "4b30f084-fb30-4c12-b0c4-0cd4eab05793",
"Name": "CyberArk Secrets Manager - Retrieve Secrets (JWT)",
"Description": "This step retrieves one or more secrets from CyberArk Secrets Manager and creates sensitive output variables for each value retrieved. It uses the JWT authenticator in Secrets Manager in combination with a Generic OIDC Account configured in Octopus to authenticate the workload.",
"Version": 1,
"ExportedAt": "2025-05-21T14:32:50.303Z",
"ActionType": "Octopus.Script",
"Author": "gl-johnson",
"Packages": [],
"Parameters": [
{
"Id": "e750e1fc-3ffc-40cb-9d74-a2519d5451c1",
"Name": "CyberArk.SecretsManager.Url",
"Label": "Secrets Manager URL",
"HelpText": "The URL of the Secrets Manager instance.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "68b8272e-17e4-46ee-8042-09780a763530",
"Name": "CyberArk.SecretsManager.Account",
"Label": "Secrets Manager Account",
"HelpText": "The Secrets Manager account.",
"DefaultValue": "conjur",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "8ac15e8c-ba7f-4b20-8329-52df64f69729",
"Name": "CyberArk.SecretsManager.ServiceId",
"Label": "Authenticator Service ID",
"HelpText": "The service ID of the authn-jwt instance to be used for authentication to Secrets Manager.",
"DefaultValue": "octopus",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "42d42fe0-6d39-4970-be62-8ad34f611462",
"Name": "CyberArk.SecretsManager.Jwt",
"Label": "OIDC Account",
"HelpText": "The Generic OIDC Account configured in Octopus to generate JWT credentials for workload authentication to Secrets Manager.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "GenericOidcAccount"
}
},
{
"Id": "fe47f2ea-efa9-4468-b837-79a52ce3c22e",
"Name": "CyberArk.SecretsManager.Variables",
"Label": "Secrets Manager Variables",
"HelpText": "Specify the names of the secrets to be returned from Secrets Manager, in the format:\n\n`VariableID | OutputVariableName` where:\n\n* VariableID is the Variable ID of the secret to be retrieved from Secrets Manager.\n* OutputVariableName is the optional Octopus output variable name to store the secret's value in. If this value isn't specified, an output name will be generated dynamically based on the Variable ID.\n\n**Note:** Multiple Variable IDs can be retrieved by entering each one on a new line.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "MultiLineText"
}
},
{
"Id": "8f8672c4-4e93-44b0-b7a7-ecf77e45f919",
"Name": "CyberArk.SecretsManager.Certificate",
"Label": "Trusted Server Certificate (Optional)",
"HelpText": "CA bundle or server certificate to establish a trusted TLS connection with Secrets Manager.\n\nYou can also use this to trust self-signed certificates.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "MultiLineText"
}
},
{
"Id": "5ae5bb25-5f20-46d9-af93-90a493f75123",
"Name": "CyberArk.SecretsManager.PrintVariableNames",
"Label": "Print output variable names",
"HelpText": "Write out the Octopus output variable names to the task log.",
"DefaultValue": "False",
"DisplaySettings": {
"Octopus.ControlType": "Checkbox"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "Python",
"Octopus.Action.Script.ScriptBody": "import subprocess\nimport sys\nimport tempfile\n\n# Install Conjur SDK\nsubprocess.check_call([sys.executable, '-m', 'pip', 'install', 'conjur-api', '--disable-pip-version-check'])\nsubprocess.check_call([sys.executable, '-m', 'pip', 'install', 'async-timeout', '--disable-pip-version-check'])\n\n# Conjur SDK imports\nfrom conjur_api.models import SslVerificationMode, ConjurConnectionInfo\nfrom conjur_api.providers import JWTAuthenticationStrategy\nfrom conjur_api import Client\nfrom conjur_api.errors.errors import HttpStatusError\n\n# Fetch configuration values\ndef retrieve_inputs():\n inputs = {}\n inputs[\"service_id\"] = get_octopusvariable('CyberArk.SecretsManager.ServiceId')\n inputs[\"account\"] = get_octopusvariable('CyberArk.SecretsManager.Account')\n inputs[\"url\"] = get_octopusvariable('CyberArk.SecretsManager.Url')\n inputs[\"token\"] = get_octopusvariable('CyberArk.SecretsManager.Jwt.OpenIdConnect.Jwt')\n inputs[\"variables\"] = get_octopusvariable('CyberArk.SecretsManager.Variables')\n inputs[\"ca_bundle\"] = get_octopusvariable('CyberArk.SecretsManager.Certificate')\n inputs[\"print_outputs\"] = get_octopusvariable('CyberArk.SecretsManager.PrintVariableNames')\n return inputs\n\n# Validate the required inputs are not empty\ndef validate_inputs(inputs):\n if not inputs[\"service_id\"]:\n raise ValueError(\"Service ID is required.\")\n if not inputs[\"account\"]:\n raise ValueError(\"Account is required.\")\n if not inputs[\"url\"]:\n raise ValueError(\"Conjur URL is required.\")\n if not inputs[\"token\"]:\n raise ValueError(\"JWT token is required.\")\n if not inputs[\"variables\"]:\n raise ValueError(\"At least one variable must be specified.\")\n\n# Parse the requested input/output variables\n# If no output variable name is provided, the Conjur var ID will be used\ndef parse_variables(variables):\n var_map = {}\n for line_number, line in enumerate(variables.strip().splitlines(), start=1):\n line = line.strip()\n if not line:\n continue\n\n parts = [part.strip() for part in line.split('|')]\n input_var = parts[0]\n if len(parts) == 1:\n output_var = input_var\n elif len(parts) == 2:\n output_var = parts[1]\n else:\n raise ValueError(f\"Variables line {line_number} has too many '|' characters: '{line}'\")\n\n # Basic validations\n if not input_var:\n raise ValueError(f\"Variables line {line_number} is missing an input variable name: '{line}'\")\n if ' ' in input_var or ' ' in output_var:\n raise ValueError(f\"Variables line {line_number} has illegal spaces in a variable name: '{line}'\")\n\n # Warn if any duplicate output vars exist\n if output_var in var_map.values():\n print(f\"WARN: Two or more secrets mapped to the same output variable: `{output_var}`. The earlier value will be overwritten.\")\n var_map[input_var] = output_var\n return var_map\n\n# Configure a Conjur client for JWT authentication\ndef create_conjur_client(inputs):\n ssl_verification_mode = SslVerificationMode.TRUST_STORE\n cert_file = None\n # If a server certificate or CA was provided, use that instead of the default trust store\n if inputs[\"ca_bundle\"]:\n with tempfile.NamedTemporaryFile(mode='w', delete=False) as temp_cert_file:\n temp_cert_file.write(inputs[\"ca_bundle\"])\n cert_file = temp_cert_file.name\n ssl_verification_mode = SslVerificationMode.CA_BUNDLE\n\n connection_info = ConjurConnectionInfo(conjur_url=inputs[\"url\"],\n account=inputs[\"account\"],\n service_id=inputs[\"service_id\"],\n cert_file=cert_file)\n jwt_provider = JWTAuthenticationStrategy(inputs[\"token\"])\n return Client(connection_info,\n authn_strategy=jwt_provider,\n ssl_verification_mode=ssl_verification_mode,\n async_mode=False)\n\n# Retrieve requested secrets from Conjur and set them as sensitive Octopus variables\ndef retrieve_secrets(var_map, client, inputs):\n variable_ids = list(var_map.keys())\n print(f\"INFO: Attempting to authenticate and retrieve {len(variable_ids)} secrets...\")\n try:\n retrieval_response = client.get_many(*variable_ids)\n except HttpStatusError as e:\n if e.response is not None:\n if e.status == 401:\n print(\"ERROR: Authentication failed. Please validate the JWT and authenticator configuration.\")\n elif e.status == 403:\n print(\"ERROR: Access denied. Please ensure the role has permissions to access the requested variables.\")\n elif e.status == 404:\n print(\"ERROR: One or more requested variables not found.\")\n raise\n\n print(\"INFO: Successfully retrieved secrets.\")\n\n # Set the output variables\n for input_var, output_var in var_map.items():\n if input_var in retrieval_response:\n set_octopusvariable(output_var, retrieval_response[input_var], True)\n\n # Print a list output variable names if requested\n if inputs[\"print_outputs\"]:\n output_var_names = list(dict.fromkeys(var_map.values()))\n print(f\"INFO: Populated sensitive output variables: {', '.join(output_var_names)}\")\n\n# Main execution starts here - this has to be inline to run in the Octopus environment\ninputs = retrieve_inputs()\nvalidate_inputs(inputs)\nvar_map = parse_variables(inputs[\"variables\"])\nclient = create_conjur_client(inputs)\nretrieve_secrets(var_map, client, inputs)\n"
},
"Category": "CyberArk",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/cyberark-secretsmanager-retrieve-secrets-jwt.json",
"Website": "/step-templates/4b30f084-fb30-4c12-b0c4-0cd4eab05793",
"Logo": "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f/rT5pgoL6KI/Pa3vz322GNvv/32BCiq+vnPfz7BSi6XW7JkyQ033FA2SeXjJMqgp6fnm9/8pqrW1tYC+MlPfnLyyScnyEg+lkqlkj+3YciSYz7zzDOnn376r3/9a2vt5h5eLpdLFO0OmrPNbVMYhsnvt30EZn711VfPOeecH/7whwmd473fMhb7JyiaO5983ecbw9EN1FTHTbU8vM6OHtZlGm97/A0gpGTO9KZftYoUHCBBylJjIzcPo6YGNNWjuZ6aaml4nhrz1FxHzXW2KR8050xjrifbNOOd2n/6X89++zePFsiSOkmK3KBKAsDkajGi3jbVcWOtaa5F08hsugEQuF5jg1sfmnPjnxcGe+3JI5gbM8HIujA7knq7f/utj5555NQ4ihOrNWbMmLPOOuuss84aN25cYj3sIKfnl7/85eWXX26MyeVyvb29uVzuxBNPPPTQQ/fZZ58wDJctW/bcc88988wzra2txpi2trarr776gx/84NixYxPEfOtb35oxY8ayZcuMMT/96U8/+tGPHnfccWXEJMttjPnZz342c+bMfD7f1dV15plnfulLXyqb1OTPRFOWSqWGhoZzzjnHWpt8oOxRdXV1Pf3008kW1zl3xRVXHHroodOmTRvk2CXKwzlXU1Nz2GGHJdewRYgYY7q6ukaNGrW521R2ns4///x8Pj/IlY7j+LXXXpszZ04QBM65q6++esqUKRdccMHmyn5AT4ix4WsrWv84cw3VjPFRSSlI3C5xHg31d76y4J/PPnDvEfVe/KbFiSrkoQoQeVUfqStAHSiZCQqwL7eFdmQBhnOgDNcPN/mmGx+Y15BPfevCD5IrElmwCEGAWC187L1TcQwLEVEApTCbeeq1lVf+19/c2JEwHegTUEYzoa5ecP2l0z/2gb174jhtOHmpkiVKVib5qy2bJ2vto48+evnllycGpbe395JLLrnyyisPOOCAyvf4y1/+8tKlS//jP/7j+uuvnzhx4t133z127NhEaUVRNH78+Guvvfbiiy9O/vqtb33r0UcfzWazybubeG+zZs36wQ9+QETd3d11dXXXXnttKpUqlUrJnmCQU7LXXnvddNNNuVxu0OMkosWLF1911VX33ntvEASlUumOO+6YNm3aFkGjqvvuu+8999yTz+fL3tgWNwHJVrfyA2WnLZ1O//CHP5w0aVIldssov/HG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",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Wednesday, May 21, 2025