Поделиться через


KeyClient Класс

Высокоуровневый интерфейс для управления ключами хранилища.

Наследование
azure.keyvault.keys._shared.client_base.KeyVaultClientBase
KeyClient

Конструктор

KeyClient(vault_url: str, credential: TokenCredential, **kwargs)

Параметры

vault_url
str
Обязательно

URL-адрес хранилища, к который будет обращаться клиент. Это также называется DNS-именем хранилища. Убедитесь, что этот URL-адрес ссылается на допустимый Key Vault или управляемый ресурс HSM. Дополнительные сведения см. в разделе https://aka.ms/azsdk/blog/vault-uri.

credential
TokenCredential
Обязательно

Объект , который может предоставить маркер доступа для хранилища, например учетные данные из identity

api_version
ApiVersion

Используемая версия API службы. По умолчанию используется последняя версия.

verify_challenge_resource
bool

Убедитесь, что ресурс запроса проверки подлинности соответствует Key Vault или управляемому домену HSM. Значение по умолчанию — True.

Методы

backup_key

Создайте резервную копию ключа в защищенной форме, которую могут использовать только Key Vault Azure.

Требуются ключи или разрешение на резервное копирование.

Это позволяет копировать ключ из одного хранилища в другое. Оба хранилища должны принадлежать одной подписке Azure. Кроме того, резервное копирование и восстановление нельзя выполнять через геополитические границы. Например, резервную копию из хранилища в США регионе нельзя восстановить в хранилище в регионе ЕС.

begin_delete_key

Удалите все версии ключа и его криптографического материала.

Требуется разрешение на удаление ключей. Когда этот метод возвращает Key Vault начал удаление ключа. Удаление может занять несколько секунд в хранилище с включенным обратимым удалением. Таким образом, этот метод возвращает средство опроса, позволяющее дождаться завершения удаления.

begin_recover_deleted_key

Восстановление удаленного ключа до последней версии. Возможно только в хранилище с включенным обратимым удалением.

Требуются ключи и разрешение на восстановление.

Когда этот метод возвращает Key Vault начал восстановление ключа. Восстановление может занять несколько секунд. Таким образом, этот метод возвращает средство опроса, позволяющее дождаться завершения восстановления. Ожидание необходимо только в том случае, если вы хотите немедленно использовать восстановленный ключ в другой операции.

close

Закройте сокеты, открытые клиентом.

Вызов этого метода не требуется при использовании клиента в качестве диспетчера контекста.

create_ec_key

Создайте новый ключ с эллиптической кривой или, если name он уже используется, создайте новую версию ключа.

требует параметр разрешений ключи/создать.

create_key

Создайте ключ или, если name он уже используется, создайте новую версию ключа.

Требуются ключи или разрешение на создание.

create_oct_key

Создайте новый ключ последовательности октетов (симметричный) или, если name используется, создайте новую версию ключа.

требует параметр разрешений ключи/создать.

create_rsa_key

Создайте новый ключ RSA или, если name он уже используется, создайте новую версию ключа.

требует параметр разрешений ключи/создать.

get_cryptography_client

Возвращает для CryptographyClient заданного ключа.

get_deleted_key

Получите удаленный ключ. Возможно только в хранилище с включенным обратимым удалением.

Требуются ключи или разрешение на получение.

get_key

Получение атрибутов ключа и, если это асимметричный ключ, его открытый материал.

Требуются ключи или разрешение на получение.

get_key_rotation_policy

Получение политики смены ключа Key Vault.

get_random_bytes

Получение запрошенного числа случайных байтов из управляемого устройства HSM.

import_key

Импорт ключа, созданного извне.

Требуется разрешение на импорт ключей. Если name ключ уже используется, ключ будет импортирован как новая версия.

list_deleted_keys

Вывод списка всех удаленных ключей, включая открытую часть каждого из них. Возможно только в хранилище с включенным обратимым удалением.

Требуется разрешение на доступ к ключам или списку.

list_properties_of_key_versions

