Account di Microsoft Entra condivisi in HoloLens

Gli account di Microsoft Entra condivisi (in precedenza Azure Active Directory) in HoloLens sono regolari Microsoft Entra account utente che possono accedere a HoloLens senza richiedere credenziali. Questa configurazione è ideale per scenari in cui le condizioni seguenti sono vere:

  • Più persone condividono lo stesso set di dispositivi HoloLens
  • È necessario accedere alle risorse Microsoft Entra, ad esempio Dynamics 365 Guides contenuto,
  • Il rilevamento di chi ha usato il dispositivo non è obbligatorio.

Vantaggi principali dell'uso di account di Microsoft Entra condivisi

  • Distribuzione semplificata. In precedenza, configurare gli account Microsoft Entra condivisi tra più persone necessarie per configurare ogni dispositivo manualmente. Gli account di Microsoft Entra condivisi consentono di configurare l'ambiente una volta e distribuirli automaticamente in uno dei dispositivi come parte di Autopilot.
  • Esperienza utente ottimale. Gli utenti di account di Microsoft Entra condivisi non devono immettere credenziali per iniziare a usare il dispositivo. Tocca e vai!
  • Accesso alle risorse Microsoft Entra. Gli utenti di account di Microsoft Entra condivisi ottengono facilmente l'accesso alle risorse Microsoft Entra in modo che sia possibile avviare una chiamata di Assistenza remota o aprire una Guida senza autenticazione aggiuntiva.

Importante

Poiché gli account di Microsoft Entra condivisi possono essere accessibili nel dispositivo HoloLens senza immettere le credenziali, è necessario proteggere fisicamente questi dispositivi HoloLens in modo che solo il personale autorizzato abbia accesso. È anche possibile bloccare questi account applicando criteri di accesso condizionale, disabilitando la reimpostazione della password self-service e configurando i profili di accesso assegnati ai dispositivi in cui vengono usati questi account.

Nota

Poiché questi sono account condivisi, gli utenti che usano questi account non vengono visualizzati le tipiche schermate di configurazione dell'accesso, inclusi i PIN e le registrazioni iris, le notifiche sulla raccolta dati biometrica e varie schermate di consenso. È necessario assicurarsi che le impostazioni predefinite appropriate siano configurate per questi account tramite criteri (vedere Configurare gli utenti in HoloLens 2 rapidamente) e che gli utenti siano consapevoli di queste impostazioni predefinite.

Limitazioni note degli account di Microsoft Entra condivisi

  • Gli account di Microsoft Entra condivisi non possono usare pin o iris per accedere alla versione corrente, anche se sono stati registrati.

Panoramica concettuale degli account di Microsoft Entra condivisi

Questo processo consente a un dispositivo HoloLens di allocare un account utente e di accedere a tale account utente con credenziali collegate al dispositivo e al dispositivo. L'immagine descrive il processo:

Diagramma account condiviso

  1. Intune ha un profilo di configurazione SCEP per il servizio SCEP.
  2. Il dispositivo partecipa a Intune e riceve le informazioni sul profilo.
  3. Il dispositivo contatta il servizio SCEP e riceve un certificato del dispositivo, con un UPN di HL-{Serial}@contoso.com.
  4. Il dispositivo accede all'account utente corrosponding in Entra ID, usando il certificato come MFA, per offrire un'esperienza di accesso semplice.

Il certificato non può essere rimosso/esportato dal dispositivo e l'account utente è configurato senza altre forme di AFA avaialable. Questa configurazione garantisce che l'account condiviso possa essere connesso solo dal dispositivo HoloLens.

Panoramica dei passaggi per configurare gli account di Microsoft Entra condivisi

Gli account di Microsoft Entra condivisi in HoloLens vengono implementati come normali account utente Microsoft Entra configurati per Microsoft Entra l'autenticazione basata su certificati (CBA).

A livello generale, la configurazione degli account di Microsoft Entra condivisi include i passaggi seguenti:

  1. (Consigliato) Configurare i dispositivi di destinazione per aggiungere Microsoft Entra e registrare in Intune usando Autopilot.
  2. Configurare il tenant Microsoft Entra per abilitare Microsoft Entra CBA per un gruppo di account selezionato.
  3. Configurare Microsoft Intune per applicare le configurazioni del dispositivo a un gruppo di dispositivi selezionato che:
    1. Distribuire i certificati client usati per Microsoft Entra CBA nei dispositivi tramite i profili di certificato SCEP di Intune.
    2. Distribuire il certificato CA in modo che i dispositivi considerano attendibile l'autorità di certificazione dei certificati client.
    3. Distribuire la configurazione dell'account condiviso che indica al dispositivo quali certificati sono validi per Microsoft Entra CBA.
  4. Prepara i singoli dispositivi per gli account di Microsoft Entra condivisi.

