Как узнать, какие операции / разрешения нужны моему основателю службы Azure
Я пытаюсь заблокировать своих участников службы Azure с минимальными разрешениями. Это может быть сделано путем создания пользовательских ролей. Но как определить пользовательские роли, как узнать, какие действия необходимы для выполнения определенной задачи? Например, если для учетной записи автоматизации необходимо выполнить несколько командлетов AzureRm в сценарии powershell (Get-AzureKeyVaultSecret
, New-AzureRmContainerGroup
, Get-AzureRmContext
и т. д.), как узнать, какие "действия" выполняет каждая из этих команд?
Get-AzureRMProviderOperation *
перечисляет все доступные действия (в настоящее время отображается список из 2969- немного подавляющее число для сортировки). Как мне определить, кто из них мне нужен?
1 ответ
Например, если вы хотите использовать учетную запись автоматизации Azure для запуска команды runbookGet-AzureKeyVaultSecret
, мы должны дать этому SP разрешения, такие как:
Microsoft Authorization
: Microsoft Automation
: Microsoft.Automation/automationAccounts/runbooks/read
Microsoft.KeyVault
нужны эти разрешения:
Microsoft.KeyVault/vaults/read
Microsoft.KeyVault/vaults/secrets/read
Microsoft.KeyVault/vaults/accessPolicies/write
Обычно мы можем установить роли для каждого провайдера. Например, Microsoft.KeyVault
Мы хотим, чтобы SP мог обновить хранилище ключей или прочитать секреты, мы можем добавить Microsoft.KeyVault/vaults/write
а также Microsoft.KeyVault/vaults/secrets/read
а также Microsoft.KeyVault/vaults/read
,
PS C:\Users\jason> Get-AzureRmProviderOperation * | ?{ $_.ProviderNamespace -eq 'Microsoft Key Vault' } | select Operation, OperationName
Operation OperationName
--------- -------------
Microsoft.KeyVault/register/action Register Subscription
Microsoft.KeyVault/unregister/action Unregister Subscription
Microsoft.KeyVault/hsmPools/read View HSM pool
Microsoft.KeyVault/hsmPools/write Create or Update HSM pool
Microsoft.KeyVault/hsmPools/delete Delete HSM pool
Microsoft.KeyVault/hsmPools/joinVault/action Join KeyVault to HSM pool
Microsoft.KeyVault/checkNameAvailability/read Check Name Availability
Microsoft.KeyVault/vaults/read View Key Vault
Microsoft.KeyVault/vaults/write Update Key Vault
Microsoft.KeyVault/vaults/delete Delete Key Vault
Microsoft.KeyVault/vaults/deploy/action Use Vault for Azure Deployments
Microsoft.KeyVault/vaults/secrets/read View Secret Properties
Microsoft.KeyVault/vaults/secrets/write Update Secret
Microsoft.KeyVault/vaults/accessPolicies/write Update Access Policy
Microsoft.KeyVault/operations/read Available Key Vault Operations
Microsoft.KeyVault/deletedVaults/read View Soft Deleted Vaults
Microsoft.KeyVault/locations/operationResults/read Check Operation Result
Microsoft.KeyVault/locations/deletedVaults/read View Soft Deleted Key Vault
Microsoft.KeyVault/locations/deletedVaults/purge/action Purge Soft Deleted Key Vault
После этого мы можем назначить эту роль вашему SP, которого вы хотите Get-AzureKeyVaultSecret
, Мы можем назначить много ролей одному SP.
Примечание:
Каждый основной принцип обслуживания Microsoft Authorization
разрешение, или этот SP не будет входить в Azure.
Обычно команда Azure PowerShell Get
нужно разрешение на чтение, New
, set
а также Update
нужно разрешение на запись.
Надеюсь это поможет:)