Список идентификаторов и свойств версий ключа.

Требуется разрешение на доступ к ключам или списку.

list_properties_of_keys

Вывод списка идентификаторов и свойств всех ключей в хранилище.

Требуется разрешение на доступ к ключам или списку.

purge_deleted_key

Безвозвратно удаляет удаленный ключ. Возможно только в хранилище с включенным обратимым удалением.

Выполняет необратимое удаление указанного ключа без возможности восстановления. Операция недоступна, если в параметре recovery_level не указан параметр Purgeable. Этот метод необходим только для очистки ключа перед его scheduled_purge_date.

Требует наличия ключей или разрешения на очистку.

release_key

Освобождает ключ.

Операция с ключом выпуска применима ко всем типам ключей. Целевой ключ должен быть помечен как экспортируемый. Для этой операции требуется разрешение "Ключи/выпуск".

restore_key_backup

Восстановите резервную копию ключа в хранилище.

Требуются ключи и разрешение на восстановление.

При этом импортируются все версии ключа с его именем, атрибутами и политиками управления доступом. Если имя ключа уже используется, восстановление ключа завершится ошибкой. Кроме того, целевое хранилище должно принадлежать той же подписке Microsoft Azure, что и исходное хранилище.

rotate_key

Смена ключа на основе политики ключей путем создания новой версии ключа.

Для этой операции требуется разрешение "Ключи/смена".

send_request

Выполняет сетевой запрос, используя существующий конвейер клиента.

URL-адрес запроса может быть относительно URL-адреса хранилища. Версия API службы, используемая для запроса, совпадает с версией API клиента, если не указано иное. Этот метод не вызывается, если ответ является ошибкой; Чтобы вызвать исключение, вызовите raise_for_status() для возвращенного объекта ответа. Дополнительные сведения об отправке пользовательских запросов с помощью этого метода см. в разделе https://aka.ms/azsdk/dpcodegen/python/send_request.

update_key_properties

Изменение свойств ключа (а не его криптографического материала).

Требуются ключи или разрешение на обновление.

update_key_rotation_policy

Обновления политики смены ключа Key Vault.

Для этой операции требуются ключи или разрешение на обновление.

backup_key

Создайте резервную копию ключа в защищенной форме, которую могут использовать только Key Vault Azure.

Требуются ключи или разрешение на резервное копирование.

Это позволяет копировать ключ из одного хранилища в другое. Оба хранилища должны принадлежать одной подписке Azure. Кроме того, резервное копирование и восстановление нельзя выполнять через геополитические границы. Например, резервную копию из хранилища в США регионе нельзя восстановить в хранилище в регионе ЕС.

backup_key(name: str, **kwargs) -> bytes

Параметры

name
str
Обязательно

Имя ключа для резервного копирования

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

begin_delete_key

Удалите все версии ключа и его криптографического материала.

Требуется разрешение на удаление ключей. Когда этот метод возвращает Key Vault начал удаление ключа. Удаление может занять несколько секунд в хранилище с включенным обратимым удалением. Таким образом, этот метод возвращает средство опроса, позволяющее дождаться завершения удаления.

begin_delete_key(name: str, **kwargs) -> LROPoller[DeletedKey]

Параметры

name
str
Обязательно

Имя удаляемого ключа.

Возвращаемое значение

Средство опроса для операции удаления ключа. Метод результата опроса возвращает объект , DeletedKey не дожидаясь завершения удаления. Если в хранилище включено обратимое удаление и вы хотите окончательно удалить ключ с помощью purge_deleted_key, сначала вызовите метод ожидания опроса. Он будет блокироваться до завершения удаления. Для метода ожидания требуются ключи или разрешение get.

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

begin_recover_deleted_key

Восстановление удаленного ключа до последней версии. Возможно только в хранилище с включенным обратимым удалением.

Требуются ключи и разрешение на восстановление.

