Azure Key Vault is a cloud service for securely storing and accessing secrets, keys, and certificates. It helps safeguard cryptographic keys and secrets used by cloud applications and services.
With Azure Key Vault, you can:
- Securely store secrets: Protect secrets like API keys, passwords, and connection strings with hardware security modules (HSMs)
- Control access with Azure AD: Use Azure Active Directory authentication and fine-grained access policies to manage who can access which secrets
- Version secrets automatically: Every secret update creates a new version, maintaining a complete audit trail
- Set expiration and activation dates: Configure secrets to automatically become valid or expire at specific times
- Monitor access and usage: Track all secret operations through Azure Monitor and diagnostic logs
- Soft-delete and purge protection: Recover accidentally deleted secrets within a retention period before permanent deletion
- Tag and organize secrets: Add metadata tags to categorize and manage secrets across your vault
In SteelEngine, the Azure Key Vault integration allows your workflows to securely retrieve credentials and configuration values at runtime, create and manage secrets as part of automation pipelines, and maintain a centralized secrets store that your agents can access. This is particularly useful for workflows that need to authenticate with Azure services or other systems, manage secrets programmatically, or maintain separation between development, staging, and production credentials — all without exposing secrets in your workflow definitions.
Use a public Azure vault URL in the form https://<vault-name>.vault.azure.net. Private endpoints, custom domains, nonstandard ports, and redirects are not supported by this integration.
Create or Update Secret writes a new secret version. If the name already exists, it changes the value returned by reads of the latest version; it does not fail with an "already exists" error. Select a unique name when creating a separate secret. The azure_key_vault_create_secret tool ID remains unchanged.
Usage Instructions
Integrate Azure Key Vault into the workflow. Retrieve, write, list, and delete secrets in your Azure Key Vault. Create or Update Secret creates a new version if the name already exists, changing the value returned by Get Secret when no version is specified.
Tools
azure_key_vault_get_secret
Retrieve a secret value from Azure Key Vault
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
vaultUrl | string | Yes | Azure Key Vault URL (e.g., https://myvault.vault.azure.net\) |
tenantId | string | Yes | Azure AD tenant ID |
clientId | string | Yes | Azure AD application (client) ID |
clientSecret | string | Yes | Azure AD client secret |
secretName | string | Yes | The name of the secret to retrieve |
version | string | No | The version of the secret to retrieve (optional, defaults to latest) |
Output
| Parameter | Type | Description |
|---|---|---|
name | string | Name of the secret |
value | string | The secret value |
version | string | Version of the secret |
contentType | string | Content type of the secret |
enabled | boolean | Whether the secret is enabled |
notBefore | string | Not valid before date |
expiresOn | string | Expiration date |
createdOn | string | Creation date |
updatedOn | string | Last updated date |
tags | object | Secret tags |
azure_key_vault_list_secrets
List all secrets in an Azure Key Vault
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
vaultUrl | string | Yes | Azure Key Vault URL (e.g., https://myvault.vault.azure.net\) |
tenantId | string | Yes | Azure AD tenant ID |
clientId | string | Yes | Azure AD application (client) ID |
clientSecret | string | Yes | Azure AD client secret |
maxPageSize | number | No | Maximum number of secrets to return (1-100) |
Output
| Parameter | Type | Description |
|---|---|---|
secrets | array | List of secrets |
count | number | Number of secrets returned |
azure_key_vault_create_secret
Create a secret in Azure Key Vault, or create a new version with the supplied value if the name already exists. Changes the value returned when reading the latest version.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
vaultUrl | string | Yes | Azure Key Vault URL (e.g., https://myvault.vault.azure.net\) |
tenantId | string | Yes | Azure AD tenant ID |
clientId | string | Yes | Azure AD application (client) ID |
clientSecret | string | Yes | Azure AD client secret |
secretName | string | Yes | The name of the secret to create or update |
secretValue | string | Yes | The value of the secret |
contentType | string | No | Optional content type (e.g., application/json) |
enabled | boolean | No | Whether the secret is enabled (defaults to true) |
notBefore | string | No | ISO 8601 date string for when the secret becomes valid |
expiresOn | string | No | ISO 8601 date string for when the secret expires |
tags | object | No | Key-value tags for the secret |
Output
| Parameter | Type | Description |
|---|---|---|
name | string | Name of the created or updated secret |
version | string | Version of the created or updated secret |
enabled | boolean | Whether the secret is enabled |
azure_key_vault_update_secret
Update an existing secret in Azure Key Vault (creates a new version)
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
vaultUrl | string | Yes | Azure Key Vault URL (e.g., https://myvault.vault.azure.net\) |
tenantId | string | Yes | Azure AD tenant ID |
clientId | string | Yes | Azure AD application (client) ID |
clientSecret | string | Yes | Azure AD client secret |
secretName | string | Yes | The name of the secret to update |
secretValue | string | Yes | The new value of the secret |
contentType | string | No | Optional content type (e.g., application/json) |
enabled | boolean | No | Whether the secret is enabled |
notBefore | string | No | ISO 8601 date string for when the secret becomes valid |
expiresOn | string | No | ISO 8601 date string for when the secret expires |
tags | object | No | Key-value tags for the secret |
Output
| Parameter | Type | Description |
|---|---|---|
name | string | Name of the updated secret |
version | string | New version of the secret |
enabled | boolean | Whether the secret is enabled |
azure_key_vault_delete_secret
Soft-delete a secret from Azure Key Vault (can be recovered if soft-delete is enabled)
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
vaultUrl | string | Yes | Azure Key Vault URL (e.g., https://myvault.vault.azure.net\) |
tenantId | string | Yes | Azure AD tenant ID |
clientId | string | Yes | Azure AD application (client) ID |
clientSecret | string | Yes | Azure AD client secret |
secretName | string | Yes | The name of the secret to delete |
Output
| Parameter | Type | Description |
|---|---|---|
name | string | Name of the deleted secret |
deletedOn | string | When the secret was deleted |
scheduledPurgeDate | string | When the secret will be permanently deleted |
recoveryId | string | Recovery ID for restoring the secret |