Comptes Microsoft Entra partagés dans HoloLens

Les comptes de Microsoft Entra partagés (anciennement Azure Active Directory) sur HoloLens sont des comptes d’utilisateur Microsoft Entra réguliers qui peuvent se connecter à HoloLens sans nécessiter d’informations d’identification. Cette configuration est idéale pour les scénarios où les conditions suivantes sont remplies :

  • Plusieurs personnes partagent le même ensemble d’appareils HoloLens
  • L’accès aux ressources Microsoft Entra, telles que le contenu Dynamics 365 Guides, est requis
  • Il n’est pas nécessaire de suivre qui a utilisé l’appareil.

Principaux avantages de l’utilisation de comptes de Microsoft Entra partagés

  • Déploiement simplifié. Auparavant, la configuration de comptes Microsoft Entra partagés entre plusieurs personnes nécessitait la configuration manuelle de chaque appareil. Les comptes de Microsoft Entra partagés vous permettent de configurer votre environnement une seule fois et de le déployer automatiquement sur l’un de vos appareils dans le cadre d’Autopilot.
  • Excellente expérience utilisateur. Les utilisateurs de comptes Microsoft Entra partagés n’ont pas besoin d’entrer d’informations d’identification pour commencer à utiliser l’appareil. Appuyez et allez !
  • Accès aux ressources Microsoft Entra. Les utilisateurs de comptes de Microsoft Entra partagés ont un accès facile aux ressources Microsoft Entra, ce qui vous permet de démarrer un appel d’assistance à distance ou d’ouvrir un guide sans authentification supplémentaire.

Important

Étant donné que les comptes de Microsoft Entra partagés sont accessibles sur l’appareil HoloLens sans entrer d’informations d’identification, vous devez sécuriser physiquement ces appareils HoloLens afin que seul le personnel autorisé ait accès. Vous pouvez également verrouiller ces comptes en appliquant des stratégies d’accès conditionnel, en désactivant la réinitialisation de mot de passe en libre-service et en configurant des profils d’accès attribués aux appareils sur lesquels ces comptes sont utilisés.

Notes

Étant donné qu’il s’agit de comptes partagés, les utilisateurs qui utilisent ces comptes ne voient pas les écrans classiques de configuration de la première connexion, y compris les inscriptions au code confidentiel et iris, les avis de collecte de données biométriques et les différents écrans de consentement. Vous devez vous assurer que les valeurs par défaut appropriées sont configurées pour ces comptes via une stratégie (voir Configurer rapidement des utilisateurs sur HoloLens 2) et que vos utilisateurs connaissent ces valeurs par défaut.

Limitations connues des comptes de Microsoft Entra partagés

  • Les comptes de Microsoft Entra partagés ne peuvent pas utiliser le code confidentiel ou iris pour se connecter à la version actuelle, même s’ils ont été inscrits.

Vue d’ensemble conceptuelle des comptes de Microsoft Entra partagés

Ce processus permet à un appareil HoloLens de se faire attribuer un compte d’utilisateur et de se connecter à ce compte d’utilisateur avec des informations d’identification liées à l’appareil et à l’appareil seul. L’image décrit le processus :

Diagramme de compte partagé

  1. Intune dispose d’un profil de configuration SCEP pour le service SCEP.
  2. L’appareil rejoint Intune et reçoit les informations de profil.
  3. L’appareil contacte le service SCEP et reçoit un certificat d’appareil, avec un UPN de HL-{Serial}@contoso.com.
  4. L’appareil se connecte au compte d’utilisateur corrosponding dans l’ID Entra, en utilisant le certificat en tant qu’authentification multifacteur, pour fournir une expérience d’authentification transparente.

Le certificat ne peut pas être supprimé/exporté de l’appareil, et le compte d’utilisateur n’est configuré sans aucune autre forme d’authentification multifacteur. Cette configuration garantit que le compte partagé ne peut être connecté que par l’appareil HoloLens.

