Руководство. Назначение роли читателя каталогов группе Microsoft Entra и управление назначениями ролей

Применимо к:База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

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

Примечание.

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

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

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

Примечание.

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

Необходимые компоненты

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

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

  1. Для этой первоначальной настройки пользователю требуются разрешения Глобальный администратор или Администратор привилегированных ролей.

  2. Привилегированный пользователь должен войти на портал Azure.

  3. Перейдите к ресурсу идентификатора Microsoft Entra ID . В разделе Управляемые перейдите в раздел Группы. Чтобы создать группу, выберите Создать группу.

  4. Выберите Безопасность в качестве типа группы и заполните остальные поля. Убедитесь, что для группы можно назначить параметры ролей Microsoft Entra. Затем назначьте роль читателя каталога идентификаторов Microsoft Entra группе.

  5. Назначьте пользователям Microsoft Entra в качестве владельцев группу, которая была создана. Владелец группы может быть обычным пользователем AD без назначенной административной роли Microsoft Entra. Владельцем должен быть пользователь, управляющий Базой данных SQL, Управляемым экземпляром SQL или Azure Synapse.

    Microsoft Entra ID-new-group

  6. Нажмите кнопку Создать

Проверка созданной группы

Примечание.

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

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

Screenshot of a Group pane with the links that open the Settings menus for Members, Owners, and Assigned roles highlighted.

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

Примечание.

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

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

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

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

    Screenshot of the SQL managed instances screen with the SQL instance name ssomitest and the Subnet name ManagedInstance highlighted.

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

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

    Screenshot of the Enterprise applications page for a Microsoft Entra ID resource with the Object ID of the SQL Managed instance highlighted.

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

    Screenshot of the Members page for a Microsoft Entra resource with the options highlighted for adding an SQL Managed instance as a new member.

Примечание.

Распространение разрешений субъекта-службы через систему Azure и предоставление доступа к API Microsoft Graph может занять несколько минут. Возможно, вам придется подождать несколько минут, прежде чем подготовить администратора Microsoft Entra для Управляемый экземпляр SQL.

Замечания

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

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

Назначение роли читателей каталогов удостоверению сервера не требуется для База данных SQL или Azure Synapse при настройке администратора Microsoft Entra для логического сервера. Однако для включения создания объекта Microsoft Entra в База данных SQL или Azure Synapse от имени приложения Microsoft Entra требуется роль читателей каталогов. Если роль не назначена логическому удостоверению сервера, создание пользователей Microsoft Entra в SQL Azure завершится ошибкой. Дополнительные сведения см. в статье Microsoft Entra Service Principal with 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 -DirectoryObjectId $newGroupOwner.Id
    

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

    Get-MgGroupOwner -GroupId $group.Id
    

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

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

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

  1. Используя владельца группы, которая также управляет ресурсом SQL Azure, выполните следующую команду, чтобы подключиться к идентификатору 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)'"
    

Следующие шаги