Как создать Azure Назначение ролей для определенного типа ресурса - PullRequest
1 голос
/ 07 января 2020

Я пытаюсь создать Azure Назначение ролей, которое назначает роль администратора доступа пользователей субъекту службы, но только для Azure ресурсов фабрики данных.

Я вижу много документации по настройке областей по подписке, группе ресурсов или даже ресурсу, но не могу понять, как установить его для всех ресурсов определенного типа.

Я пробовал эту команду PowerShell, которая успешно выполняется, но не имеет предполагаемый эффект. Участник службы по-прежнему не может выполнять действия этой роли с ресурсами ADF.

New-AzRoleAssignment -ObjectId ddddddd-dddd-dddd-dddd-dddddddddddd -RoleDefinitionId 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 -Scope "/providers/Microsoft.DataFactory"

Powershell command runs successfully

Я также пытался поэкспериментировать с подстановочными знаками в область, но это кажется неподдерживаемым: /subscriptions/dddddddd-dddd-dddd-dddd-dddddddddddd/resourceGroups/*/providers/Microsoft.DataFactory/dataFactories/*

Вот документация, которую я уже прочитал:

Ответы [ 2 ]

1 голос
/ 07 января 2020

Назначение ролей используется для назначения пользователю предопределенной или настраиваемой роли «определение роли».

Определение роли - это определение роли. Областью роли должны быть подписка (и), группа (и) ресурса и ресурс (ы). Вы не можете определить тип ресурса. Это больше похоже на одно или несколько мест.

Scope structure

Структура RBA C Область: https://docs.microsoft.com/en-us/azure/role-based-access-control/overview#scope

Как создать настраиваемую роль : https://docs.microsoft.com/en-us/azure/role-based-access-control/custom-roles

В вашем случае, если вы хотите предоставить пользователю возможность обрабатывать IAM для всей DataFactory, вам нужно будет вручную определить каждую область действия фактора данных. Затем используйте действия в поставщике Microsoft.Authorization: https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftauthorization

При определении области действия для назначения вы можете определить ее с помощью параметра -Scope <String> или сочетания следующих параметров. параметры.

   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>

Тип ресурса "-ResourceType". Например, для Microsoft.Network/virtualNetworks. Следует использовать только вместе с параметрами ResourceGroupName, ResourceName и (необязательно) ParentResource для построения иерархической области в виде относительного URI, который идентифицирует ресурс.

Подробнее см. https://docs.microsoft.com/en-us/powershell/module/az.resources/new-azroleassignment?view=azps-3.3.0

0 голосов
/ 07 января 2020

существующий ответ в значительной степени точен, однако есть несколько вещей, которые вы можете сделать, чтобы заставить его работать:

  1. наиболее очевидное ограничение всех фабрик данных одной группой ресурсов (или пару из них) и предоставьте владельцам SP разрешения для этих групп ресурсов (или создайте пользовательскую роль RBA C).
  2. используйте простой сценарий для динамического назначения этих разрешений

Если Вы не можете поместить все фабрики данных в одну группу ресурсов \ набор групп ресурсов. Сценарий будет выглядеть следующим образом («псевдо» код, не тестировался, но даст вам идею):

Get-AzSbuscription | Foreach-Object {
    $_ | Select-AzSubscription
    Get-AzDataFactory | Foreach-Object {
        New-AzRoleAssignment -Scope $_.ResourceId`
           -ObjectId ddddddd-dddd-dddd-dddd-dddddddddddd `
           -RoleDefinitionId 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 
    }
}

и запускать его по расписанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...