在 Azure 维护配置中添加和删除服务器所需的权限

问题描述 投票:0回答:1

我们使用维护配置作为 Azure 更新管理器配置的一部分。对于 Azure VM,除了向 Azure 订阅授予贡献者角色权限之外,是否还有任何角色可以允许在维护配置中添加和删除服务器?

对于启用 Arc 的服务器,这不是问题,因为贡献者角色可以分配给这些服务器所属的资源组,但对于 Azure VM,因为它们不在资源组中,这是不可能的。

维护配置的权限没有问题,问题在于 Azure VM 所需的权限。

我们尝试使用以下详细信息创建自定义权限,但这仍然不允许添加或删除 Azure VM。

脚本详情:

$customRole = @{
    Name        = "Maintenance Config VM Updater"
    Description = "Role with permissions to update maintenance configurations and associate VMs with them."
    Actions     = @(
        "Microsoft.Maintenance/configurations/write",
        "Microsoft.Maintenance/configurations/read",
        "Microsoft.Compute/virtualMachines/write",
        "Microsoft.Compute/virtualMachines/read"
    )
    NotActions  = @()
    DataActions = @()
    NotDataActions = @()
    AssignableScopes = @(
        "/subscriptions/<your-subscription-id>"
    )
}

# Convert the properties to JSON
$customRoleJson = ConvertTo-Json -InputObject $customRole -Depth 10
 
# Create the custom role in Azure
New-AzRoleDefinition -InputFile (New-TemporaryFile -Value $customRoleJson)
azure permissions roles azure-role-environment
1个回答
0
投票

要在维护配置中添加或删除虚拟机,您通常需要维护配置和虚拟机的权限

您可以创建自定义角色,如下所示-

转到订阅-> IAM-> +添加下拉菜单-> 添加自定义角色

enter image description here

创建您的自定义角色,填写角色名称描述等标准内容,然后在权限下添加这些 -

enter image description here

enter image description here

enter image description here

enter image description here

您可以根据您的要求选择任何附加权限。 接下来在范围下它应该自动填充您的订阅 ID-

enter image description here

保存它-

enter image description here

现在转到将处理所有这些维护活动的用户/管理员,并从添加角色部分为他/她分配此自定义角色,使用您提供的自定义角色名称进行过滤并分配

enter image description here

enter image description here

这是自定义规则的json,您在创建时会得到自己的-

{
    "properties": {
        "roleName": "Maintenance Config VM Updater",
        "description": "Role with permissions to update maintenance configurations and associate VMs with them",
        "assignableScopes": [
            "/subscriptions/20df4f6c-0ab2-4a88-82d5-9d23dbddfc7d"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Maintenance/maintenanceConfigurations/write",
                    "Microsoft.Maintenance/maintenanceConfigurations/read",
                    "Microsoft.Maintenance/configurationAssignments/write",
                    "Microsoft.Maintenance/configurationAssignments/read",
                    "Microsoft.Compute/virtualMachines/read",
                    "Microsoft.Compute/virtualMachines/write",
                    "Microsoft.Resources/subscriptions/resourceGroups/read",
                    "Microsoft.Resources/subscriptions/resourceGroups/write"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

您还可以从 powershell 创建此内容,请查看此 MS 文档的第 9 步

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.