2017-08-01 84 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

相关问题