Azure 多订阅密钥保管库访问策略
Azure multiple subscriptions key vault access policies
我正在尝试将 keyvault 访问策略从多个 azure 订阅导出到 csv。
最好从输入的 csv 中提取那些保险库名称和子 ID 并循环遍历它。
四处搜索我找到了解决方案,但它们都使用硬编码的保险库名称。
我希望这是有道理的..
将不胜感激任何帮助。
谢谢。
您可以尝试下面的脚本,我这边运行良好。
$subs = Get-AzureRmSubscription
foreach($sub in $subs){
Set-AzureRmContext -Subscription $sub.Id -Tenant $sub.TenantId
$vaults = Get-AzureRmKeyVault
foreach($vault in $vaults){
$policies = (Get-AzureRmKeyVault -ResourceGroupName $vault.ResourceGroupName -VaultName $vault.VaultName).AccessPolicies
$policies | select DisplayName, PermissionsToCertificatesStr, PermissionsToKeysStr, PermissionsToSecretsStr | Export-Csv -Path C:\Users\joyw\Desktop\policies.csv -Append -NoTypeInformation
}
}
policies.csv
文件将类似于:
更新:
如果您想包含密钥保管库名称,请尝试以下脚本。
$subs = Get-AzureRmSubscription
foreach($sub in $subs){
Set-AzureRmContext -Subscription $sub.Id -Tenant $sub.TenantId
$vaults = Get-AzureRmKeyVault
foreach($vault in $vaults){
$policies = (Get-AzureRmKeyVault -ResourceGroupName $vault.ResourceGroupName -VaultName $vault.VaultName).AccessPolicies
foreach($policy in $policies){
$obj = [PSCustomObject]@{
KeyVaultName = $vault.VaultName
DisplayName = $policy.DisplayName
PermissionsToCertificatesStr = $policy.PermissionsToCertificatesStr
PermissionsToKeysStr = $policy.PermissionsToKeysStr
PermissionsToSecretsStr = $policy.PermissionsToSecretsStr
}
$obj | Export-Csv -Path C:\Users\joyw\Desktop\policies1.csv -Append -NoTypeInformation
}
}
}
我正在尝试将 keyvault 访问策略从多个 azure 订阅导出到 csv。 最好从输入的 csv 中提取那些保险库名称和子 ID 并循环遍历它。 四处搜索我找到了解决方案,但它们都使用硬编码的保险库名称。 我希望这是有道理的.. 将不胜感激任何帮助。 谢谢。
您可以尝试下面的脚本,我这边运行良好。
$subs = Get-AzureRmSubscription
foreach($sub in $subs){
Set-AzureRmContext -Subscription $sub.Id -Tenant $sub.TenantId
$vaults = Get-AzureRmKeyVault
foreach($vault in $vaults){
$policies = (Get-AzureRmKeyVault -ResourceGroupName $vault.ResourceGroupName -VaultName $vault.VaultName).AccessPolicies
$policies | select DisplayName, PermissionsToCertificatesStr, PermissionsToKeysStr, PermissionsToSecretsStr | Export-Csv -Path C:\Users\joyw\Desktop\policies.csv -Append -NoTypeInformation
}
}
policies.csv
文件将类似于:
更新:
如果您想包含密钥保管库名称,请尝试以下脚本。
$subs = Get-AzureRmSubscription
foreach($sub in $subs){
Set-AzureRmContext -Subscription $sub.Id -Tenant $sub.TenantId
$vaults = Get-AzureRmKeyVault
foreach($vault in $vaults){
$policies = (Get-AzureRmKeyVault -ResourceGroupName $vault.ResourceGroupName -VaultName $vault.VaultName).AccessPolicies
foreach($policy in $policies){
$obj = [PSCustomObject]@{
KeyVaultName = $vault.VaultName
DisplayName = $policy.DisplayName
PermissionsToCertificatesStr = $policy.PermissionsToCertificatesStr
PermissionsToKeysStr = $policy.PermissionsToKeysStr
PermissionsToSecretsStr = $policy.PermissionsToSecretsStr
}
$obj | Export-Csv -Path C:\Users\joyw\Desktop\policies1.csv -Append -NoTypeInformation
}
}
}