2017-08-01 72 views
0

我正嘗試在我的訂閱中獲取所有存儲帳戶的密鑰。但是,我在使用Azure Java SDK的某個存儲帳戶上收到此異常。無法以編程方式獲取Azure存儲帳戶的密鑰

com.microsoft.azure.CloudException:狀態代碼403,{ 「錯誤」:{ 「代碼」: 「AuthorizationFailed」, 「消息」:「客戶端「5c79ee27 - ######## # - ###### 91f8e3'與對象ID'5c79ee27 - ########### - ##### 91f8e3'沒有授權執行操作'Microsoft.Storage/storageAccounts/listKeys/action'over scope'/subscriptions/758ad253-#######f07/resourceGroups/spcwestus/providers/Microsoft.Storage/storageAccounts/grsstorag'。「}}:客戶端'5c79ee27 - ###### ##### - ##### 91f8e3'與對象ID'5c79ee27 - ########### - ##### 91f8e3'沒有授權執行操作'Microsoft.Storage/ storageAccounts/listKeys/action'over scope'/subscriptions/758ad253-#######f07/resourceGroups/spcwestus/providers/Microsoft.Storage/storageAccounts/grsstorag'。

對於大多數存儲帳戶我設法得到密鑰。但是對於其中的一些人來說,同樣的錯誤會重複。有人知道這意味着什麼嗎?

+0

現在您是否可以解決這個錯誤嗎? – juvchan

回答

1

從您所遇到的錯誤,服務器響應您的要求與HTTP 狀態代碼表示您的要求是服務器禁止

HTTP 403狀態碼

,其接收不足以 增益訪問有效憑證的服務器應該與403(禁止)狀態代碼
(第6.5.3響應[RFC7231] )。

這是最有可能被一些基於角色的訪問控制 S中的,以防止您的帳戶來執行基於你的角色分配一定的存儲帳戶列表存儲帳戶關鍵行動造成的。

您可以使用下面的Azure PowerShell cmdlet驗證分配給特定範圍下的特定對象的角色是否具有列出存儲帳戶密鑰的權限。

Get-AzureRmRoleAssignment -Scope "/subscriptions/758ad253-#######f07/resourceGroups/spcwestus/providers/Microsoft.Storage/storageAccounts/grsstorag" -ObjectId 5c79ee27-###########-#####91f8e3 

更多信息,請參考以下鏈接:

Use Role-Based Access Control to manage access to your Azure subscription resources

+2

誰給我的答案倒下了誰,你有沒有什麼強有力的理由給你的投票downvote?請對您的行爲負責,我可以接受批評和反饋,但不會對不負責任的惡意行爲負責!在你這樣做之前,可能你應該提供一個更好的答案。 – juvchan

+1

我沒有投票,但如果我要回答這個問題,我會提供更詳細的答案。例如,我將包含默認情況下有權列出存儲帳戶密鑰並在「listKeys」操作後面提供更多上下文的角色。 –

+1

@GauravMantri非常感謝您的建設性反饋。我同意你的意見,並且實際上希望提供一個更詳細的答案,就像你建議的那樣。 – juvchan

相關問題