首页 > 解决方案 > 用于循环通过 Azure Key Vault 颁发策略的 Powershell 脚本

问题描述

我有一个要求 - 我需要获取所有证书政策(颁发政策)的报告并合并报告。请查看第二张图片 - 这些是我在报告中查看的属性。

使用任何技术的解决方案都很好,主要是寻找 - PowerShell、Azure Function 等。

在此处输入图像描述

在此处输入图像描述

标签: powershellazure-keyvault

解决方案


根据我的测试,如果要获取 Azure Key Vault,则使用 PowerShell 命令Get-AzKeyVaultCertificatePolicy获取策略的信息。

例如

  1. 设置访问策略
Set-AzKeyVaultAccessPolicy -VaultName "<>"-ResourceGroupName "<>"-UserPrincipalName "<>" -PermissionsToCertificates get,list

  1. 获取政策
Get-AzKeyVaultCertificatePolicy -VaultName "<>" -Name "<cert name>"

在此处输入图像描述

此外,如果您想使用 Azure 功能获取策略,请参考以下步骤

  1. 为 Azure 函数启用 MSI 在此处输入图像描述 在此处输入图像描述

  2. 设置访问策略

Set-AzKeyVaultAccessPolicy -VaultName "<>"-ResourceGroupName "<>" -ObjectId "<the object id you copy>"  -PermissionsToCertificates get,list
  1. 代码(C#)
//install package Azure.Identity Azure.Security.KeyVault.Certificates
  CertificateClient client = new CertificateClient(new Uri("https://norasvault.vault.azure.net/"), new DefaultAzureCredential());

Response<CertificatePolicy> result =await client.GetCertificatePolicyAsync("yangtest");

// create the report
// the result.value cantians the properties of  CertificatePolicy

有关详细信息,请参阅https://docs.microsoft.com/en-us/dotnet/api/azure.security.keyvault.certificates.certificatepolicy?view=azure-dotnet


推荐阅读