1

최소 권한으로 Azure 서비스 사용자를 잠그려고합니다. 이 작업은 creating custom roles으로 수행 할 수 있습니다. 그러나 사용자 지정 역할을 정의 할 때 주어진 작업에 어떤 작업이 필요한지 어떻게 알 수 있습니까? 예를 들어, 자동화 계정에서 Powershell 스크립트 (Get-AzureKeyVaultSecret, New-AzureRmContainerGroup, Get-AzureRmContext 등)의 여러 AzureRm cmdlet을 실행해야하는 경우 해당 명령에서 수행하는 "작업"을 어떻게 알 수 있습니까?Azure 서비스 사용자가 필요로하는 작업/권한을 찾는 방법

Get-AzureRMProviderOperation *에는 사용 가능한 모든 작업 (현재 2969의 목록이 렌더링 됨 - 정렬하기에 다소 압도적 인 번호)이 나열됩니다. 내가 필요한 사람들을 어떻게 결정할 수 있습니까?

답변

2

당신이 runbook 명령을 실행하는 푸른 자동화 계정을 사용하려는 경우 예를 들어,
Get-AzureKeyVaultSecret, 우리는 SP 권한과 같이 제공해야합니다 :

Microsoft Authorization : enter image description here 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/writeMicrosoft.KeyVault/vaults/secrets/readMicrosoft.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 

후, 우리는 당신이 Get-AzureKeyVaultSecret하려는 SP에이 역할을 할당 할 수 있습니다. 하나의 SP에 많은 역할을 할당 할 수 있습니다.

:

모든 서비스 교장은 Microsoft Authorization 권한이 필요하거나이 SP는 푸른에 로그인하지 않습니다.

일반적으로 Azure PowerShell 명령 Get은 읽기 권한이 필요합니다. New, setUpdate에는 쓰기 권한이 필요합니다.

희망이 있습니다.

+1

SP를 키 볼트 액세스 정책에 지정할 필요가 없습니까? :) – juunas

+1

@ 주 감사합니다. 당신이 맞습니다. SP에 키 저장소 접근 정책을 연결해야합니다. –

+0

예, IAM의 역할을 통해 KeyVault의 ARM API 측에 액세스 할 수 있지만 KeyVault API에 액세스하려면 액세스 정책이 필요합니다. – juunas