![](/img/trans.png)
[英]Issue with persistent storage in Azure Kubernetes Service using Azure Disk
[英]Azure kubernetes service creation issue
我正在使用高級網絡選項在 Azure 中創建 kubernetes 服務,其中我為它選擇了特定的 vNet 和子網。
我收到如下錯誤:
{"code":"InvalidTemplateDeployment","message":"The template deployment failed with error: 'Authorization failed for template resource '<vnetid>/<subnetid>/Microsoft.Authorization/xxx' of type 'Microsoft.Network/virtualNetworks/subnets/providers/roleAssignments'. The client '<emailid>' with object id 'xxx' does not have permission to perform action 'Microsoft.Authorization/roleAssignments/write' at scope '/subscriptions/<subid>/resourceGroups/<rgid>/providers/Microsoft.Network/virtualNetworks/<vnetid>/subnets/<subnetid>/providers/Microsoft.Authorization/roleAssignments/xxx'.'."}
我有貢獻者角色。
根據以下文章,您將需要對 vNet 的所有者權限才能更改對它的訪問。
現有的答案並不完全正確,顯然,您可以擺脫Owner
角色,但您只需要Microsoft.Authorization/roleAssignments/write
over 子網的 scope(可能是 vnet,沒有對此進行測試)。 這有助於鎖定安全性。 你需要一個自定義角色來做到這一點。 如果您不想 go 作為自定義角色,現有的答案就可以了。
有兩種方法可以解決此問題:
1.您只需在 vnet scope 中為您的帳戶分配Owner
角色。
讓您的管理員用戶(登錄門戶的帳戶需要 vnet 中的Owner
角色),導航到門戶中的錯誤中提到的 vnet -> Access control (IAM)
-> Add
-> Add role assignment
-> 添加帳戶在作為Owner
的錯誤中,有關更多詳細信息,請參閱此鏈接。 將您的帳戶分配給 vnet 后,您將能夠創建 aks。
在這種情況下,別人提到的自定義角色是沒有意義的。 一旦用戶獲得了Microsoft.Authorization/roleAssignments/write
權限,他就可以為自己分配他想要的任何角色,包括Owner
角色。 所以對於安全問題,它沒有幫助。
2.如果在您的情況下不允許您將您的帳戶作為Owner
分配給 vnet,這是一個更好的方法。 您可以讓您的管理員用戶(該帳戶在 vnet 中有Owner
)將您在Authentication
步驟中配置的服務主體(不是 select create new
選項)作為Network Contributor
添加到 vnet,然后當您創建 aks 時,它也可以正常工作。
如果您沒有服務主體,請參閱此鏈接來創建它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.