Когда этот метод возвращает Key Vault начал восстановление ключа. Восстановление может занять несколько секунд. Таким образом, этот метод возвращает средство опроса, позволяющее дождаться завершения восстановления. Ожидание необходимо только в том случае, если вы хотите немедленно использовать восстановленный ключ в другой операции.

begin_recover_deleted_key(name: str, **kwargs) -> LROPoller[KeyVaultKey]

Параметры

name
str
Обязательно

Имя удаленного ключа для восстановления

Возвращаемое значение

Средство опроса для операции восстановления. Метод результата опроса возвращает восстановленный KeyVaultKey объект, не дожидаясь завершения восстановления. Если вы хотите использовать восстановленный ключ немедленно, вызовите метод ожидания опроса, который блокируется, пока ключ не будет готов к использованию. Для метода ожидания требуются ключи или разрешение get.

Возвращаемый тип

Исключения

close

Закройте сокеты, открытые клиентом.

Вызов этого метода не требуется при использовании клиента в качестве диспетчера контекста.

close() -> None

Исключения

Если ключ не существует,

для других ошибок

create_ec_key

Создайте новый ключ с эллиптической кривой или, если name он уже используется, создайте новую версию ключа.

требует параметр разрешений ключи/создать.

create_ec_key(name: str, **kwargs) -> KeyVaultKey

Параметры

name
str
Обязательно

Имя нового ключа.

curve
KeyCurveName или str или None

Имя эллиптической кривой. По умолчанию используется эллиптическая кривая NIST P-256.

key_operations
list[KeyOperation или str] или None

Разрешенные операции с ключами

hardware_protected
bool или None

Следует ли создать ключ в аппаратном модуле безопасности. По умолчанию — False.

enabled
bool или None

Указывает, включен ли ключ для использования.

tags
dict[str, str] или None

Метаданные конкретного приложения в виде пар «ключ — значение».

not_before
datetime или None

Не раньше даты ключа в формате UTC

expires_on
datetime или None

Дата окончания срока действия ключа в формате UTC

exportable
bool или None

Можно ли экспортировать закрытый ключ.

release_policy
KeyReleasePolicy или None

Правила политики, по которым можно экспортировать ключ.

Возвращаемое значение

Созданный ключ

Возвращаемый тип

Исключения

create_key

Создайте ключ или, если name он уже используется, создайте новую версию ключа.

Требуются ключи или разрешение на создание.

create_key(name: str, key_type: str | KeyType, **kwargs) -> KeyVaultKey

Параметры

name
str
Обязательно

Имя нового ключа.

key_type
KeyType или str
Обязательно

Тип создаваемого ключа

size
int или None

Размер ключа в битах. Применяется только к RSA и симметричным ключам. Вместо этого рекомендуется использовать create_rsa_key или create_oct_key .

curve
KeyCurveName или str или None

Имя эллиптической кривой. Применяется только к ключам эллиптических кривых. По умолчанию используется эллиптическая кривая NIST P-256. Чтобы создать ключ эллиптической кривой, рассмотрите возможность использования create_ec_key .

public_exponent
int или None

Используемая общедоступная экспонента RSA. Применяется только к ключам RSA, созданным в управляемом устройстве HSM.

key_operations
list[KeyOperation или str] или None

Разрешенные операции с ключами

enabled
bool или None

Указывает, включен ли ключ для использования.

tags
dict[str, str] или None

Метаданные конкретного приложения в виде пар «ключ — значение».

not_before
datetime или None

Не раньше даты ключа в формате UTC

expires_on
datetime или None

Дата окончания срока действия ключа в формате UTC

exportable
bool или None

Можно ли экспортировать закрытый ключ.

release_policy
KeyReleasePolicy или None

Правила политики, по которым можно экспортировать ключ.

Возвращаемое значение

Созданный ключ

Возвращаемый тип

Исключения

create_oct_key

Создайте новый ключ последовательности октетов (симметричный) или, если name используется, создайте новую версию ключа.

требует параметр разрешений ключи/создать.

create_oct_key(name: str, **kwargs) -> KeyVaultKey

Параметры