Vue d’ensemble des étapes de configuration des comptes de Microsoft Entra partagés

Les comptes de Microsoft Entra partagés sur HoloLens sont implémentés en tant que comptes d’utilisateur Microsoft Entra standard configurés pour l’authentification basée sur Microsoft Entra certificat (CBA).

À un niveau élevé, la configuration des comptes de Microsoft Entra partagés comprend les étapes suivantes :

  1. (Recommandé) Configurez vos appareils cibles pour qu’ils rejoignent Microsoft Entra et s’inscrivent à Intune à l’aide d’Autopilot.
  2. Configurez votre locataire Microsoft Entra pour activer Microsoft Entra CBA pour un groupe de comptes sélectionné.
  3. Configurez Microsoft Intune pour appliquer des configurations d’appareils à un groupe sélectionné d’appareils qui :
    1. Déployez les certificats clients utilisés pour Microsoft Entra CBA sur les appareils via les profils de certificat SCEP d’Intune.
    2. Déployez un certificat d’autorité de certification afin que les appareils approuvent l’émetteur des certificats clients.
    3. Déployez la configuration du compte partagé en indiquant à l’appareil quels certificats sont valides pour Microsoft Entra CBA.
  4. Prépare des appareils individuels pour les comptes de Microsoft Entra partagés.

Prérequis

La prise en charge des comptes Microsoft Entra partagés est disponible à partir de la préversion Insider pour Microsoft HoloLens build 10.0.22621.1217.

En plus d’avoir le système d’exploitation requis sur votre HoloLens, vous devez également remplir les conditions préalables pour Microsoft Entra CBA (Comment configurer Microsoft Entra l’authentification basée sur les certificats).

Enfin, vous devez accéder à Microsoft Intune afin de déployer des configurations d’appareil et des certificats clients. Pour connaître l’infrastructure requise pour déployer des certificats clients via Intune, consultez En savoir plus sur les types de certificats pris en charge par Microsoft Intune. Dans cet exemple, nous utilisons des certificats SCEP.

Notes

