Библиотеки Azure Key Vault для PythonAzure Key Vault libraries for Python
Azure Key Vault — это система Azure для хранения криптографических ключей, секретов и сертификатов, а также управления ими.Azure Key Vault is Azure's storage and management system for cryptographic keys, secrets, and certificate management. API пакета SDK Python для Key Vault реализован в виде клиентских библиотек и библиотек управления.The Python SDK API for Key Vault is split between client libraries and management libraries.
Используйте клиентские библиотеки, чтобы:Use the client library to:
- обновлять, удалять элементы Azure Key Vault или получать к ним доступ;Access, update, or delete items stored in an Azure Key Vault
- получать метаданные для сохраненных сертификатов;Get metadata for stored certificates
- проверять подписи на соответствие симметричным ключам в Key Vault.Verify signatures against symmetric keys in Key Vault
Используйте библиотеки управления, чтобы:Use the management library to:
- создавать, обновлять или удалять новые хранилища Key Vault;Create, update, or delete new Key Vault stores
- управлять политиками доступа к хранилищу;Control vault access policies
- выводить список хранилищ по подписке или группе ресурсов;List vaults by subscription or resource group
- проверять, свободно ли имя для хранилища.Check for vault name availability
Установка библиотекInstall the libraries
Клиентская библиотекаClient library
pip install azure-keyvault
ПримерыExamples
В примерах ниже используется аутентификация с помощью субъекта-службы, которая является рекомендуемым способом входа для подключающихся к Azure приложений.The following examples use service principal authentication, which is the recommended sign in method for applications that connect to Azure. Подробные сведения об аутентификации с помощью субъекта-службы см. в статье Проверка подлинности с помощью библиотек управления Azure для Python.To learn about service principal authentication, see Authenticate with the Azure SDK for Python
Извлеките открытую часть ассиметричного ключа из хранилища:Retrieve the public portion of an asymmetric key from a vault:
from azure.keyvault import KeyVaultClient
from azure.common.credentials import ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
client_id = '...',
secret = '...',
tenant = '...'
)
client = KeyVaultClient(credentials)
# VAULT_URL must be in the format 'https://<vaultname>.vault.azure.net'
# KEY_VERSION is required, and can be obtained with the KeyVaultClient.get_key_versions(self, vault_url, key_name) API
key_bundle = client.get_key(VAULT_URL, KEY_NAME, KEY_VERSION)
key = key_bundle.key
Извлеките секрет из хранилища:Retrieve a secret from a vault:
from azure.keyvault import KeyVaultClient
from azure.common.credentials import ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
client_id = '...',
secret = '...',
tenant = '...'
)
client = KeyVaultClient(credentials)
# VAULT_URL must be in the format 'https://<vaultname>.vault.azure.net'
# SECRET_VERSION is required, and can be obtained with the KeyVaultClient.get_secret_versions(self, vault_url, secret_id) API
secret_bundle = client.get_secret(VAULT_URL, SECRET_ID, SECRET_VERSION)
secret = secret_bundle.value
Библиотека управленияManagement library
pip install azure-mgmt-keyvault
ПримерExample
В следующем примере показано, как создать Azure Key Vault.The following example shows how to create an Azure Key Vault.
from azure.mgmt.keyvault import KeyVaultManagementClient
from azure.common.credentials import ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
client_id = '...',
secret = '...',
tenant = '...'
)
# Even when using service principal credentials, a subscription ID is required. For service principals,
# this should be the subscription used to create the service principal. Storing a token like a valid
# subscription ID in code is not recommended and only shown here for example purposes.
SUBSCRIPTION_ID = '...'
client = KeyVaultManagementClient(credentials, SUBSCRIPTION_ID)
# The object ID and organization ID (tenant) of the user, application, or service principal for access policies.
# These values can be found through the Azure CLI or the Portal.
ALLOW_OBJECT_ID = '...'
ALLOW_TENANT_ID = '...'
RESOURCE_GROUP = '...'
VAULT_NAME = '...'
# Vault properties may also be created by using the azure.mgmt.keyvault.models.VaultCreateOrUpdateParameters
# class, rather than a map.
operation = client.vaults.create_or_update(
RESOURCE_GROUP,
VAULT_NAME,
{
'location': 'eastus',
'properties': {
'sku': {
'name': 'standard'
},
'tenant_id': TENANT_ID,
'access_policies': [{
'object_id': OBJECT_ID,
'tenant_id': ALLOW_TENANT_ID,
'permissions': {
'keys': ['all'],
'secrets': ['all']
}
}]
}
}
)
vault = operation.result()
print(f'New vault URI: {vault.properties.vault_uri}')
ПримерыSamples
- Управление хранилищами Azure Key VaultManage Azure Key Vaults
- Восстановление Azure Key VaultAzure Key Vault recovery
Просмотрите полный список примеров для Azure Key Vault.View the complete list of Azure Key Vault samples.