Azure политики доступа к хранилищу ключей нескольких подписок - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь экспортировать политики доступа keyvault из нескольких azure подписок в csv. Желательно извлекать эти имена и подклассы хранилища из входного csv и проходить через него. В поисках решений я нашел решения, но все они используют жестко закодированные имена хранилищ. Надеюсь, это имеет смысл. Буду признателен за любую помощь. Спасибо.

1 Ответ

0 голосов
/ 13 марта 2020

Вы можете попробовать скрипт ниже, он отлично работает на моей стороне.

$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 будет выглядеть так:

policies.csv

Обновление :

Если вы хотите включить имя keyvault, попробуйте следующий скрипт:

$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
       }
    }
}

enter image description here

...