Поделиться через


Учебное пособие: Назначение роли Читателей каталога группе Microsoft Entra и управление назначениями ролей

Область применения:База данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse Analytics

В этой статье описывается создание группы в идентификаторе Microsoft Entra (ранее Azure Active Directory) и назначении этой группы роли "Читатели каталогов ". Разрешения "Читатели каталогов" позволяют владельцам групп добавлять в них дополнительных членов, таких как управляемые удостоверения, база данных SQL Azure, управляемый экземпляр SQL Azure и Azure Synapse Analytics. Это устраняет необходимость, чтобы администратор привилегированных ролей назначал роль Читатели каталога напрямую для каждого идентификатора логического сервера в арендаторе.

Примечание.

Microsoft Entra ID ранее был известен как Azure Active Directory (Azure AD).

В этом руководстве используется функция, представленная в разделе "Использование групп Microsoft Entra" для управления назначениями ролей.

Дополнительные сведения о преимуществах назначения роли "Читатели каталогов" группе Microsoft Entra для Azure SQL см. в разделе "Роль читателей каталогов в Microsoft Entra ID для Azure SQL".

Примечание.

Благодаря поддержке Microsoft Graph для Azure SQL роль "Читатели каталогов" можно заменить на использование разрешений более низкого уровня. Дополнительную информацию см. в разделе Управляемые идентичности в Microsoft Entra для Azure SQL.

Предварительные условия

Назначение роли "Читатели каталогов" с помощью портала Azure

Создание новой группы и назначение владельцев и роли

  1. Для этой начальной настройки требуется пользователь с разрешениями администратора привилегированных ролей .
  2. Привилегированный пользователь должен войти на портал Azure.
  3. Перейдите к ресурсу Microsoft Entra ID. В разделе "Управление" перейдите в раздел "Группы". Чтобы создать группу, выберите Создать группу.
  4. Выберите Безопасность в качестве типа группы и заполните остальные поля. Убедитесь, что параметр Возможность назначения ролей Microsoft Entra группе установлен в значение Да. Затем назначьте группе роль Читатели каталога Microsoft Entra.
  5. Назначьте пользователей Microsoft Entra владельцем созданной группе. Владелец группы может быть обычным пользователем AD без назначенной административной роли Microsoft Entra. Владельцем должен быть пользователь, управляющий Базой данных SQL, Управляемым экземпляром SQL или Azure Synapse.
  6. Нажмите кнопку Создать

Проверьте созданную группу

Примечание.

Убедитесь, что для параметра Тип группы указано Безопасность. Группы Microsoft 365 не поддерживаются для SQL Azure.

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

Снимок экрана: панель

Добавьте управляемую идентичность SQL Azure в группу

Примечание.

В этом примере мы используем Управляемый экземпляр SQL, но аналогичные действия можно применить и к Базе данных SQL или Azure Synapse, получив те же результаты.

Для следующих шагов администратор привилегированных ролей больше не требуется.

  1. Войдите на портал Azure как пользователь, управляющий управляемым экземпляром SQL и владелец ранее созданной группы.

  2. Войдите в портал Azure и найдите имя вашего ресурса управляемого экземпляра SQL.

    Снимок экрана: экран управляемых экземпляров SQL с именем экземпляра SQL ssomitest и выделенным именем подсети ManagedInstance.

    Во время подготовки экземпляра SQL Managed Instance создается идентификатор Microsoft Entra, регистрирующий его в качестве приложения Microsoft Entra. Удостоверение имеет такое же имя, как и префикс вашего имени для Управляемого экземпляра SQL. Вы можете найти удостоверение (также известное как учетная запись службы) для вашего управляемого экземпляра SQL, выполнив следующие действия:

    • Перейдите к ресурсу Microsoft Entra ID. В разделе параметра Управление выберите Корпоративные приложения. Идентификатор объекта — это идентификатор экземпляра.

    Скриншот страницы корпоративных приложений для ресурса Microsoft Entra ID с выделенным идентификатором объекта управляемого экземпляра SQL.

  3. Перейдите к ресурсу Microsoft Entra ID. В разделе "Управление" перейдите в раздел "Группы". Выберите созданную группу. В разделе "Управление " группы выберите "Участники". Выберите Добавить участников и добавьте учетную запись службы для Управляемого экземпляра SQL в качестве члена группы, выполнив поиск по имени, указанному выше.

Примечание.

Для распространения разрешений для служебного принципала через систему Azure может потребоваться несколько минут, прежде чем будет предоставлен доступ к Microsoft Graph. Перед подготовкой администратора Microsoft Entra для Управляемого экземпляра SQL может потребоваться ждать несколько минут.

Замечания

Для SQL Database и Azure Synapse удостоверение сервера можно создать во время создания логического сервера или после создания сервера. Дополнительные сведения о создании или настройке удостоверения сервера в базе данных SQL или Azure Synapse см. в статье Включение учетных записей служб для создания пользователей Microsoft Entra.

Для Управляемый экземпляр SQL роль читателя каталогов должна быть назначена управляемому удостоверению экземпляра, прежде чем настроить администратора Microsoft Entra для управляемого экземпляра.

Назначение роли читатель каталогов удостоверению сервера не требуется для базы данных SQL или Azure Synapse при настройке администратора Microsoft Entra для логического сервера. Однако для разрешения создания объектов Microsoft Entra в SQL Database или Azure Synapse от имени приложения Microsoft Entra требуется роль Пользователи, читающие каталоги (или более низкие разрешения, рассмотренные в управляемых идентификациях в Microsoft Entra для Azure SQL). Если роль не назначена идентификатору логического сервера, создание пользователей Microsoft Entra в SQL Azure завершится ошибкой. Для получения дополнительной информации см. Microsoft Entra: принципы служб в Azure SQL.

Назначение роли "Читатели каталогов" с помощью PowerShell

Внимание

Администратору привилегированных ролей нужно будет выполнить эти начальные шаги. Помимо PowerShell, идентификатор Microsoft Entra предлагает API Microsoft Graph для создания группы с возможностью назначения ролей в идентификаторе Microsoft Entra.

  1. Скачайте модуль Microsoft Graph PowerShell с помощью следующих команд. Возможно, вам потребуется запустить PowerShell от имени администратора.

    Install-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Authentication
    # To verify that the module is ready to use, run the following command:
    Get-Module Microsoft.Graph.Authentication
    
  2. Подключитесь к клиенту Microsoft Entra.

    Connect-MgGraph
    
  3. Создайте группу безопасности, чтобы назначить роль Читатели каталогов.

    • DirectoryReaderGroup, Directory Reader Group и DirRead можно изменить в соответствии с вашими предпочтениями.
    $group = New-MgGroup -DisplayName "DirectoryReaderGroup" -Description "Directory Reader Group" -SecurityEnabled:$true -IsAssignableToRole:$true -MailEnabled:$false -MailNickname "DirRead"
    $group
    
  4. Назначьте группе роль Читатели каталогов.

    # Displays the Directory Readers role information
    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Directory Readers'"
    $roleDefinition
    
    # Assigns the Directory Readers role to the group
    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId '/' -RoleDefinitionId $roleDefinition.Id -PrincipalId $group.Id
    $roleAssignment
    
  5. Назначьте группе владельцев.

    • Замените <username> именем пользователя, которого вы хотите назначить владельцем этой группы. Чтобы добавить несколько владельцев, повторите эти действия.
    $newGroupOwner = Get-MgUser -UserId "<username>"
    $newGroupOwner
    
    $GrOwner = New-MgGroupOwnerByRef -GroupId $group.Id -OdataId "https://graph.microsoft.com/v1.0/users/$($newGroupOwner.Id)" 
    

    Проверьте владельцев группы:

    Get-MgGroupOwner -GroupId $group.Id
    

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

Назначение субъекта-службы в качестве члена группы

Для следующих шагов администратор привилегированных ролей больше не требуется.

  1. Используя владельца группы, который также управляет ресурсом Azure SQL, выполните следующую команду для подключения к вашему идентификатору Microsoft Entra.

    Connect-MgGraph
    
  2. Назначьте служебный принципал в качестве члена созданной группы.

    # Returns the service principal of your Azure SQL resource
    $managedIdentity = Get-MgServicePrincipal -Filter "displayName eq '<ServerName>'"
    $managedIdentity
    
    # Adds the service principal to the group
    New-MgGroupMember -GroupId $group.Id -DirectoryObjectId $managedIdentity.Id
    

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

    Get-MgGroupMember -GroupId $group.Id -Filter "Id eq '$($managedIdentity.Id)'"