You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

复制关联证书的Key Vault机密至其他密钥保管库时遇Forbidden错误

解决Key Vault关联证书机密无法复制的问题

错误原因

你遇到的Forbidden错误是因为目标机密是Key Vault证书的关联自动生成机密,这类机密由Key Vault绑定证书进行管理,不允许直接通过Set-AzKeyVaultSecret操作,必须针对对应的证书执行操作。

解决方案

根据你的需求,提供两种实现方式:

方式一:复制证书到目标Vault(自动生成关联机密)

如果需要保持证书与机密的关联关系,可将源Vault的证书导出后导入到目标Vault,目标Vault会自动生成对应的关联机密:

# 变量配置
$sourceVaultName = "source-keyvault-name"
$destVaultName   = "destination-keyvault-name"
$certName        = "源Vault中对应的证书名称" # 注意:这里填证书名称,不是机密名称
$pfxPassword     = ConvertTo-SecureString "设置PFX导出密码" -AsPlainText -Force

# 从源Vault导出证书为PFX格式
$cert = Get-AzKeyVaultCertificate -VaultName $sourceVaultName -Name $certName
$pfxBytes = $cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12, $pfxPassword)

# 将PFX导入到目标Vault
Import-AzKeyVaultCertificate -VaultName $destVaultName -Name $certName -CertificateBytes $pfxBytes -Password $pfxPassword

方式二:仅复制机密内容(创建独立机密)

如果仅需要复制机密的内容,不需要与证书关联,可以提取机密明文后创建一个独立的新机密:

# 变量配置
$sourceVaultName = "source-keyvault-name"
$destVaultName   = "destination-keyvault-name"
$secretName      = "my-cert-secret-name"

# 获取源机密的明文内容
$secretPlainText = Get-AzKeyVaultSecret -VaultName $sourceVaultName -Name $secretName -AsPlainText

# 在目标Vault创建新的独立机密
Set-AzKeyVaultSecret `
  -VaultName $destVaultName `
  -Name $secretName `
  -SecretValue (ConvertTo-SecureString $secretPlainText -AsPlainText -Force) `
  -ContentType (Get-AzKeyVaultSecret -VaultName $sourceVaultName -Name $secretName).ContentType `
  -Tags (Get-AzKeyVaultSecret -VaultName $sourceVaultName -Name $secretName).Tags

内容的提问来源于stack exchange,提问作者Santa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:00:16