Plusieurs options sont disponibles pour déployer des certificats SCEP, notamment Microsoft NDES et PKI. Pour HoloLens, il peut être plus simple d’utiliser un service Azure pour gérer l’inscription des certificats. Plusieurs options sont disponibles dans (Place de marché Azure, ce qui permet d’isoler les configurations des comptes HoloLens Microsft Entra partagés de votre infrastructure à clé publique d’entreprise.

Les principales exigences pour le service SCEP sont les suivantes :

  1. Le service peut accepter les demandes de certificat d’appareil provenant de Microsoft Intune.
  2. Le service peut générer des certificats avec des références EKU définies (Authentification client et Ouverture de session par carte à puce).

Il est vivement recommandé de configurer vos appareils pour Autopilot. Autopilot simplifie l’expérience de configuration de l’appareil pour les utilisateurs finaux.

Configurer votre locataire Microsoft Entra pour activer Microsoft Entra CBA

Votre locataire Microsoft Entra doit être configuré pour activer Microsoft Entra CBA pour un groupe d’utilisateurs sélectionné.

  1. Créez un groupe Microsoft Entra qui contient les comptes Microsoft Entra partagés. Par exemple, nous utilisons le nom « SharedAccounts » pour ce groupe.
  2. Créez un groupe Microsoft Entra qui contient les appareils HoloLens partagés. Par exemple, nous utilisons le nom « SharedDevices » pour ce groupe. Ce groupe se voit attribuer ultérieurement des profils de configuration Intune basés sur l’appareil.
  3. Activez Microsoft Entra l’authentification basée sur les certificats (CBA) pour le groupe SharedAccounts. Pour obtenir un guide pas à pas complet, consultez Comment configurer Microsoft Entra l’authentification basée sur les certificats. Les étapes générales suivantes sont nécessaires pour configurer ce paramètre :
    1. Ajoutez votre certificat d’autorité de certification (autorité de certification) à Microsoft Entra. Microsoft Entra ID permet aux certificats clients émis par cette autorité de certification d’effectuer l’authentification CBA.
    2. Activez l’authentification CBA pour le groupe « SharedAccounts ».
    3. Configurez l’authentification CBA de sorte que le certificat émis par votre autorité de certification utilise l’authentification multifacteur. Cette étape permet de s’assurer que les utilisateurs peuvent accéder aux ressources qui nécessitent l’authentification multifacteur sans configurer un autre facteur.
    4. Activez la liaison de certificat via UserPrincipalName.

Configuration Intune

Intune doit être configuré pour déployer les certificats nécessaires pour Microsoft Entra L’authentification CBA. Intune doit également déployer une configuration pour indiquer aux appareils quels certificats sont valides pour Microsoft Entra CBA.

Déploiement de certificat client via SCEP

Les appareils doivent avoir le certificat client approprié pour effectuer Microsoft Entra L’authentification CBA. Créez une configuration SCEP et affectez-la à « SharedDevices » :

  1. Type de certificat : Appareil

  2. Ajoutez un nom d’utilisateur principal (UPN) Autre nom d’objet (SAN) où la valeur est l’UPN du compte partagé affecté à l’appareil. L’UPN doit contenir le numéro de série de l’appareil pour l’associer à un appareil. Vous pouvez utiliser la variable Intune {{Device_Serial}} pour faire référence au numéro de série de l’appareil. Par exemple, entrez la valeur HL-{{Device_Serial}}@contoso.com si les comptes partagés ont un format de nom .HL-123456789@contoso.com

  3. Fournisseur de stockage de clés (KSP) : sélectionnez « Exiger le module TPM, sinon échoue » pour vous assurer que le certificat ne peut pas être exporté à partir de l’appareil pour être utilisé ailleurs.

  4. Vérifiez que le certificat a au moins les utilisations de clés étendues (EKU) suivantes :

    • Connexion par carte à puce : 1.3.6.1.4.1.311.20.2.2
    • Authentification du client : 1.3.6.1.5.5.7.3.2

    Vous pouvez ajouter d’autres EKU à cette liste pour restreindre davantage les certificats autorisés pour Microsoft Entra CBA. Vous devez ajouter ces EKU au xml pour la stratégie ConfigureSharedAccount.

Exemple de configuration SCEP

Pour obtenir des instructions détaillées sur la configuration de SCEP dans Intune, consultez Utiliser des profils de certificat SCEP avec Microsoft Intune.

Déploiement de certificats d’autorité de certification

Les appareils doivent également approuver l’autorité de certification qui a émis son certificat client. Créez une configuration de certificat approuvé et affectez-la au groupe « SharedDevices ». Cette affectation déploie votre certificat d’autorité de certification sur les appareils. Consultez la documentation : Créer des profils de certificat approuvés dans Microsoft Intune.

Configurer la stratégie SharedAccount

Cette stratégie indique aux appareils quels certificats sont valides à utiliser pour Microsoft Entra DBA. Créez une stratégie de configuration d’appareil personnalisée et affectez-la à « SharedDevices » :

Stratégie Type de données
./Vendor/MSFT/Policy/Config/MixedReality/ConfigureSharedAccount String ou String (fichier XML)

Exemple de configuration :

<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>

Vous pouvez personnaliser les restrictions pour lesquelles les certificats sont affichés pour Microsoft Entra DBA. L’exemple ci-dessus exige que l’empreinte du certificat de l’émetteur corresponde à la valeur fournie. Il est également possible d’appliquer la restriction en fonction du nom de l’émetteur ou d’appliquer d’autres restrictions basées sur les utilisations de clés étendues (EKU) sur le certificat. Consultez ConfigurerSharedAccount XML Examples pour obtenir des exemples sur la configuration du XML.

Avant d’enregistrer cette configuration d’appareil, validez le code XML par rapport au schéma spécifié dans ConfigureSharedAccount XML Schema pour vous assurer qu’il est bien formé.

Configuration d’appareil individuel

Pour chaque appareil HoloLens que vous souhaitez configurer pour les comptes Microsoft Entra partagés, effectuez les étapes suivantes :

  1. Créez un utilisateur Microsoft Entra au format spécifié à l’étape 2 du déploiement de certificats client via SCEP. Par exemple : HL-123456789@contoso.com.
  2. Ajoutez cet utilisateur au groupe « SharedAccounts ».
  3. Vérifiez que l’appareil est ajouté au groupe « SharedDevices ». Vous devez d’abord configurer vos appareils pour Autopilot afin qu’ils soient déjà présents dans Microsoft Entra.

Consultez Exemple de script de configuration d’appareil pour obtenir un exemple de script PowerShell qui peut être utilisé pour automatiser ce processus.

Test de votre configuration

Une fois que vous avez terminé la configuration ci-dessus, vous êtes prêt à essayer des comptes Microsoft Entra partagés sur HoloLens !

Si votre appareil est déjà configuré pour Autopilot, prenez l’appareil via son flux Autopilot normal. Les configurations d’appareil nécessaires sont appliquées pendant Autopilot. Une fois le flux Autopilot terminé, l’écran suivant s’affiche :

Écran de connexion montrant le compte partagé

Appuyez sur le bouton « Se connecter » pour commencer à utiliser le compte Microsoft Entra partagé.

Dépannage

Problème : le compte Microsoft Entra partagé ne s’affiche pas sur l’écran de connexion !

Solution: Tout d’abord, case activée que l’appareil reçoit les certificats appropriés. Ouvrez le gestionnaire de certificats (Gestionnaire de certificats) et assurez-vous que le certificat client et les certificats d’autorité de certification sont correctement déployés sur l’appareil.

Pour le certificat client, vérifiez qu’il est installé dans le magasin « Mon » sur « Ordinateur local ».

Gestionnaire de certificats affichant l’emplacement du certificat

Si le certificat n’est pas présent, suivez les étapes de résolution des problèmes pour les profils SCEP Intune.

Si le certificat est présent, vérifiez que le certificat se trouve dans les dates de validité avec l’émetteur attendu et les EKU :

Gestionnaire de certificats affichant les propriétés du certificat

Vérifiez ensuite que la valeur de stratégie XML que vous avez appliquée à MixedReality/ConfigureSharedAccount est bien formée. Vous pouvez utiliser l’un des nombreux validateurs de schéma XML (XSD) en ligne pour case activée que votre XML est conforme au schéma décrit dans ConfigureSharedAccount XML Schema.

Problème : la tentative de connexion échoue !

Solution: Vérifiez que vous avez correctement configuré l’authentification CBA en suivant les instructions de configuration de Microsoft Entra l’authentification basée sur les certificats. En outre, case activée le FAQ sur Microsoft Entra faq sur l’authentification basée sur les certificats (CBA). Il peut parfois être utile d’essayer d’abord ces étapes de débogage sur un appareil de bureau Windows : windows smart carte se connecter à l’aide de Microsoft Entra authentification basée sur un certificat.

Références

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>

Exemples XML ConfigureSharedAccount

Exigez que le certificat émetteur ait un objet CN=yourCA, DC=Test :

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

Exiger que le certificat émetteur ait une empreinte numérique spécifiée :

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

Exigez que le certificat émetteur ait une empreinte numérique spécifiée et que le certificat client possède des EKU avec les OID 1.2.3.4.5.6 et 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>

Les EKUs 1.3.6.1.4.1.311.20.2.2 (ouverture de session par carte à puce) et 1.3.6.1.5.5.7.3.2 (Authentification client) sont toujours nécessaires, qu’ils figurent dans cette liste ou non.

Exemple de script de configuration d’appareil

Avant d’utiliser cet exemple de script de configuration d’appareil, vous devez remplacer les références de « contoso » par votre nom de domaine.

<#
.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