Key Vault (Secrets) API Reference¶
Access Azure Key Vault through the integrations namespace:
from fabias.integrations import keyvault
keyvault.client(vault_url="https://my-vault.vault.azure.net/", auth=my_auth)
password = keyvault.get("database-password")
keyvault.set("api-key", "secret-value")
Module Functions¶
fabias.integrations.keyvault.client(vault_url, tenant_id=None, client_id=None, client_secret=None, auth=None)
¶
Create or configure the Key Vault client.
When called as a module-level function, sets up the singleton for convenience. Returns the client instance for both module-level and explicit multi-client use.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vault_url
|
str
|
Full Key Vault URL (e.g., 'https://myvault.vault.azure.net/') |
required |
tenant_id
|
Optional[str]
|
Azure AD tenant ID |
None
|
client_id
|
Optional[str]
|
Application (client) ID |
None
|
client_secret
|
Optional[str]
|
Client secret value |
None
|
auth
|
Optional[AuthProvider]
|
Pre-configured AuthProvider (recommended) |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
KeyVaultClient |
KeyVaultClient
|
Configured client instance |
Examples:
Module-level singleton (most common):
>>> import fabias.secrets as secrets
>>> secrets.client(
... vault_url="https://my-vault.vault.azure.net/",
... tenant_id="your-tenant-id",
... client_id="your-client-id",
... client_secret="your-secret"
... )
>>> value = secrets.get("my-secret")
With pre-configured auth:
>>> from fabias._shared.auth import ServicePrincipalAuth
>>> auth = ServicePrincipalAuth(tenant_id, client_id, secret)
>>> secrets.client(vault_url="https://my-vault.vault.azure.net/", auth=auth)
>>> value = secrets.get("my-secret")
Multi-client usage:
>>> client1 = secrets.client(vault_url=vault1_url, auth=auth1)
>>> client2 = secrets.client(vault_url=vault2_url, auth=auth2)
>>> secret1 = client1.get("db-password")
>>> secret2 = client2.get("api-key")
Source code in src/fabias/integrations/keyvault/__init__.py
fabias.integrations.keyvault.get(key)
¶
Get a secret from Azure Key Vault.
Requires secrets.client() to be called first.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Secret name/key in Key Vault |
required |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Secret value |
Raises:
| Type | Description |
|---|---|
FabiasError
|
If module not configured or secret not found |
Examples:
>>> from fabias import secrets
>>> secrets.client(vault_url="https://my-vault.vault.azure.net/")
>>> password = secrets.get('database-password')
Source code in src/fabias/integrations/keyvault/__init__.py
fabias.integrations.keyvault.set(key, value)
¶
Set a secret in Azure Key Vault.
Requires secrets.client() to be called first.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Secret name/key in Key Vault |
required |
value
|
str
|
Secret value to store |
required |
Raises:
| Type | Description |
|---|---|
FabiasError
|
If module not configured or operation fails |
Examples:
>>> from fabias import secrets
>>> secrets.client(vault_url="https://my-vault.vault.azure.net/")
>>> secrets.set('api-key', 'new-api-key-value')
Source code in src/fabias/integrations/keyvault/__init__.py
fabias.integrations.keyvault.list()
¶
List all secrets in the Key Vault.
Returns:
| Type | Description |
|---|---|
List[Dict[str, Any]]
|
List[Dict[str, Any]]: List of secret metadata (id, attributes, etc.) |
Examples:
Source code in src/fabias/integrations/keyvault/__init__.py
fabias.integrations.keyvault.vault()
¶
fabias.integrations.keyvault.reset()
¶
Classes¶
fabias.integrations.keyvault.KeyVaultClient
¶
Bases: BaseClient
HTTP client for Azure Key Vault REST API.
Provides authenticated access to Key Vault secrets.
Source code in src/fabias/integrations/keyvault/__init__.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
Attributes¶
vaultUrl
property
¶
Get the configured vault URL.
Functions¶
getSecret(key)
¶
Retrieve a secret from Key Vault.
In Fabric environments, attempts to use notebookutils.credentials first for better performance and simpler auth. Falls back to REST API.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Secret name |
required |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Secret value |
Raises:
| Type | Description |
|---|---|
FabiasError
|
If secret not found or retrieval fails |
Source code in src/fabias/integrations/keyvault/__init__.py
setSecret(key, value)
¶
Set a secret in Key Vault.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Secret name |
required |
value
|
str
|
Secret value |
required |
Raises:
| Type | Description |
|---|---|
FabiasError
|
If write fails |
Source code in src/fabias/integrations/keyvault/__init__.py
listSecrets()
¶
List all secrets in the Key Vault.
Returns:
| Type | Description |
|---|---|
List[Dict[str, Any]]
|
List[Dict[str, Any]]: List of secret metadata (id, attributes, etc.) |