问题描述
资源组所有者可以在新版 portal 创建经典模式的虚拟机,但是无法创建 ARM 模式的虚拟机。
问题现象
环境中有个相对权限比较高的账户,比如 account admin (以下简称为 AA),这个账号创建一个资源组和对应的 owner。
如果用这个资源组的 owner 登陆 Azure,会出现这个问题:只能创建经典模式的虚拟机,但无法创建 ARM 模式的虚拟机。
问题分析
ARM 下很多资源提供程序没有注册,包括 ARM 下的 Microsoft.Compute:
NameSpaceRegistrationState
Microsoft.BatchRegistered
Microsoft.ClassicComputeRegistered
Microsoft.ClassicNetworkRegistered
Microsoft.ClassicStorageRegistered
microsoft.insightsRegistered
Microsoft.SqlRegistered
Microsoft.StreamAnalyticsRegistered
Microsoft.WebRegistered
Microsoft.ApiManagementNotRegistered
Microsoft.AuthorizationRegistered
Microsoft.CacheNotRegistered
Microsoft.ClassicInfrastructureMigrateNotRegistered
Microsoft.CognitiveServicesNotRegistered
Microsoft.ComputeNotRegistered
Microsoft.DevicesNotRegistered
Microsoft.DocumentDBNotRegistered
Microsoft.EventHubNotRegistered
Microsoft.FeaturesRegistered
Microsoft.HDInsightNotRegistered
Microsoft.KeyVaultNotRegistered
Microsoft.MediaNotRegistered
Microsoft.NetworkNotRegistered
Microsoft.PortalNotRegistered
Microsoft.ResourcesRegistered
Microsoft.SchedulerRegistered
Microsoft.ServiceBusNotRegistered
Microsoft.ServiceFabricNotRegistered
Microsoft.StorageNotRegistered
AA 创建的资源组的 owner 之所以没有自动注册资源提供程序是由于 AA 的权限导致的。如果 AA 没有创建过 Azure 虚拟机,那么就没有自动注册过资源提供程序,所以 AA 所创建的资源组的 owner 也没有这个权限。
解决方法
基于以上理论,解决方案有两个:
手动运行 PowerShell 命令注册资源提供程序;
用创建资源组 owner 的那个账号(AA) 先创建一个 ARM 的 Azure 虚拟机。
立即访问http://market.azure.cn