簡體   English   中英

Azure kubernetes 服務創建問題

[英]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 的所有者權限才能更改對它的訪問。

https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#built-in-role-descriptions

現有的答案並不完全正確,顯然,您可以擺脫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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM