Управление ролями и разрешениями Azure AD с помощью PowerShell

Управление ролями и разрешениями Azure AD с помощью PowerShell. Нужна помощь в управлении и автоматизации ролей и разрешений Azure AD с помощью Windows PowerShell? В этой статье объясняются типичные сценарии автоматизации управления контролем доступа на основе ролей Azure (RBAC) с использованием PowerShell.

Для того чтобы заложить основу и подготовиться к управлению ролями и разрешениями Azure, начнем с обзора контроля доступа на основе ролей Azure (RBAC). Затем мы объясним три элемента назначения ролей.

Также есть раздел, который объясняет предварительные условия для управления ролями и разрешениями Azure AD с помощью Windows PowerShell.

Следующие разделы посвящены объяснению шагов назначения ролей Azure AD с использованием PowerShell.

Наконец, мы объясним, как просматривать роли, назначенные пользователям и группам с помощью PowerShell.

Что такое контроль доступа на основе ролей в Azure (RBAC)Контроль доступа на основе ролей Azure (RBAC) позволяет администраторам управлять доступом к ресурсам с высокой степенью детализации. Другими словами, контроль доступа на основе ролей Azure позволяет администраторам контролировать, кто имеет доступ к ресурсам.

Управление доступом на основе ролей Azure (RBAC) позволяет администраторам выполнять тонкую настройку контроля доступа к ресурсам. Другими словами, Azure RBAC позволяет администраторам контролировать, кто имеет доступ к ресурсам.

Кроме того, RBAC контролирует уровень доступа к ресурсам в Azure.

В основе RBAC лежат ролевые назначения. В Azure есть сотни встроенных ролей с предопределенными разрешениями, которые назначаются пользователям, группам или служебным принципалам.

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

Однако есть ситуации, когда встроенные роли могут быть непригодны для нужд организации. В такой ситуации создаются пользовательские роли.

В этой статье рассматриваются шаги по назначению существующих ролей, а также созданию и назначению пользовательских ролей Azure AD.

Элементы назначения ролей Azure

Назначение ролевых назначений включает 3 элемента – безопасный принципал, определение роли и область действия. Безопасный принципал – это объект Azure Active Directory, которому назначается роль.

С другой стороны, определение роли – это встроенная или пользовательская роль Azure AD, которая назначается, в то время как область – это уровень, на котором назначается роль. Существует 4 области, в которых роли назначаются в Azure.

Конкретно, роли Azure назначаются для ресурса, группы ресурсов, подписки и группы управления. Чтобы назначить роль для ресурса, вам потребуется идентификатор ресурса.

Однако для назначения роли на уровне группы ресурсов требуется имя группы ресурсов. Запуск команды Get-AzResourceGroup возвращает все группы ресурсов, включая их имена в текущей подписке.

Если вы назначаете роль на уровне подписки, вам понадобится идентификатор подписки. Чтобы перечислить все подписки в арендаторе, выполните команду Get-AzSubscription.

Наконец, роли назначаются на уровне группы управления, для чего требуется имя группы управления. Чтобы получить имя группы управления, выполните команду Get-AzManagementGroup.

Понимание этих элементов важно для управления ролями и разрешениями Azure AD с помощью PowerShell. В оставшейся части статьи мы исследуем, как принцип безопасности, определение роли и область применяются для назначения и управления ролями в Azure AD с использованием PowerShell.

Предварительные требования для управления ролями и разрешениями Azure AD с помощью PowerShell

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

  1. Пользователю должны быть назначены роли с разрешениями Microsoft.Authorization/roleAssignments/write. Единственные роли с этим разрешением: Администратор доступа пользователей, Владелец или Глобальный администратор.
  2. Во-вторых, вам потребуется доступ к Azure Cloud Shell или к Azure PowerShell.
  3. Учетная запись пользователя, выполняющего команды PowerShell, должна иметь разрешение Microsoft Graph Directory.Read.All.
  4. Наконец, для выполнения некоторых задач в этой статье вашей учетной записи требуется минимальная лицензия Azure AD Premium P1 .

По мере продвижения в этой статье мы объясним шаги по назначению этих разрешений по мере необходимости.

Шаги по назначению встроенных ролей Azure AD с использованием PowerShellЕсли вы щелкнете ссылку на оболочку Cloud Shell выше и войдете в свою учетную запись Azure, отобразится экран, похожий на тот, что показан на скриншоте ниже. Преимущество Azure Cloud Shell в том, что для его использования не требуется установка каких-либо модулей PowerShell на вашем ПК.

I’ll be running the PowerShell commands in this and subsequent sections from Azure Cloud Shell, a browser-based shell that allows running Azure CLI or PowerShell commands. However, I’ll be running the commands from my computer. 

Если вы перейдете по ссылке облачного оболочки выше и войдете в свою учетную запись Azure, отобразится экран, подобный показанному на скриншоте ниже. Преимущество облачной оболочки Azure заключается в том, что для ее использования не требуется устанавливать какие-либо модули PowerShell на вашем ПК.

Шаг 1: Определение идентификатора объекта

Перед назначением роли ресурсу Azure необходимо получить идентификатор объекта для пользователя, группы или подписки. Следуйте этим шагам, чтобы определить идентификатор объекта для пользователя, группы или подписки.

1. Откройте облачную оболочку Azure — shell.azure.com и войдите в свою учетную запись Azure.

Если вы открываете облачную оболочку Azure впервые, вам потребуется создать учетную запись хранения.

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

$userid = (Get-AzADUser -UserPrincipalName AnthonyRa@corp.itechguides.com).id
$groupid = (Get-AzADGroup -DisplayName "Helpdesk Admins (AAD)").id

Первая команда сохраняет идентификатор пользователя в переменной userid, а вторая — идентификатор группы в переменной grouped. Прежде чем запускать команды, помните изменить UserPrincipalName и DisplayName.

Шаг 2: Получение роли для назначения

Следующий шаг по управлению ролями и разрешениями Azure AD с помощью PowerShell – определение роли для назначения. Начните с перечисления всех доступных ролей в вашем арендаторе Azure AD с помощью следующей команды.

Get-AzRoleDefinition | Format-Table -Property Name, IsCustom, Id

Команда отображает Имя и Id всех ролей в арендаторе. Кроме того, она возвращает True или False в столбце IsCustom.

Для демонстрации я хочу назначить роль Администратор безопасности пользователю и группе, которые я определил на Шаге 1. Чтобы отобразить имя роли, я направляю вывод команды Get-AzRoleDefinition к Where-Object, как показано в этой команде.

$roleassignmentname = (Get-AzRoleDefinition | where-object {$_.name -eq "Security Admin"}).Name

Шаг 3: Определение Роли для Области Назначения

Команда ниже возвращает ResourceID хранилища (область ресурса) и сохраняет его в переменной ResourceID.

Позднее я назначаю пользователю на шаге 1 роль “Администратор безопасности” в этом ресурсе хранилища.

$scoperesourceID = (Get-AzResource | Where-object {$_.name -eq "veeambackup21"}).ResourceID

Шаг 4: Назначение роли Azure

Используя информацию из шагов 1 по 3, выполните команду ниже, чтобы назначить роль пользователю. Перед выполнением команды эта роль не назначена этой учетной записи хранилища, как показано на скриншоте ниже.

Первая команда назначает роль “Администратор безопасности” пользователю, сохраненному в переменной $userid. Аналогично вторая команда назначает ту же роль группе, сохраненной в переменной $groupid.

New-AzRoleAssignment -ObjectId $userid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
New-AzRoleAssignment -ObjectId $groupid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID

После выполнения вышеуказанных команд, обновление учетных записей хранилища отображает роль Администратор безопасности, а также пользователя и группу, назначенные этой роли.

Отображение назначения ролей Azure AD с использованием PowerShell

Ранее я назначил роль “Администратор безопасности” пользователю с UPN [email protected]. Если вы помните, идентификатор пользователя был сохранен в переменной $userid.

Аналогично идентификатор области хранилища был сохранен в переменной $scoperesourceID. Чтобы отобразить назначение роли для пользователя, я выполняю следующую команду.

get-AzRoleAssignment -scope $scoperesourceID -ObjectId $userid

Команда отображает детали назначения роли, включая имя RoleAssignmentName и область.

Вы можете отобразить ту же информацию для группы, выполнив эту команду.

get-AzRoleAssignment -scope $scoperesourceID -ObjectId $groupid

Управление ролями и разрешениями Azure AD с помощью PowerShell: заключение

Управление ролями Azure требует знания модели контроля доступа на основе ролей. Кроме того, понимание элементов назначения ролей Azure – принцип безопасности, определение роли и область применения – необходимо для эффективного управления назначениями ролей с помощью PowerShell. 

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

Пошаговое руководство, предоставленное в этой статье, предлагает четкий план действий при назначении встроенных ролей Azure AD с использованием PowerShell. От определения идентификатора объекта до определения области применения для назначения ролей, каждый этап тщательно описан, облегчая безупречный и контролируемый процесс выделения ролей.

Source:
https://infrasos.com/managing-azure-ad-roles-and-permissions-with-powershell/