使用 az cli 从 keyvault 返回以列表中已知前缀开头的秘密名称

问题描述 投票:0回答:1

我有一个运行 az cli 命令的脚本(在 powershell 中)。例如,我在脚本中使用这样的命令:

az keyvault 秘密列表...

我将参数传递到脚本中,其中之一是 keyvault 名称。对于给定的 keyvault,我想返回 keyvault 中以“app”开头的所有秘密。例如,如果以下秘密位于密钥库中:

应用程序1名称 应用程序2名称 应用程序1密码 数据库密码1 应用程序2密码 数据库密码2

我想编写脚本返回一个列表:

应用程序1名称 应用程序2名称 应用程序1密码 应用程序2密码

azure powershell azure-cli
1个回答
0
投票

我认为您可以使用 az keyvault Secret list 命令以及一些 PowerShell 过滤来完成此操作。

让我在下面分享一个片段。

# Set your variables
$keyVaultName = "YourKeyVaultName"
$resourceGroupName = "YourResourceGroupName"
$prefix = "app"

# Get the list of secret names from the key vault
$secretListJson = az keyvault secret list --vault-name $keyVaultName --resource-group $resourceGroupName --query "[].name" --output json

# Convert the JSON to a PowerShell array
$secretList = $secretListJson | ConvertFrom-Json

# Filter secrets based on the prefix
$filteredSecrets = $secretList | Where-Object { $_ -like "$prefix*" }

# Output the filtered list
$filteredSecrets

© www.soinside.com 2019 - 2024. All rights reserved.