1. Add Custom Role
2. Select "Clone a role" and role to close is "Virtual Machine User Login"
3. Click Next
4. Select add permissions
5. Scroll down to "Microsoft.Compute.VirtualMachines" and tick
Microsoft.Compute/virtualMachines/start/action"
"Microsoft.Compute/virtualMachines/powerOff/action"
"Microsoft.Compute/virtualMachines/deallocate/action"
6. Click Next, select subscription, Next, Next then "Create".
7. List item
az role assignment create \
--assignee *userObjectId* \
--role "Desktop Virtualization Power On Off Contributor" \
--scope "/subscriptions/*Your Subscription ID*/resourceGroups/*YourResourceGroup*/providers/Microsoft.Compute/virtualMachines/*YourVirtualMachineName*"
7条答案
按热度按时间bzzcjhmw1#
为了允许用户启动和停止虚拟机,您需要创建具有正确权限的自定义role。
在这个答案中,我将列出使用
azure command line interface
获得此结果所需遵循的步骤。您可以使用Power Shell
或Azure Rest Api
执行相同的操作(在此link和此link中找到有关Power Shell
和Azure Rest Api
使用的命令的更多信息)。newRole.json
):字符串
Name
:新角色的名称。这是将在Azure门户中显示的名称Is Custom
:指定它是用户定义的角色Description
:角色的简短描述,也显示在Azure门户中Actions
:与此角色关联的用户可以执行的操作列表。每行分别允许用户:No Actions
:与此角色关联的用户不能执行的操作列表。在这种情况下,列表为空,通常它必须是前一字段的子集。AssignableScopes
:必须添加角色的订阅集。每个代码都以/subscription/
字符串为前缀。您可以通过访问订阅菜单(由此图标标识)找到订阅的代码x1c 0d1x的数据
并复制
SUBSCRIPTION ID
列下的值azure cli
执行az login
命令登录到您的azure帐户。有关如何分别安装azure here和here并执行登录过程的详细信息。az role definition create --role-definition newRole.json
命令。Access control (Iam)
的
Add
Role
:选择您刚刚创建的角色,在本例中为Virtual Machine Operator
Assign access to
:Azure AD user, group, or application
。Select
:与需要启动/重新启动/停止VM的帐户关联的电子邮件在此操作之后,当用户访问门户时,她将在虚拟机列表中看到所选的VM。如果她选择了虚拟机,她将能够启动/重启/停止它。
e5nszbig2#
在portal.azure.com中打开您的虚拟机,导航到
Access control (IAM)
→Role Assignments
,然后单击“添加角色分配”。选择标准角色 * 虚拟机参与者 *,
在 Select 字段中输入新受限用户的电子邮件,然后选择Guest。
保存.
就这些。
rbpvctlc3#
我已经创建了一个自定义角色来允许这一点。我已经测试过了,它工作正常。你必须从“虚拟机用户登录”角色开始,然后添加额外的权限。这当然也会给予用户日志权限,但我假设如果你允许他们启动和停止VM,那么你也会希望他们能够登录。
通过GUI:
字符串
角色所有权限:
下面是JSON:
第一个月
bbuxkriu4#
目前这是不可能的。虽然通过一些编程是可能的。你在Azure Portal上看到的可以通过
Azure Service Management API
实现。你可以做的是编写一个使用此API的应用程序,在那里你可以定义所有规则。如果你认为你的销售人员不会乱来,你可以做的另一件事是通过使用
Azure PowerShell Cmdlets
创建一些自定义PowerShell脚本,他们可以执行这些脚本来启动/停止虚拟机。w51jfk4q5#
我的建议是构建您自己的外观,利用Azure Management API为您执行这些任务。这允许您在访问/授权方面设置自己的控制,并将其装配为跨多个订阅(如果有必要)。此外观可能托管在免费层Azure网站中。
zlwx9yxi6#
穿过蔚蓝色的天空
字符串
第一个月
az role definition list --custom-role-only true
个c2e8gylq7#
如果您无法创建自定义角色,您现在有“桌面虚拟化开机关闭贡献者”角色;它可以启动和停止虚拟机(VM)。还有“桌面虚拟化开机贡献者”角色,它只能启动VM。
您可以在CLI中使用下面的命令指定此值,并填写必要的占位符;
字符串
您将需要替换SubscriptionId、ResourceGroupName、VirtualMachineName和userObjectId,您可以从下面的查询中获取这些信息。
型