当前位置: 首页 > 知识库问答 >
问题:

使用DevOps在不同订阅的azure密钥库之间移动秘密

杜凯
2023-03-14

共有1个答案

凌伟泽
2023-03-14

我不熟悉DevOps。但似乎您可以先将密钥库(az-kv-dev)移动到Prod订阅,然后将所有机密复制到az-kv-prod。

将密钥存储库移动到新订阅:

如果两个订阅位于同一个租户中,则可以只在门户中移动。导航到您的钥匙保险库->概述->“移动”按钮。如果将密钥存储库移动到新租户中的订阅,则可以使用PowerShell。

Select-AzSubscription -SubscriptionId <your-subscriptionId>
$vaultResourceId = (Get-AzKeyVault -VaultName myvault).ResourceId
$vault = Get-AzResource –ResourceId $vaultResourceId -ExpandProperties
$vault.Properties.TenantId = (Get-AzContext).Tenant.TenantId
$vault.Properties.AccessPolicies = @()

Set-AzResource -ResourceId $vaultResourceId -Properties $vault.Properties

Clear-AzContext
Connect-AzAccount
Param(
    [Parameter(Mandatory)]
    [string]$sourceVaultName,
    [Parameter(Mandatory)]
    [string]$destVaultName
)

$secretNames = (Get-AzKeyVaultSecret -VaultName $sourceVaultName).Name
$secretNames.foreach{
    Set-AzKeyVaultSecret -VaultName $destVaultName -Name $_ `
        -SecretValue (Get-AzKeyVaultSecret -VaultName $sourceVaultName -Name $_).SecretValue
}
 类似资料:
  • 我有一个用秘密定义的Azure密钥库,我可以使用“Azure密钥库”任务在devops构建管道中访问它。现在我需要将秘密变量传递给python内联脚本。 由于它是加密的,python无法直接读取该值。我如何解密并传递它们。这个秘密持有Databricks的访问令牌。我们正在尝试使用DevOps管道创建Databricks集群。 我的Yaml有以下任务 Azure KeyVault Powershe

  • 我试过不同的组合,没有一个对我有效。 测试管道号。1-使用连接到密钥库的group变量(为了方便起见,这里的密钥名是静态的,但实际上,它是在管道过程中通过powershell脚本设置的): 结果是:

  • 使用AKV管理存储帐户:https://docs.microsoft.com/en-us/Azure/key-vault/key-vault-overview-storage-keys-powershell#manage-storage-account-keys 使用Azure Automation进行密钥循环:https://docs.microsoft.com/en-us/Azure/key-

  • 我已经使用ARM在Azure DevOps中创建了一个密钥库,现在我想在同一个管道中为它写一个秘密。 我用以下内联的PowerShell创建了一个Azure PowerShell任务: 密钥存储库创建得很好,但在尝试写入密钥时,我会遇到以下错误:

  • 目前,在我看来,有很多方法可以引用秘密: 使用@或 直接,在存储库中为fx一个名为secret的秘密,然后直接引用它 具有Azure函数,或 配置已运行的应用程序,并将密钥存储库添加到堆栈 我很难看出什么时候用什么。