Búsqueda de sitios web

Convertir usuarios externos en usuarios internos en Microsoft Entra


Microsoft Entra admite la conversación de usuarios externos en su directorio con usuarios internos mientras mantiene el mismo ID de objeto, permisos y membresías de grupo. Esto elimina la necesidad anterior de eliminar los usuarios externos, volver a crearlos como usuarios internos y volver a configurar permisos y membresías.

En este blog, le mostraré cómo convertir usuarios externos en internos utilizando el portal web y Microsoft Graph PowerShell.

¿Por qué convertir usuarios externos en usuarios internos?

Algunos escenarios comunes para convertir usuarios externos de su directorio en usuarios internos incluyen:

  • Apoyar la adquisición de nuevos negocios, donde se haya preestablecido una relación B2B.
  • Apoyar la contratación interna de los consultores externos existentes.
  • Para respaldar la fusión de dos organizaciones debido a una adquisición o un escenario de división de inquilinos heredado.

Fundamentalmente, no deberías crear usuarios externos intencionalmente en tu directorio para soportar estos escenarios. La conversión a la función de usuario interno reduce el esfuerzo administrativo y técnico para convertir a los usuarios externos existentes, reduciendo así el impacto en el usuario final.

Cómo convertir usuarios externos a internos

Siga los pasos a continuación para convertir un usuario externo (o invitado) en un usuario interno en su directorio mediante el portal web de Microsoft Entra.

1. Inicie sesión en entra.microsoft.com.

2. Expanda Identidad y luego seleccione Todos los usuarios > Todos los usuarios > su usuario externo.

4. En la pestaña Descripción general, seleccione Convertir en usuario interno.

5. Aparecerá una nueva ventana en el lado derecho de la pantalla. Se le pedirá que ingrese el nombre principal del usuario y genere una contraseña.

6. Cuando esté listo, haga clic en Convertir. Luego, sus propiedades de usuario se cambiarán a miembro, lo que indica que el usuario ahora es interno.

Convierta usuarios externos en usuarios internos con PowerShell

El mismo resultado también se puede lograr mediante programación utilizando Microsoft Graph PowerShell. Utilice el siguiente ejemplo de PowerShell para convertir un usuario externo de Entra ID en un usuario interno.

$body = @{
        userPrincipalName = "NEW UPN HERE"
        passwordProfile =  @{
          password = "PASSWORD HERE"
          forceChangePasswordNextSignIn = "false"
        }
}

Invoke-MgGraphRequest -Method POST `
-Uri "Beta/users/ID OF EXTERNAL USER HERE/convertExternalToInternalMemberUser" `
-Body $body `
-ContentType "application/json"

También amplié esto un poco y creé una función útil para convertir fácilmente usuarios externos en usuarios internos.

function Convert-MgExternalUser {

<#
  .AUTHOR
    Daniel Bradley
    ourcloudnetwork.co.uk

  .DESCRIPTION
    Convert external users in Microsoft Entra ID to internal users

  .EXAMPLE
    Convert-MgExternalUser -ExternalUser "externaluser#EXT#@contoso.com" -AccountName "New external user account name" -password "new password" -DefaultDomain
#>


  [CmdletBinding()]
    param(
        [Parameter(mandatory=$true)]
        [string]$ExternalUser,
        [string[]]$AccountName,
        [string[]]$password,
        [string[]]$domain,
        [switch]$DefaultDomain
    )

    #Grab default domain
    If ($DefaultDomain.IsPresent){
        $Domain = ((Invoke-MgGraphRequest -Method GET -Uri "beta/domains" -OutputType PSObject | Select -Expand Value) | Where {$_.isDefault -eq "True"}).id
    }

    #Check the external user and grab ID
    $ExternalUser -match '^.*(?=(\#EXT#))' | Out-Null
    $Normalised = $Matches[0]
    $UserCheck = Invoke-MgGraphRequest -Method GET -Uri "/beta/Users?`$filter=startsWith(UserPrincipalName, '$Normalised') and userType eq 'Guest'" -OutputType PSObject | Select -Expand Value -ErrorAction Stop
    IF ($UserCheck -eq $null){
        Write-Output "Unable to find external user, please try again."
        Return
    }

    #Create request body
    $body = @{
        userPrincipalName = "$AccountName@$Domain"
        passwordProfile =  @{
          password = "$password"
          forceChangePasswordNextSignIn = "false"
        }
    }

    #Convert external user to internal
    Invoke-MgGraphRequest -Method POST -Uri "Beta/users/$($UserCheck.id)/convertExternalToInternalMemberUser" -Body $body -ContentType "application/json"

}

Comprender el impacto de convertir a un usuario

Según las observaciones iniciales, la identificación del objeto sigue siendo la misma y, como tal, las membresías y permisos del grupo también se mantendrán.

Si el usuario externo ha iniciado sesión en la aplicación de escritorio de Teams y ve la organización a la que fue invitado como usuario externo, verá el siguiente error. Para resolver esto, deben cerrar sesión en Teams, salir de Teams, borrar el caché y luego volver a iniciar sesión con sus nuevas credenciales de usuario.

Esta experiencia puede ser diferente para usted ya que la función de conversión a usuario interno está en versión preliminar.

Es posible que tengas la tentación de hacer clic en Iniciar sesión para intentar iniciar sesión nuevamente. Cuando encontré eso, llenó previamente el cuadro de nombre de usuario con el nombre de usuario creado para la conversión de usuario interno, pero el inicio de sesión aún falló.

Para que esto funcionara, tuve que salir de Teams, borrar el caché local de Teams y volver a iniciar sesión. Una vez que volví a iniciar sesión, la membresía de mi grupo siguió siendo la misma y las discusiones que creé dentro de Teams eliminaron el (invitado) texto antepuesto a mi nombre.

Todas las membresías de grupos enumeradas en los portales de Microsoft 365 MyGroups siguieron siendo las mismas que cualquier documento compartido y asignación de permisos directos en SharePoint.

Que buscar

Desafortunadamente, si bien el proceso es simple, no siempre es sencillo. Aquí hay algunas consideraciones que he identificado durante este proceso:

  • Considere el impacto en los grupos dinámicos donde las licencias, aplicaciones o acceso a datos pueden otorgarse inadvertidamente a un usuario recientemente convertido.
  • Considere el impacto de las licencias en la conversión de usuarios comerciales externos en usuarios internos (por ejemplo, el modelo MAU actual para la gobernanza de ID).
  • Para los usuarios convertidos solo en la nube, considere la necesidad de realizar una conexión suave con Active Directory para acceder a los recursos locales.
  • Resumen

    En general, este fue un proceso sencillo y eficiente en el tiempo para incorporar a un usuario externo como usuario interno en su directorio. Sin embargo, estas son algunas consideraciones importantes que se deben tener en cuenta en entornos más grandes y complejos, y ese es el impacto de agregar a su organización un miembro interno que alguna vez fue un usuario externo con un alcance limitado de permisos.

    Artículos relacionados