你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Backup-AzKeyVaultKey

备份密钥保管库中的密钥。

语法

Backup-AzKeyVaultKey
      [-VaultName] <String>
      [-Name] <String>
      [[-OutputFile] <String>]
      [-Force]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Backup-AzKeyVaultKey
      -HsmName <String>
      [-Name] <String>
      [[-OutputFile] <String>]
      [-Force]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Backup-AzKeyVaultKey
      [-InputObject] <PSKeyVaultKeyIdentityItem>
      [[-OutputFile] <String>]
      [-Force]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

Backup-AzKeyVaultKey cmdlet 通过下载该密钥并将其存储在文件中来备份密钥保管库中的指定密钥。 如果密钥有多个版本,则备份中包含所有版本。 由于下载的内容已加密,因此不能在 Azure 密钥库之外使用它。 可以将备份密钥还原到订阅中备份的任意密钥保管库。 使用此 cmdlet 的典型原因是:

  • 你想要托管密钥的副本,以便在意外删除密钥保管库中的密钥时,拥有脱机副本。

  • 你已使用密钥库创建了密钥,现在想要将密钥克隆到其他 Azure 区域,以便可以从分布式应用程序的所有实例使用它。 使用 Backup-AzKeyVaultKey cmdlet 以加密格式检索密钥,然后使用 Restore-AzKeyVaultKey cmdlet 并在第二个区域中指定密钥保管库。

示例

示例 1:使用自动生成的文件名备份密钥

Backup-AzKeyVaultKey -VaultName 'MyKeyVault' -Name 'MyKey'

C:\Users\username\mykeyvault-mykey-1527029447.01191

此命令从名为 MyKeyVault 的密钥保管库中检索名为 MyKey 的密钥,并将该密钥的备份保存到自动命名的文件,并显示文件名。

示例 2:将密钥备份到指定的文件名

Backup-AzKeyVaultKey -VaultName 'MyKeyVault' -Name 'MyKey' -OutputFile 'C:\Backup.blob'

C:\Backup.blob

此命令从名为 MyKeyVault 的密钥保管库中检索名为 MyKey 的密钥,并将该密钥的备份保存到名为 Backup.blob 的文件。

示例 3:将以前检索的密钥备份到指定的文件名,覆盖目标文件而不提示。

$key = Get-AzKeyVaultKey -VaultName 'MyKeyVault' -Name 'MyKey'
Backup-AzKeyVaultKey -Key $key -OutputFile 'C:\Backup.blob' -Force

C:\Backup.blob

此命令创建名为 $key 的密钥的备份。名为 $key 的保管库中的名称。VaultName 到名为 Backup.blob 的文件,如果该文件已存在,则以无提示方式覆盖该文件。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

覆盖给定文件(如果存在)

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HsmName

HSM 名称。 Cmdlet 基于名称和当前所选环境构造托管 HSM 的 FQDN。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

要备份的密钥捆绑包,从检索调用的输出传入。

Type:PSKeyVaultKeyIdentityItem
Aliases:Key
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

指定要备份的密钥的名称。

Type:String
Aliases:KeyName
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-OutputFile

指定在其中存储备份 Blob 的输出文件。 如果未指定此参数,则此 cmdlet 会为你生成文件名。 如果指定现有输出文件的名称,该操作将不会完成,并返回一条错误消息,指出备份文件已存在。

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

指定包含要备份的密钥的密钥保管库的名称。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

PSKeyVaultKeyIdentityItem

输出

String