Share via


Tutorial: Asignación del rol Lectores de directorio a un grupo de Microsoft Entra y administración de las asignaciones de roles

Se aplica a:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Este artículo le guía en la creación de un grupo en Microsoft Entra ID (anteriormente Azure Active Directory), y en la asignación a ese grupo del rol Lectores de directorio. Los permisos de Lectores de directorio permiten a los propietarios del grupo agregar miembros adicionales al mismo, como una identidad administrada de Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics. De esta forma, se evita la necesidad de que un administrador global o un administrador de roles con privilegios asignen el rol Lectores de directorio directamente para cada identidad de servidor lógico en el inquilino.

Nota:

Microsoft Entra ID era conocido anteriormente como Azure Active Directory (Azure AD).

En este tutorial se usa la característica que se presentó en Uso de grupos de Microsoft Entra para administrar asignaciones de roles.

Para obtener más información sobre las ventajas de asignar el rol Lectores de directorio a un grupo de Microsoft Entra para Azure SQL, consulte Rol Lectores de directorio en Microsoft Entra ID para Azure SQL.

Nota:

Con la compatibilidad de Microsoft Graph para Azure SQL, el rol Lectores de directorios se puede reemplazar con el uso de permisos de nivel inferior. Para más información, vea Identidad administrada asignada por el usuario en Microsoft Entra ID para Azure SQL.

Requisitos previos

Asignación del rol Lectores de directorio mediante Azure Portal

Creación de un nuevo grupo y asignación de propietarios y roles

  1. Para esta configuración inicial, se requiere un usuario con los permisos Administrador global o Administrador de roles con privilegios.

  2. Haga que el usuario con privilegios inicie sesión en Azure Portal.

  3. Vaya al recurso Microsoft Entra ID. En Administrado, vaya a Grupos. Seleccione Nuevo grupo para crear un grupo.

  4. Seleccione Seguridad como el tipo de grupo y rellene el resto de los campos. Asegúrese de que el valor de Los roles de Microsoft Entra se pueden asignar a un grupo se haya cambiado a . A continuación, asigne el rol Lectores de directorio de Microsoft Entra ID al grupo.

  5. Asigne usuarios de Microsoft Entra como propietarios al grupo que se creó. El propietario de un grupo puede ser un usuario de AD normal sin ningún rol administrativo de Microsoft Entra asignado. El propietario debe ser un usuario que administre SQL Database, SQL Managed Instance o Azure Synapse.

    Microsoft Entra ID-new-group

  6. Seleccione Crear

Comprobación del grupo que se creó

Nota:

Asegúrese de que el valor de Tipo de grupo es Seguridad. Los grupos de Microsoft 365 no se admiten para Azure SQL.

Para comprobar y administrar el grupo que se creó, vuelva al panel Grupos en Azure Portal y busque el nombre del grupo. Se pueden agregar más propietarios y miembros en el menú Propietarios y Miembros de la opción Administrar después de seleccionar el grupo. También puede revisar los roles asignados para el grupo.

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

Adición de la identidad administrada de Azure SQL al grupo

Nota:

En este ejemplo, vamos a usar SQL Managed Instance, pero se pueden aplicar pasos similares para SQL Database o Azure Synapse y lograr los mismos resultados.

En los pasos siguientes, ya no es necesario el usuario administrador global o administrador de roles con privilegios.

  1. Inicie sesión en Azure Portal como el usuario que administra SQL Managed Instance y es propietario del grupo creado anteriormente.

  2. Busque el nombre del recurso SQL Managed Instance en Azure Portal.

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

    Durante el aprovisionamiento de SQL Managed Instance, se crea una identidad de Microsoft Entra para su instancia y se registra como una aplicación de Microsoft Entra. La identidad creada tiene el mismo nombre que el prefijo del nombre de SQL Managed Instance. Para encontrar la identidad (también conocida como entidad de servicio) de SQL Managed Instance, siga estos pasos:

    • Vaya al recurso Microsoft Entra ID. En la opción Administrar, seleccione Aplicaciones empresariales. El identificador de objeto es la identidad de la instancia.

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

  3. Vaya al recurso Microsoft Entra ID. En Administrado, vaya a Grupos. Seleccione el grupo que creó. En la opción Administrada del grupo, seleccione Miembros. Seleccione Agregar miembros y agregue la entidad de servicio de SQL Managed Instance como miembro del grupo. Para ello, busque el nombre que se encuentra arriba.

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

