Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure kubernetes服务创建问题_Azure_Kubernetes_Azure Virtual Network_Azure Aks - Fatal编程技术网

Azure kubernetes服务创建问题

Azure kubernetes服务创建问题,azure,kubernetes,azure-virtual-network,azure-aks,Azure,Kubernetes,Azure Virtual Network,Azure Aks,我正在Azure中使用高级网络选项创建kubernetes服务,其中我为它选择了特定的vNet和子网 我得到的错误如下: {"code":"InvalidTemplateDeployment","message":"The template deployment failed with error: 'Authorization failed for template resource '<vnetid>/<subnetid>/Microsoft.Authorizatio

我正在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'.'."}
{“code”:“InvalidTemplateDeployment”,“消息”:"模板部署失败,错误为:“对类型为“Microsoft.Network/virtualNetworks/subnets/providers/roleAssignments”的模板资源“//Microsoft.Authorization/xxx”的授权失败。对象id为“xxx”的客户端“”无权在作用域/subscriptions上执行操作“Microsoft.Authorization/roleAssignments/write”//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets//providers/Microsoft.Authorization/roleasignments/xxx'.“}

我有一个参与者角色。

根据下面的文章,您需要vNet的所有者权限才能更改对它的访问权限


根据下面的文章,您需要拥有vNet的所有者权限才能更改对它的访问权限


现有答案不完全正确,显然,您可以取消
所有者
角色,但您只需要
Microsoft。授权/角色分配/写入子网范围内的
(可能是vnet,未对此进行测试)。这有助于锁定一点安全性。您需要一个自定义角色来完成此操作。如果您不想使用自定义角色,现有答案就可以了。

现有答案不完全正确,显然,您可以使用
所有者
角色,但您只需要
Microsoft.Authorization/roleasignments/write
在子网范围内(可能是vnet,未测试)。这有助于锁定一点安全性。您需要一个自定义角色来完成此操作。如果您不想使用自定义角色,现有的答案就可以了。

有两种方法可以解决此问题:

1.您只需在vnet范围内为您的帐户分配一个角色

让您的管理员用户(登录门户的帐户需要vnet中的
所有者
角色)导航到门户中错误中提到的vnet->
访问控制(IAM)
添加
->
添加角色分配
->将错误中的帐户添加为
所有者
,有关详细信息,请参阅此。 将帐户分配到vnet后,您将能够创建aks

在这种情况下,其他人发布的消息是没有意义的。一旦用户获得了Microsoft.Authorization/roleAssignments/write
权限,他就可以为自己分配任何想要的角色,包括
所有者
角色。因此,对于安全问题,这没有帮助

2.如果在您的情况下不允许您将帐户分配为
所有者
到vnet,这里有一个更好的方法。您可以让您的管理员用户(帐户在vnet中有一个
所有者
)添加您在
身份验证
步骤中配置的服务主体(不要选择
新建
选项)作为vnet的
网络参与者
,当您创建aks时,它也可以正常工作


如果您没有服务主体,请参见此创建它。

有两种方法可以解决此问题:

1.您只需在vnet范围内为您的帐户分配一个角色

让您的管理员用户(登录门户的帐户需要vnet中的
所有者
角色)导航到门户中错误中提到的vnet->
访问控制(IAM)
添加
->
添加角色分配
->将错误中的帐户添加为
所有者
,有关详细信息,请参阅此。 将帐户分配到vnet后,您将能够创建aks

在这种情况下,其他人发布的消息是没有意义的。一旦用户获得了Microsoft.Authorization/roleAssignments/write
权限,他就可以为自己分配任何想要的角色,包括
所有者
角色。因此,对于安全问题,这没有帮助

2.如果在您的情况下不允许您将帐户分配为
所有者
到vnet,这里有一个更好的方法。您可以让您的管理员用户(帐户在vnet中有一个
所有者
)添加您在
身份验证
步骤中配置的服务主体(不要选择
新建
选项)作为vnet的
网络参与者
,当您创建aks时,它也可以正常工作


如果您没有服务主体,请查看此处以创建它。

否。Contributor不允许您更改vNet上的权限。如果所有者权限不合适,您可以创建自定义角色定义,如@4c74356b41在其回答中所述。否。Contributor不允许您更改vNet上的权限。如果所有者权限不合适,则ons不合适,您可以创建自定义角色定义,如@4c74356b41在其回答中所述。