name
str
Обязательно

Имя нового ключа.

size
int или None

Размер ключа в битах, например 128, 192 или 256.

key_operations
list[KeyOperation или str] или None

Разрешенные операции с ключами.

hardware_protected
bool или None

Следует ли создать ключ в аппаратном модуле безопасности. По умолчанию — False.

enabled
bool или None

Указывает, включен ли ключ для использования.

tags
dict[str, str] или None

Метаданные конкретного приложения в виде пар «ключ — значение».

not_before
datetime или None

Не раньше даты ключа в формате UTC

expires_on
datetime или None

Дата окончания срока действия ключа в формате UTC

exportable
bool или None

Можно ли экспортировать ключ.

release_policy
KeyReleasePolicy или None

Правила политики, по которым можно экспортировать ключ.

Возвращаемое значение

Созданный ключ

Возвращаемый тип

Исключения

create_rsa_key

Создайте новый ключ RSA или, если name он уже используется, создайте новую версию ключа.

требует параметр разрешений ключи/создать.

create_rsa_key(name: str, **kwargs) -> KeyVaultKey

Параметры

name
str
Обязательно

Имя нового ключа.

size
int или None

Размер ключа в битах, например 2048, 3072 или 4096.

public_exponent
int или None

Используемая общедоступная экспонента RSA. Применяется только к ключам RSA, созданным в управляемом устройстве HSM.

hardware_protected
bool или None

Следует ли создать ключ в аппаратном модуле безопасности. По умолчанию — False.

key_operations
list[KeyOperation или str] или None

Разрешенные операции с ключами

enabled
bool или None

Указывает, включен ли ключ для использования.

tags
dict[str, str] или None

Метаданные конкретного приложения в виде пар «ключ — значение».

not_before
datetime или None

Не раньше даты ключа в формате UTC

expires_on
datetime или None

Дата окончания срока действия ключа в формате UTC

exportable
bool или None

Можно ли экспортировать закрытый ключ.

release_policy
KeyReleasePolicy или None

Правила политики, по которым можно экспортировать ключ.

Возвращаемое значение

Созданный ключ

Возвращаемый тип

Исключения

get_cryptography_client

Возвращает для CryptographyClient заданного ключа.

get_cryptography_client(key_name: str, **kwargs) -> CryptographyClient

Параметры

key_name
str
Обязательно

Имя ключа, используемого для выполнения криптографических операций.

key_version
str

Необязательная версия ключа, используемого для выполнения криптографических операций.

Возвращаемое значение

Объект , CryptographyClient использующий те же параметры, учетные данные и HTTP-клиент, что и этот KeyClient.

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

get_deleted_key

Получите удаленный ключ. Возможно только в хранилище с включенным обратимым удалением.

Требуются ключи или разрешение на получение.

get_deleted_key(name: str, **kwargs) -> DeletedKey

Параметры

name
str
Обязательно

Имя ключа

Возвращаемое значение

Удаленный ключ

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

get_key

Получение атрибутов ключа и, если это асимметричный ключ, его открытый материал.

Требуются ключи или разрешение на получение.

get_key(name: str, version: str | None = None, **kwargs) -> KeyVaultKey

Параметры

name
str
Обязательно

Имя получаемого ключа.

version
str или None
Обязательно

(необязательно) Определенная версия ключа, который требуется получить. Если не указано, получает последнюю версию ключа.

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

get_key_rotation_policy

Получение политики смены ключа Key Vault.

get_key_rotation_policy(key_name: str, **kwargs) -> KeyRotationPolicy

Параметры

key_name
str
Обязательно

Имя ключа.

Возвращаемое значение

Политика смены ключей.

Возвращаемый тип

Исключения

*azure.core.exceptions.HttpResponseError*

get_random_bytes

Получение запрошенного числа случайных байтов из управляемого устройства HSM.

get_random_bytes(count: int, **kwargs) -> bytes

Параметры

count
int
Обязательно

Запрошено число случайных байтов.

Возвращаемое значение