Nota:

Puede tardar unos minutos en propagar los permisos de la entidad de servicio mediante el sistema de Azure y permitir el acceso a Microsoft Graph API. Es posible que tenga que esperar unos minutos antes de aprovisionar un administrador de Microsoft Entra para SQL Managed Instance.

Comentarios

Para SQL Database y Azure Synapse, la identidad del servidor se puede crear durante la creación del servidor lógico o después. Para más información sobre cómo crear o establecer la identidad del servidor en SQL Database o Azure Synapse, consulte Habilitación de entidades de servicio para crear usuarios de Microsoft Entra.

En el caso de SQL Managed Instance, el rol Lectores de directorio debe estar asignado a la identidad de la instancia administrada si desea configurar un administrador de Microsoft Entra para la instancia administrada.

No es necesario asignar el rol Lectores de directorio a la identidad del servidor para SQL Database o Azure Synapse al configurar un administrador de Microsoft Entra para el servidor lógico. Sin embargo, para habilitar la creación de un objeto de Microsoft Entra en SQL Database o Azure Synapse en nombre de una aplicación de Microsoft Entra, se requiere el rol Lectores de directorio. Si el rol no se asigna a la identidad del servidor lógico, se producirá un error al crear los usuarios de Microsoft Entra en Azure SQL. Para obtener más información, consulte Entidad de servicio de Microsoft Entra con Azure SQL.

Asignación del rol Lectores de directorio mediante PowerShell

Importante

Estos pasos iniciales tiene que ejecutarlos administrador global o un Administrador de roles con privilegios. Además de PowerShell, Microsoft Entra ID ofrece Microsoft Graph API para crear un grupo al que se puedan asignar roles en Microsoft Entra ID.

  1. Descargue el módulo de PowerShell de Microsoft Graph con los siguientes comandos. Tiene que ejecutar PowerShell como administrador.

    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. Conéctese al inquilino de Microsoft Entra.

    Connect-MgGraph
    
  3. Cree un grupo de seguridad para asignar el rol Lectores de directorio.

    • DirectoryReaderGroup, Directory Reader Group y DirRead se pueden cambiar en función de sus preferencias.
    $group = New-MgGroup -DisplayName "DirectoryReaderGroup" -Description "Directory Reader Group" -SecurityEnabled:$true -IsAssignableToRole:$true -MailEnabled:$false -MailNickname "DirRead"
    $group
    
  4. Asigne el rol Lectores de directorio al grupo.

    # 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. Asigne propietarios al grupo.

    • Reemplace <username> por el usuario que desee que posea este grupo. Se pueden agregar varios propietarios si repite estos pasos.
    $newGroupOwner = Get-MgUser -UserId "<username>"
    $newGroupOwner
    
    $GrOwner = New-MgGroupOwnerByRef -GroupId $group.Id -DirectoryObjectId $newGroupOwner.Id
    

    Compruebe los propietarios del grupo:

    Get-MgGroupOwner -GroupId $group.Id
    

    También puede comprobar los propietarios del grupo en Azure Portal. Siga los pasos descritos en Comprobación del grupo que se creó.

Asignación de la entidad de servicio como miembro del grupo

En los pasos siguientes, ya no es necesario el usuario administrador global o administrador de roles con privilegios.

  1. Mediante un propietario del grupo, que también administra el recurso de Azure SQL, ejecute el siguiente comando para conectarse a Microsoft Entra ID.

    Connect-MgGraph
    
  2. Asigne la entidad de servicio como miembro del grupo que se creó.

    # 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
    

    El siguiente comando devolverá el identificador de objeto de la entidad de servicio que indica que se ha agregado al grupo:

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

Pasos siguientes