Azure Secrets Engine (API)
This is the API documentation for the Vault Azure secrets engine. For general information about the usage and operation of the Azure secrets engine, please see the main Azure secrets documentation.
This documentation assumes the Azure secrets engine is enabled at the /azure
path
in Vault. Since it is possible to mount secrets engines at any path, please
update your API calls accordingly.
Configure Access
Configures the credentials required for the plugin to perform API calls to Azure. These credentials will be used to query roles and create/delete service principals. Environment variables will override any parameters set in the config.
Method | Path |
---|---|
POST | /azure/config |
subscription_id
(string: <required>
) - The subscription id for the Azure Active Directory. This value can also be provided with the AZURE_SUBSCRIPTION_ID environment variable.tenant_id
(string: <required>
) - The tenant id for the Azure Active Directory. This value can also be provided with the AZURE_TENANT_ID environment variable.client_id
(string:""
) - The OAuth2 client id to connect to Azure. This value can also be provided with the AZURE_CLIENT_ID environment variable. See authentication for more details.client_secret
(string:""
) - The OAuth2 client secret to connect to Azure. This value can also be provided with the AZURE_CLIENT_SECRET environment variable. See authentication for more details.environment
(string:""
) - The Azure environment. This value can also be provided with the AZURE_ENVIRONMENT environment variable. If not specified, Vault will use Azure Public Cloud.password_policy
(string: "")
- Specifies a password policy to use when creating dynamic credentials. Defaults to generating an alphanumeric password if not set.
Sample Payload
Sample Request
Read Config
Return the stored configuration, omitting client_secret
.
Method | Path |
---|---|
GET | /azure/config |
Sample Request
Sample Response
Delete Config
Deletes the stored Azure configuration and credentials.
Method | Path |
---|---|
DELETE | /azure/config |
Sample Request
Create/Update Role
Create or update a Vault role. Either application_object_id
or
azure_roles
must be provided, and these resources must exist for this
call to succeed. See the Azure secrets roles docs for more
information about roles.
Method | Path |
---|---|
POST | /azure/roles/:name |
Parameters
azure_roles
(string: ""
) - List of Azure roles to be assigned to the generated service principal. The array must be in JSON format, properly escaped as a string. See roles docs for details on role definition.azure_groups
(string: ""
) - List of Azure groups that the generated service principal will be assigned to. The array must be in JSON format, properly escaped as a string. See groups docs for more details.application_object_id
(string: ""
) - Application Object ID for an existing service principal that will be used instead of creating dynamic service principals. If present,azure_roles
will be ignored. See roles docs for details on role definition.ttl
(string: ""
) – Specifies the default TTL for service principals generated using this role. Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.max_ttl
(string: ""
) – Specifies the maximum TTL for service principals generated using this role. Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine max TTL time.
Sample Payload
Sample Request
List Roles
Lists all of the roles that are registered with the plugin.
Method | Path |
---|---|
LIST | /azure/roles |
Sample Request
Sample Response
Generate Credentials
This endpoint generates a new service principal based on the named role.
Method | Path |
---|---|
GET | /azure/creds/:name |
Parameters
name
(string: <required>
) - Specifies the name of the role to create credentials against.
Sample Request
Sample Response