你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
KeyClient 类
用于管理保管库密钥的高级界面。
- 继承
-
azure.keyvault.keys._shared.client_base.KeyVaultClientBaseKeyClient
构造函数
KeyClient(vault_url: str, credential: TokenCredential, **kwargs)
参数
- vault_url
- str
客户端将访问的保管库的 URL。 这也称为保管库的“DNS 名称”。 应验证此 URL 引用有效的 密钥保管库 或托管 HSM 资源。 有关详细信息,请参阅https://aka.ms/azsdk/blog/vault-uri。
- api_version
- ApiVersion
要使用的服务 API 的版本。 默认为最新的 。
- verify_challenge_resource
- bool
验证身份验证质询资源是否与密钥保管库或托管 HSM 域匹配。 默认为 True。
方法
backup_key |
以仅供 Azure 密钥保管库使用的受保护表单备份密钥。 需要密钥/备份权限。 这旨在允许将密钥从一个保管库复制到另一个保管库。 这两个保管库必须归同一 Azure 订阅所有。 此外,无法跨地缘政治边界执行备份/还原。 例如,无法将美国区域中保管库的备份还原到欧盟区域中的保管库。 |
begin_delete_key |
删除密钥及其加密材料的所有版本。 需要密钥/删除权限。 此方法返回密钥保管库已开始删除密钥。 在启用了软删除的保管库中,删除可能需要几秒钟时间。 因此,此方法返回一个轮询器,使你能够等待删除完成。 |
begin_recover_deleted_key |
将已删除的密钥恢复到其最新版本。 只能在启用了软删除的保管库中实现。 需要密钥/恢复权限。 此方法返回密钥保管库已开始恢复密钥。 恢复可能需要几秒钟。 因此,此方法返回一个轮询器,使你能够等待恢复完成。 仅当想要立即在另一个操作中使用恢复的密钥时,才需要等待。 |
close |
关闭客户端打开的套接字。 使用客户端作为上下文管理器时,不需要调用此方法。 |
create_ec_key |
创建新的椭圆曲线键,或者,如果 需要 keys/create 权限。 |
create_key |
创建密钥,或者,如果 需要密钥/创建权限。 |
create_oct_key |
创建新的八进制数序列 (对称) 密钥,或者,如果 需要 keys/create 权限。 |
create_rsa_key |
创建新的 RSA 密钥,或者,如果 需要 keys/create 权限。 |
get_cryptography_client |
CryptographyClient获取给定键的 。 |
get_deleted_key |
获取已删除的密钥。 只能在启用了软删除的保管库中实现。 需要密钥/获取权限。 |
get_key |
获取密钥的属性,如果它是非对称密钥,则获取其公共材料。 需要密钥/获取权限。 |
get_key_rotation_policy |
获取密钥保管库密钥的轮换策略。 |
get_random_bytes |
从托管 HSM 获取请求的随机字节数。 |
import_key |
导入在外部创建的密钥。 需要密钥/导入权限。 如果 |
list_deleted_keys |
列出所有已删除的密钥,包括每个密钥的公共部分。 只能在启用了软删除的保管库中实现。 需要密钥/列表权限。 |
list_properties_of_key_versions |
列出密钥版本的标识符和属性。 需要密钥/列表权限。 |
list_properties_of_keys |
列出保管库中所有密钥的标识符和属性。 需要密钥/列表权限。 |
purge_deleted_key |
永久删除已删除的密钥。 只能在启用了软删除的保管库中使用。 执行指定密钥的不可逆删除,无法恢复。 如果未指定“Purgeable”, recovery_level 则操作不可用。 此方法仅在清除其 之前的密钥时 scheduled_purge_date是必需的。 需要密钥/清除权限。 |
release_key |
释放密钥。 释放密钥操作适用于所有密钥类型。 目标键必须标记为可导出。 此操作需要密钥/释放权限。 |
restore_key_backup |
将密钥备份还原到保管库。 需要密钥/还原权限。 这会导入密钥的所有版本及其名称、属性和访问控制策略。 如果密钥的名称已在使用中,则还原该密钥将失败。 此外,目标保管库必须由与源保管库相同的 Microsoft Azure 订阅拥有。 |
rotate_key |
通过生成密钥的新版本,根据密钥策略轮换密钥。 此操作需要密钥/轮换权限。 |
send_request |
使用客户端的现有管道运行网络请求。 请求 URL 可以相对于保管库 URL。 除非另行指定,否则用于请求的服务 API 版本与客户端的版本相同。 如果响应是错误,则此方法不会引发;若要引发异常,请对返回的响应对象调用 raise_for_status () 。 有关如何使用此方法发送自定义请求的详细信息,请参阅 https://aka.ms/azsdk/dpcodegen/python/send_request。 |
update_key_properties |
更改密钥的属性 (而不是其加密材料) 。 需要密钥/更新权限。 |
update_key_rotation_policy |
汇报密钥保管库密钥的轮换策略。 此操作需要密钥/更新权限。 |
backup_key
以仅供 Azure 密钥保管库使用的受保护表单备份密钥。
需要密钥/备份权限。
这旨在允许将密钥从一个保管库复制到另一个保管库。 这两个保管库必须归同一 Azure 订阅所有。 此外,无法跨地缘政治边界执行备份/还原。 例如,无法将美国区域中保管库的备份还原到欧盟区域中的保管库。
backup_key(name: str, **kwargs) -> bytes
参数
返回类型
例外
如果该键不存在,则为
对于其他错误
begin_delete_key
删除密钥及其加密材料的所有版本。
需要密钥/删除权限。 此方法返回密钥保管库已开始删除密钥。 在启用了软删除的保管库中,删除可能需要几秒钟时间。 因此,此方法返回一个轮询器,使你能够等待删除完成。
begin_delete_key(name: str, **kwargs) -> LROPoller[DeletedKey]
参数
返回
删除密钥操作的轮询器。 轮询器 的结果 方法返回 , DeletedKey 而无需等待删除完成。 如果保管库已启用软删除,并且你想要使用 purge_deleted_key永久删除密钥,请首先调用轮询者的 wait 方法。 它将阻止,直到删除完成。 wait 方法需要密钥/get 权限。
返回类型
例外
如果该键不存在,则为
对于其他错误
begin_recover_deleted_key
将已删除的密钥恢复到其最新版本。 只能在启用了软删除的保管库中实现。
需要密钥/恢复权限。
此方法返回密钥保管库已开始恢复密钥。 恢复可能需要几秒钟。 因此,此方法返回一个轮询器,使你能够等待恢复完成。 仅当想要立即在另一个操作中使用恢复的密钥时,才需要等待。
begin_recover_deleted_key(name: str, **kwargs) -> LROPoller[KeyVaultKey]
参数
返回
恢复操作的轮询程序。 轮询器 的结果 方法返回已 KeyVaultKey 恢复的 ,而无需等待恢复完成。 如果要立即使用恢复的密钥,请调用轮询 器等待方法 ,该方法会阻止,直到密钥可供使用。 wait 方法需要密钥/get 权限。
返回类型
例外
close
关闭客户端打开的套接字。
使用客户端作为上下文管理器时,不需要调用此方法。
close() -> None
例外
如果该键不存在,则为
对于其他错误
create_ec_key
创建新的椭圆曲线键,或者,如果 name
已在使用中,则创建密钥的新版本。
需要 keys/create 权限。
create_ec_key(name: str, **kwargs) -> KeyVaultKey
参数
- curve
- KeyCurveName 或 str 或 None
椭圆曲线名称。 默认为 NIST P-256 椭圆曲线。
- key_operations
- list[KeyOperation 或 str] 或 None
允许的密钥操作
- release_policy
- KeyReleasePolicy 或 None
可以导出密钥的策略规则。
返回
创建的密钥
返回类型
例外
create_key
创建密钥,或者,如果 name
已在使用中,则创建密钥的新版本。
需要密钥/创建权限。
create_key(name: str, key_type: str | KeyType, **kwargs) -> KeyVaultKey
参数
密钥大小(以位为单位)。 仅适用于 RSA 和对称密钥。 请考虑改用 create_rsa_key 或 create_oct_key 。
- curve
- KeyCurveName 或 str 或 None
椭圆曲线名称。 仅适用于椭圆曲线键。 默认为 NIST P-256 椭圆曲线。 若要创建椭圆曲线键,请考虑改用 create_ec_key 。
- key_operations
- list[KeyOperation 或 str] 或 None
允许的密钥操作
- release_policy
- KeyReleasePolicy 或 None
可以导出密钥的策略规则。
返回
创建的密钥
返回类型
例外
create_oct_key
创建新的八进制数序列 (对称) 密钥,或者,如果 name
正在使用,则创建密钥的新版本。
需要 keys/create 权限。
create_oct_key(name: str, **kwargs) -> KeyVaultKey
参数
- key_operations
- list[KeyOperation 或 str] 或 None
允许的密钥操作。
- release_policy
- KeyReleasePolicy 或 None
可以导出密钥的策略规则。
返回
创建的密钥
返回类型
例外
create_rsa_key
创建新的 RSA 密钥,或者,如果 name
已在使用中,则创建密钥的新版本
需要 keys/create 权限。
create_rsa_key(name: str, **kwargs) -> KeyVaultKey
参数
- key_operations
- list[KeyOperation 或 str] 或 None
允许的密钥操作
- release_policy
- KeyReleasePolicy 或 None
可以导出密钥的策略规则。
返回
创建的密钥
返回类型
例外
get_cryptography_client
CryptographyClient获取给定键的 。
get_cryptography_client(key_name: str, **kwargs) -> CryptographyClient
参数
- key_version
- str
用于执行加密操作的密钥的可选版本。
返回
使用 CryptographyClient 与此 KeyClient相同的选项、凭据和 HTTP 客户端的 。
返回类型
例外
如果该键不存在,则为
对于其他错误
get_deleted_key
获取已删除的密钥。 只能在启用了软删除的保管库中实现。
需要密钥/获取权限。
get_deleted_key(name: str, **kwargs) -> DeletedKey
参数
返回
已删除的密钥
返回类型
例外
如果该键不存在,则为
对于其他错误
get_key
获取密钥的属性,如果它是非对称密钥,则获取其公共材料。
需要密钥/获取权限。
get_key(name: str, version: str | None = None, **kwargs) -> KeyVaultKey
参数
返回类型
例外
如果该键不存在,则为
对于其他错误
get_key_rotation_policy
获取密钥保管库密钥的轮换策略。
get_key_rotation_policy(key_name: str, **kwargs) -> KeyRotationPolicy
参数
返回
密钥轮换策略。
返回类型
例外
get_random_bytes
从托管 HSM 获取请求的随机字节数。
get_random_bytes(count: int, **kwargs) -> bytes
参数
返回
随机字节。
返回类型
例外
如果请求的随机字节少于一个,
对于其他错误
import_key
导入在外部创建的密钥。
需要密钥/导入权限。 如果 name
已在使用中,密钥将作为新版本导入。
import_key(name: str, key: JsonWebKey, **kwargs) -> KeyVaultKey
参数
- 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]
参数
返回
没有加密材料的密钥的迭代器
返回类型
例外
如果该键不存在,则为
对于其他错误
list_properties_of_keys
列出保管库中所有密钥的标识符和属性。
需要密钥/列表权限。
list_properties_of_keys(**kwargs) -> ItemPaged[KeyProperties]
返回
没有加密材料或版本信息的密钥迭代器
返回类型
例外
如果该键不存在,则为
对于其他错误
purge_deleted_key
永久删除已删除的密钥。 只能在启用了软删除的保管库中使用。
执行指定密钥的不可逆删除,无法恢复。 如果未指定“Purgeable”, recovery_level 则操作不可用。 此方法仅在清除其 之前的密钥时 scheduled_purge_date是必需的。
需要密钥/清除权限。
purge_deleted_key(name: str, **kwargs) -> None
参数
返回
无
例外
示例
# 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
参数
- algorithm
- str 或 KeyExportEncryptionAlgorithm 或 None
用于保护已释放密钥材料的加密算法。
返回
密钥释放的结果。
返回类型
例外
restore_key_backup
将密钥备份还原到保管库。
需要密钥/还原权限。
这会导入密钥的所有版本及其名称、属性和访问控制策略。 如果密钥的名称已在使用中,则还原该密钥将失败。 此外,目标保管库必须由与源保管库相同的 Microsoft Azure 订阅拥有。
restore_key_backup(backup: bytes, **kwargs) -> KeyVaultKey
参数
返回
还原的密钥
返回类型
例外
如果备份密钥的名称已在使用中,
对于其他错误
rotate_key
通过生成密钥的新版本,根据密钥策略轮换密钥。
此操作需要密钥/轮换权限。
rotate_key(name: str, **kwargs) -> KeyVaultKey
参数
返回
轮换密钥的新版本。
返回类型
例外
send_request
使用客户端的现有管道运行网络请求。
请求 URL 可以相对于保管库 URL。 除非另行指定,否则用于请求的服务 API 版本与客户端的版本相同。 如果响应是错误,则此方法不会引发;若要引发异常,请对返回的响应对象调用 raise_for_status () 。 有关如何使用此方法发送自定义请求的详细信息,请参阅 https://aka.ms/azsdk/dpcodegen/python/send_request。
send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse
参数
- stream
- bool
是否对响应有效负载进行流式处理。 默认为 False。
返回
网络呼叫的响应。 不对响应执行错误处理。
返回类型
例外
如果该键不存在,则为
对于其他错误
update_key_properties
更改密钥的属性 (而不是其加密材料) 。
需要密钥/更新权限。
update_key_properties(name: str, version: str | None = None, **kwargs) -> KeyVaultKey
参数
- key_operations
- list[KeyOperation 或 str] 或 None
允许的密钥操作
- release_policy
- KeyReleasePolicy 或 None
可导出密钥所依据的策略规则。
返回
更新的密钥
返回类型
例外
如果键不存在,则为
其他错误
update_key_rotation_policy
汇报密钥保管库密钥的轮换策略。
此操作需要密钥/更新权限。
update_key_rotation_policy(key_name: str, policy: KeyRotationPolicy, **kwargs) -> KeyRotationPolicy
参数
- lifetime_actions
- list[KeyRotationLifetimeAction]
将由密钥保管库在密钥生存期内执行的操作。 这将覆盖提供的 policy
的生存期操作。
- expires_in
- str
将应用于新密钥版本的策略的到期时间,定义为 ISO 8601 持续时间。 例如:90 天为“P90D”,3 个月为“P3M”,48 小时为“PT48H”。 有关 ISO 8601 持续时间的详细信息,请参阅 维基百科 。
这将覆盖提供的 policy
的到期时间。
返回
更新的轮换策略。