gpt4 book ai didi

azure - 将一个保管库的内容复制到另一个保管库

转载 作者:行者123 更新时间:2023-12-03 03:33:17 24 4
gpt4 key购买 nike

我在某处读到我可以将备份从一个保管库复制到另一个保管库。我一直无法找到任何引导我走向正确方向的东西。

我的目的是这样做,这样我就可以解决保管库一旦创建就无法重命名的问题。

我已经考虑过不同的保险库选项,但没有发现任何表明我走在正确道路上的东西。

最佳答案

此答案已复制自 How To Copy All Secrets From One KeyVault To Another In Azure

有两种选择:

  1. 使用 Powershell 脚本复制 Azure KeyVault
  2. 使用 Azure CLI 复制 Azure KeyVault

在这里,我们从名为 myKeyVault2020 的源 keyvault 复制 4 个 key 用于演示。

enter image description here

选项 1:使用 Powershell 脚本复制 Azure KeyVault

现在,我们要使用 Azure Powershell 复制名为 kv-myapps-2021 的目标 keyvault 中尚未存在的 secret 。

enter image description here

Param(
[Parameter(Mandatory)]
[string]$sourceKvName,
[Parameter(Mandatory)]
[string]$destKvName
)
Connect-AzAccount
$secretNames = (Get-AzKeyVaultSecret -VaultName $sourceKvName).Name
$secretNames.foreach{
Set-AzKeyVaultSecret -VaultName $destKvName -Name $_ `
-SecretValue (Get-AzKeyVaultSecret -VaultName $sourceKvName -Name $_).SecretValue
}

我们可以看到所有 key 已成功复制到kv-myapps-2021

enter image description here

选项 2:使用 Azure CLI 复制 Azure KeyVault

我们还可以使用以下 Bash 脚本将所有 secret 复制到名为 kv-myapps-2023 的新目标 keyvault。

enter image description here

Source_Kv_Name="myKeyVault2020"
Dest_Kv_Name="kv-myapps-2023"
SECRETS+=($(az keyvault secret list --vault-name $Source_Kv_Name --query "[].id" -o tsv))
for SECRET in "${SECRETS[@]}"; do
SECRETNAME=$(echo "$SECRET" | sed 's|.*/||')
SECRET_CHECK=$(az keyvault secret list --vault-name $Dest_Kv_Name --query "[?name=='$SECRETNAME']" -o tsv)
if [ -n "$SECRET_CHECK" ]
then
echo "$SECRETNAME already exists in $Dest_Kv_Name"
else
echo "Copying $SECRETNAME from Source KeyVault: $Source_Kv_Name to Destination KeyVault: $Dest_Kv_Name"
SECRET=$(az keyvault secret show --vault-name $Source_Kv_Name -n $SECRETNAME --query "value" -o tsv)
az keyvault secret set --vault-name $Dest_Kv_Name -n $SECRETNAME --value "$SECRET" >/dev/null
fi
done

让我们检查目标 key 保管库。惊人的!所有 secret 都被复制。

关于azure - 将一个保管库的内容复制到另一个保管库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74216653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com