如何使用Azure RBAC限制虚拟机大小?

如何使用Azure RBAC限制虚拟机大小?,azure,azure-virtual-machine,rbac,Azure,Azure Virtual Machine,Rbac,作为管理员,我需要限制最终用户可以通过Azure门户提供的虚拟机的大小。我正在寻找类似于我可以用AWS IAM做的事情,确保用户只能提供特定大小的虚拟机。要限制最终用户可以从azure门户提供的虚拟机的大小,您可以创建“azure开发测试实验室”,并直接设置您希望允许的虚拟机大小。然后,您可以向您的客户授予访问开发测试实验室的RBAC权限 另一个选项是创建一个应用程序,并将其应用于您的客户订阅 关于这一点,Garuav解决了它-您希望使用策略定义 你基本上会有这样的东西: $policyJS

作为管理员,我需要限制最终用户可以通过Azure门户提供的虚拟机的大小。我正在寻找类似于我可以用AWS IAM做的事情,确保用户只能提供特定大小的虚拟机。

要限制最终用户可以从azure门户提供的虚拟机的大小,您可以创建“azure开发测试实验室”,并直接设置您希望允许的虚拟机大小。然后,您可以向您的客户授予访问开发测试实验室的RBAC权限

另一个选项是创建一个应用程序,并将其应用于您的客户订阅


关于这一点,

Garuav解决了它-您希望使用策略定义

你基本上会有这样的东西:

$policyJSON = @'
    {
      "if" : {
      "not" : {
        "field" : "vmSize",
        "in" : ["Standard_D1", "Standard_D2"]
      }
    },
      "then" : {
        "effect" : "deny"
      }
    }
'@

$policy = New-AzureRmPolicyDefinition -Name 'VMSizeRestriction' -DisplayName 'VM Size Restrictions' -Policy $policyJSON

New-AzureRmPolicyAssignment -Name 'VMSizeRestriction-SubscriptionA' -PolicyDefinition $policy -Scope '/subscriptions/########-####-####-####-############'

例如,您还可以为其分配其他作用域(例如资源组),并将其与RBAC相结合(只允许用户访问一个RG,然后将策略应用于该RG)。上面的doc链接还有一点。

将其作为注释而不是答案,因为我不知道如何做到这一点,但请查看Azure资源管理器策略-。您很可能能够定义一些限制VM大小的策略。