Случайные байты.

Возвращаемый тип

Исключения

если запрашивается меньше одного случайного байта,

для других ошибок

import_key

Импорт ключа, созданного извне.

Требуется разрешение на импорт ключей. Если name ключ уже используется, ключ будет импортирован как новая версия.

import_key(name: str, key: JsonWebKey, **kwargs) -> KeyVaultKey

Параметры

name
str
Обязательно

Имя импортированного ключа

key
JsonWebKey
Обязательно

Импортируемый веб-ключ JSON

hardware_protected
bool или None

Указывает, должен ли ключ быть подкреплен аппаратным модулем безопасности

enabled
bool или None

Указывает, включен ли ключ для использования.

tags
dict[str, str] или None

Метаданные конкретного приложения в виде пар «ключ — значение».

not_before
datetime или None

Не раньше даты ключа в формате UTC

expires_on
datetime или None

Дата окончания срока действия ключа в формате UTC

exportable
bool или None

Можно ли экспортировать закрытый ключ.

release_policy
KeyReleasePolicy или None

Правила политики, по которым можно экспортировать ключ.

Возвращаемое значение

Импортированный ключ

Возвращаемый тип

Исключения

list_deleted_keys

Вывод списка всех удаленных ключей, включая открытую часть каждого из них. Возможно только в хранилище с включенным обратимым удалением.

Требуется разрешение на доступ к ключам или списку.

list_deleted_keys(**kwargs) -> ItemPaged[DeletedKey]

Возвращаемое значение

Итератор удаленных ключей

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

list_properties_of_key_versions

Список идентификаторов и свойств версий ключа.

Требуется разрешение на доступ к ключам или списку.

list_properties_of_key_versions(name: str, **kwargs) -> ItemPaged[KeyProperties]

Параметры

name
str
Обязательно

Имя ключа

Возвращаемое значение

Итератор ключей без их криптографического материала

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

list_properties_of_keys

Вывод списка идентификаторов и свойств всех ключей в хранилище.

Требуется разрешение на доступ к ключам или списку.

list_properties_of_keys(**kwargs) -> ItemPaged[KeyProperties]

Возвращаемое значение

Итератор ключей без их криптографического материала или сведений о версии

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

purge_deleted_key

Безвозвратно удаляет удаленный ключ. Возможно только в хранилище с включенным обратимым удалением.

Выполняет необратимое удаление указанного ключа без возможности восстановления. Операция недоступна, если в параметре recovery_level не указан параметр Purgeable. Этот метод необходим только для очистки ключа перед его scheduled_purge_date.

Требует наличия ключей или разрешения на очистку.

purge_deleted_key(name: str, **kwargs) -> None

Параметры

name
str
Обязательно

Имя удаленного ключа для очистки

Возвращаемое значение

Нет

Исключения

Примеры


   # if the vault has soft-delete enabled, purge permanently deletes a deleted key
   # (with soft-delete disabled, begin_delete_key is permanent)
   key_client.purge_deleted_key("key-name")

release_key

Освобождает ключ.

Операция с ключом выпуска применима ко всем типам ключей. Целевой ключ должен быть помечен как экспортируемый. Для этой операции требуется разрешение "Ключи/выпуск".

release_key(name: str, target_attestation_token: str, **kwargs) -> ReleaseKeyResult

Параметры

name
str
Обязательно

Имя получаемого ключа.

target_attestation_token
str
Обязательно

Утверждение аттестации для целевого объекта выпуска ключа.

version
str или None

Определенная версия ключа, который требуется освободить. Если это не указано, выпускается последняя версия.

algorithm
str или KeyExportEncryptionAlgorithm или None

Алгоритм шифрования, используемый для защиты освобожденного материала ключа.

nonce
str или None

Предоставленный клиентом nonce для свежести.

Возвращаемое значение

Результат выпуска ключа.

Возвращаемый тип

Исключения

restore_key_backup

Восстановите резервную копию ключа в хранилище.