Prerequisiti

Il supporto dell'account condiviso Microsoft Entra è disponibile a partire dall'anteprima Insider per Microsoft HoloLens build 10.0.22621.1217.

Oltre a avere la build del sistema operativo necessaria in HoloLens, è necessario soddisfare i prerequisiti per Microsoft Entra CBA (Come configurare l'autenticazione basata su certificati Microsoft Entra).

Infine, è necessario accedere a Microsoft Intune per distribuire configurazioni dei dispositivi e certificati client. Per l'infrastruttura necessaria per distribuire i certificati client tramite Intune, vedere Informazioni sui tipi di certificato supportati da Microsoft Intune. In questo esempio vengono usati certificati SCEP.

Nota

Sono disponibili più opzioni per distribuire certificati SCEP, tra cui Microsoft NDES e PKI. Per HoloLens, può essere più semplice usare un servizio di Azure per gestire la registrazione dei certificati. Sono disponibili più opzioni all'interno di (Azure Marketplace, che consente le configurazioni per gli account Microsft Entra condivisi di HoloLens da isolare dall'infrastruttura PKI aziendale.

I requisiti chiave per il servizio SCEP sono:

  1. Il servizio può accettare richieste di certificato del dispositivo da Microsoft Intune.
  2. Il servizio può generare certificati con l'autenticazione client e l'accesso a Smart Card definiti.

È consigliabile configurare i dispositivi per Autopilot. Autopilot semplifica l'esperienza di configurazione del dispositivo per gli utenti finali.

Configurare il tenant Microsoft Entra per abilitare Microsoft Entra CBA

Il tenant Microsoft Entra deve essere configurato per abilitare Microsoft Entra CBA per un gruppo di utenti selezionato.

  1. Creare un gruppo di Microsoft Entra contenente gli account di Microsoft Entra condivisi. Ad esempio, viene usato il nome "SharedAccounts" per questo gruppo.
  2. Creare un gruppo di Microsoft Entra contenente i dispositivi HoloLens condivisi. Ad esempio, viene usato il nome "SharedDevices" per questo gruppo. Questo gruppo viene assegnato ai profili di configurazione di Intune basati su dispositivo in un secondo momento.
  3. Abilitare Microsoft Entra autenticazione basata su certificati (CBA) per il gruppo SharedAccounts. Per una guida dettagliata completa, vedere Come configurare l'autenticazione basata su certificati Microsoft Entra. Per configurare questa procedura sono necessari i passaggi di alto livello seguenti:
    1. Aggiungere il certificato CA (Autorità di certificazione) a Microsoft Entra. Microsoft Entra ID consente ai certificati client rilasciati da questa CA di eseguire CBA.
    2. Abilitare CBA per il gruppo "SharedAccounts".
    3. Configurare CBA in modo che il certificato emesso dalla CA usi MFA. Questo passaggio consiste nel garantire che gli utenti possano accedere alle risorse che richiedono MFA senza configurare un altro fattore.
    4. Abilitare l'associazione di certificati tramite UserPrincipalName.

Configurazione di Intune

Intune deve essere configurato per distribuire i certificati necessari per Microsoft Entra CBA. Intune deve inoltre distribuire una configurazione per indicare ai dispositivi i certificati validi per Microsoft Entra CBA.

Distribuzione di certificati client tramite SCEP

I dispositivi devono disporre del certificato client appropriato per eseguire Microsoft Entra CBA. Creare una configurazione SCEP e assegnarla a "SharedDevices":

  1. Tipo di certificato: Dispositivo

  2. Aggiungere un nome alternativo dell'entità utente (UPN) in cui il valore è l'UPN dell'account condiviso assegnato al dispositivo. L'UPN deve contenere il numero di serie del dispositivo per associarlo a un dispositivo. È possibile usare la variabile di Intune {{Device_Serial}} per fare riferimento al numero di serie del dispositivo. Ad esempio, immettere un valore di HL-{{Device_Serial}}@contoso.com se gli account condivisi hanno un formato nome di HL-123456789@contoso.com.

  3. Provider di archiviazione delle chiavi (KSP): selezionare "Richiedi TPM, altrimenti non riesce" per assicurarsi che il certificato non possa essere esportato dal dispositivo da usare altrove.

  4. Assicurarsi che il certificato disponga almeno delle seguenti operazioni di utilizzo delle chiavi estese (EKUS):

    • Accesso smartcard: 1.3.6.1.4.1.311.20.2.2.2
    • Autenticazione client: 1.3.6.1.5.5.7.3.2

    È possibile aggiungere altre EKU a questo elenco per limitare ulteriormente i certificati consentiti per Microsoft Entra CBA. È necessario aggiungere queste EKU al criterio XML per ConfigureSharedAccount.

Configurazione SCEP di esempio

Per informazioni dettagliate sulla configurazione di SCEP in Intune, vedere Usare i profili certificato SCEP con Microsoft Intune.

Distribuzione di certificati CA

I dispositivi devono considerare attendibile anche l'autorità di certificazione che ha rilasciato il certificato client. Creare una configurazione del certificato attendibile e assegnarla al gruppo "SharedDevices". Questa assegnazione distribuisce il certificato CA nei dispositivi. Vedere la documentazione: Creare profili certificato attendibili in Microsoft Intune.

Criterio ConfigureSharedAccount

Questo criterio indica ai dispositivi i certificati validi da usare per Microsoft Entra CBA. Creare un criterio di configurazione del dispositivo personalizzato e assegnarlo a "SharedDevices":

Criteri Tipo di dati
./Vendor/MSFT/Policy/Config/MixedReality/ConfigureSharedAccount Stringa o stringa (file XML)

Configurazione di esempio:

<SharedAccountConfiguration>
    <SharedAccount>
        <!--
          TODO: Replace the example value below with your issuer certificate's thumbprint.
          You may customize the restrictions for which certificates are displayed. See below.
        -->
        <IssuerThumbprint>77de0879f69314d867bd08fcf2e8e6616548b3c8</IssuerThumbprint>
    </SharedAccount>
</SharedAccountConfiguration>

È possibile personalizzare le restrizioni per cui vengono visualizzati i certificati per Microsoft Entra CBA. L'esempio precedente richiede che l'identificazione personale del certificato dell'autorità emittente corrisponda al valore fornito. È anche possibile applicare la restrizione in base al nome dell'autorità emittente o applicare più restrizioni in base all'utilizzo di chiavi estese (EKU) nel certificato. Per esempi su come configurare il codice XML, vedere Esempi XML ConfigureSharedAccount .

Prima di salvare la configurazione del dispositivo, convalidare il codice XML in base allo schema specificato in ConfigureSharedAccount XML Schema per assicurarsi che sia ben formato.

Configurazione dei singoli dispositivi

Per ogni dispositivo HoloLens che si vuole configurare per gli account di Microsoft Entra condivisi, seguire questa procedura:

  1. Creare un utente Microsoft Entra nel formato specificato nel passaggio 2 della distribuzione del certificato client tramite SCEP. Ad esempio: HL-123456789@contoso.com.
  2. Aggiungere l'utente al gruppo "SharedAccounts".
  3. Verificare che il dispositivo venga aggiunto al gruppo "SharedDevices". È prima necessario configurare i dispositivi per Autopilot in modo che siano già presenti in Microsoft Entra.

Vedere Script di configurazione del dispositivo di esempio per un esempio di script di PowerShell che può essere usato per automatizzare questo processo.

Test della configurazione

Dopo aver completato la configurazione precedente, è possibile provare gli account di Microsoft Entra condivisi in HoloLens.

Se il dispositivo è già configurato per Autopilot, eseguire il dispositivo tramite il normale flusso di Autopilot. Le configurazioni del dispositivo necessarie vengono applicate durante Autopilot. Al termine del flusso di Autopilot, viene visualizzata la schermata seguente:

Schermata di accesso che mostra l'account condiviso

Toccare il pulsante "Accedi" per iniziare a usare l'account di Microsoft Entra condiviso.

Risoluzione dei problemi

Problema: l'account di Microsoft Entra condiviso non viene visualizzato nella schermata di accesso.

Soluzione: Verificare innanzitutto che il dispositivo riceva i certificati corretti. Aprire gestione certificati (Gestione certificati) e assicurarsi che sia il certificato client che i certificati DELLA CA vengano distribuiti correttamente nel dispositivo.

Per il certificato client, assicurarsi che sia installato nell'archivio "My" in "Local Machine".

Gestore certificati che mostra il percorso del certificato

Se il certificato non è presente, seguire la procedura di risoluzione dei problemi per i profili SCEP di Intune.

Se il certificato è presente, assicurarsi che il certificato si trova entro le date di validità abbia l'autorità di certificazione prevista e le EKU:

Gestione certificati che mostra le proprietà del certificato

Assicurarsi quindi che il valore dei criteri XML applicato a MixedReality/ConfigureSharedAccount sia ben formato. È possibile usare uno dei numerosi validator di XML Schema (XSD) online per verificare che il codice XML sia conforme allo schema descritto in ConfigureSharedAccount XML Schema.

Problema: il tentativo di accesso non riesce.

Soluzione: Verificare di aver configurato correttamente il CBA seguendo le istruzioni riportate in Come configurare Microsoft Entra'autenticazione basata su certificato. Vedere anche le domande frequenti su Microsoft Entra domande frequenti sull'autenticazione basata su certificati (CBA). A volte può essere utile provare prima di tutto questi passaggi di debug in un dispositivo desktop Windows: l'accesso con smart card Windows usando Microsoft Entra'autenticazione basata su certificati.

Riferimenti

ConfigureSharedAccount XML Schema

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="SharedAccountConfiguration">
    <xsd:complexType mixed="true">
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" name="SharedAccount">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:choice>
                <xsd:element name="IssuerThumbprint">
                  <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                      <xsd:maxLength value="40" />
                    </xsd:restriction>
                  </xsd:simpleType>
                </xsd:element>
                <xsd:element name="IssuerName">
                  <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                      <xsd:maxLength value="512" />
                    </xsd:restriction>
                  </xsd:simpleType>
                </xsd:element>
              </xsd:choice>
              <xsd:element minOccurs="0" maxOccurs="1" name="EkuOidRequirements">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element maxOccurs="5" name="Oid">
                      <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                          <xsd:maxLength value="100" />
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

Esempi XML ConfigureSharedAccount

Richiedere che il certificato dell'autorità emittente abbia un oggetto CN=yourCA, DC=Test:

<SharedAccountConfiguration>
    <SharedAccount>
        <IssuerName>CN=yourCA, DC=Test</IssuerName>
    </SharedAccount>
</SharedAccountConfiguration>

Richiedere che il certificato dell'autorità di certificazione abbia un'identificazione personale specificata:

<SharedAccountConfiguration>
    <SharedAccount>
        <IssuerThumbprint>77de0879f69314d867bd08fcf2e8e6616548b3c8</IssuerThumbprint>
    </SharedAccount>
</SharedAccountConfiguration>

Richiedere che il certificato dell'autorità di certificazione abbia un'identificazione personale specificata e che il certificato client abbia EKU con OID 1.2.3.4.5.6 e 1.2.3.4.5.7:

<SharedAccountConfiguration>
    <SharedAccount>
        <IssuerThumbprint>77de0879f69314d867bd08fcf2e8e6616548b3c8</IssuerThumbprint>
        <EkuOidRequirements>
            <Oid>1.2.3.4.5.6</Oid>
            <Oid>1.2.3.4.5.7</Oid>
        </EkuOidRequirements>
    </SharedAccount>
</SharedAccountConfiguration>

Le EKU 1.3.6.1.4.1.311.20.2.2 (accesso con smart card) e 1.3.6.1.5.5.7.3.2 (autenticazione client) sono sempre necessarie indipendentemente dal fatto che si trovino in questo elenco.

Script di configurazione del dispositivo di esempio

Prima di usare questo script di configurazione del dispositivo di esempio, è necessario modificare i riferimenti da "contoso" al nome di dominio.

<#
.Synopsis
Configures a device for shared account

.Description
This script configures a device for shared account.

Note that you'll need to have the necessary permissions in your tenant to manage
user and device memberships and query Intune devices.

.Example
.\ConfigureSharedDevice.ps1 400064793157
#>


param (
    [Parameter(Mandatory = $true)]
    [string]
    # Serial number of the device. Typically a 12-digit numeric string.
    $DeviceSerialNumber,
    [string]
    # Group ID of the group that contains the shared accounts such as HL-123456789@contoso.com
    $SharedAccountGroupId,
    [string]
    # Group ID of the group that contains the shared devices
    $SharedDeviceGroupId
)

function Install-Dependencies {
    Write-Host -Foreground Cyan "Installing Dependencies..."

    if (!(Get-InstalledModule Microsoft.Graph -ErrorAction SilentlyContinue)) {
        Write-Host -Foreground Cyan "Installing Microsoft.Graph"
        Install-Module Microsoft.Graph -Scope CurrentUser -Repository 'PSGallery'
    }

    Write-Host -Foreground Cyan "Installing Dependencies... Done"
}

function New-PasswordString {
    $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-=+[]{}|;:,.<>/?'
    $length = 40
    $password = ""
    for ($i = 0; $i -lt $length; $i++) {
        $password += $alphabet[(Get-Random -Minimum 0 -Maximum $alphabet.Length)]
    }

    return $password
}

function New-SharedUser {
    param (
        $UserName,
        $DisplayName
    )

    # Does user already exist?
    $searchResult = Get-MgUser -Count 1 -ConsistencyLevel eventual -Search "`"UserPrincipalName:$UserName`""

    if ($searchResult.Count -gt 0) {
        Write-Host -Foreground Cyan "$UserName exists, using existing user."
        return $searchResult
    }

    $mailNickName = $UserName.Split('@')[0];

    Write-Host -Foreground Cyan "Creating $UserName"

    $passwordProfile = @{
        Password = New-PasswordString
    }

    return New-MgUser -AccountEnabled -DisplayName $DisplayName -Country US -UsageLocation US -MailNickname $mailNickName -UserPrincipalName $UserName -PasswordProfile $passwordProfile
}

function New-SharedUserForDevice {
    param (
        $DeviceSerialNumber
    )

    $userName = "HL-$DeviceSerialNumber@contoso.onmicrosoft.com"
    $displayName = "Shared HoloLens"

    return New-SharedUser -UserName $userName -DisplayName $displayName
}

function Add-UserToGroup {
    param (
        $UserId,
        $GroupId
    )

    $groupResult = Get-MgGroup -GroupId $GroupId
    if ($groupResult.Count -eq 0) {
        throw "Failed to find user group"
    }

    Write-Host -Foreground Cyan "Adding user ($UserId) to group"
    New-MgGroupMember -GroupId $GroupId -DirectoryObjectId $UserId
}

function Get-DeviceAADId {
    param (
        $DeviceSerialNumber
    )

    $deviceResult = Get-MgDeviceManagementManagedDevice | Where-Object { $_.SerialNumber -eq $DeviceSerialNumber }

    if ($deviceResult.Count -eq 0) {
        throw "Cannot find device with serial number $DeviceSerialNumber in Intune"
    }

    $result = ($deviceResult | Select-Object -First 1).AzureAdDeviceId

    Write-Host "Found device: $result"

    return $result
}

function Add-DeviceToGroup {
    param (
        $DeviceAADId,
        $GroupId
    )

    $groupResult = Get-MgGroup -GroupId $GroupId
    if ($groupResult.Count -eq 0) {
        throw "Failed to find device group"
    }

    $deviceResult = Get-MgDevice -Count 1 -ConsistencyLevel eventual -Search "`"DeviceId:$DeviceAADId`""
    if ($deviceResult.Count -eq 0) {
        throw "Failed to find device $DeviceAADId"
    }

    Write-Host -Foreground Cyan "Adding device $($deviceResult.Id) to group"
    
    New-MgGroupMember -GroupId $GroupId -DirectoryObjectId $deviceResult.Id
}

function Register-SharedDevice {
    param (
        $DeviceSerialNumber
    )

    Install-Dependencies

    Connect-MgGraph -Scopes "User.ReadWrite.All", "Group.Read.All", "GroupMember.ReadWrite.All", "DeviceManagementManagedDevices.Read.All", "Device.ReadWrite.All"

    $deviceAADId = Get-DeviceAADId $DeviceSerialNumber
    Add-DeviceToGroup $deviceAADId $SharedDeviceGroupId

    $user = New-SharedUserForDevice $DeviceSerialNumber
    Add-UserToGroup $user.Id $SharedAccountGroupId
}

Register-SharedDevice $DeviceSerialNumber