Требуются ключи и разрешение на восстановление.

При этом импортируются все версии ключа с его именем, атрибутами и политиками управления доступом. Если имя ключа уже используется, восстановление ключа завершится ошибкой. Кроме того, целевое хранилище должно принадлежать той же подписке Microsoft Azure, что и исходное хранилище.

restore_key_backup(backup: bytes, **kwargs) -> KeyVaultKey

Параметры

backup
bytes
Обязательно

Резервная копия ключа, возвращенная backup_key

Возвращаемое значение

Восстановленный ключ

Возвращаемый тип

Исключения

Если имя ключа резервной копии уже используется,

для других ошибок

rotate_key

Смена ключа на основе политики ключей путем создания новой версии ключа.

Для этой операции требуется разрешение "Ключи/смена".

rotate_key(name: str, **kwargs) -> KeyVaultKey

Параметры

name
str
Обязательно

Имя ключа для поворота.

Возвращаемое значение

Новая версия повернутого ключа.

Возвращаемый тип

Исключения

send_request

Выполняет сетевой запрос, используя существующий конвейер клиента.

URL-адрес запроса может быть относительно URL-адреса хранилища. Версия API службы, используемая для запроса, совпадает с версией API клиента, если не указано иное. Этот метод не вызывается, если ответ является ошибкой; Чтобы вызвать исключение, вызовите raise_for_status() для возвращенного объекта ответа. Дополнительные сведения об отправке пользовательских запросов с помощью этого метода см. в разделе https://aka.ms/azsdk/dpcodegen/python/send_request.

send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse

Параметры

request
HttpRequest
Обязательно

Сетевой запрос, который вы хотите выполнить.

stream
bool

Указывает, будут ли полезные данные ответа передаваться в потоковую передачу. Значение по умолчанию — False.

Возвращаемое значение

Ответ сетевого вызова. Не обрабатывает ошибки в ответе.

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

update_key_properties

Изменение свойств ключа (а не его криптографического материала).

Требуются ключи или разрешение на обновление.

update_key_properties(name: str, version: str | None = None, **kwargs) -> KeyVaultKey

Параметры

name
str
Обязательно

Имя обновляемого ключа

version
str или None
Обязательно

(необязательно) Версия обновляемого ключа. Если это не указано, обновляется последняя версия.

key_operations
list[KeyOperation или str] или None

Разрешенные операции с ключами

enabled
bool или None

Указывает, включен ли ключ для использования.

tags
dict[str, str] или None

Метаданные конкретного приложения в виде пар «ключ — значение».

not_before
datetime или None

Не раньше даты ключа в формате UTC

expires_on
datetime или None

Дата окончания срока действия ключа в формате UTC

release_policy
KeyReleasePolicy или None

Правила политики, по которым можно экспортировать ключ.

Возвращаемое значение

Обновленный ключ

Возвращаемый тип

Исключения

Если ключ не существует,

для других ошибок

update_key_rotation_policy

Обновления политики смены ключа Key Vault.

Для этой операции требуются ключи или разрешение на обновление.

update_key_rotation_policy(key_name: str, policy: KeyRotationPolicy, **kwargs) -> KeyRotationPolicy

Параметры

key_name
str
Обязательно

Имя ключа в данном хранилище.

policy
KeyRotationPolicy
Обязательно

Новая политика смены для ключа.

lifetime_actions
list[KeyRotationLifetimeAction]

Действия, которые будут выполняться Key Vault в течение времени существования ключа. Это переопределит действия времени существования предоставленного policyобъекта .

expires_in
str

Время истечения срока действия политики, которая будет применяться к новым версиям ключей, определяется как длительность ISO 8601. Например: 90 дней — "P90D", 3 месяца — "P3M", а 48 часов — "PT48H". Дополнительные сведения о длительности ISO 8601 см. в Википедии . Это переопределит время истечения срока действия предоставленного policy.

Возвращаемое значение

Обновленная политика ротации.

Возвращаемый тип

Исключения

Атрибуты

vault_url