Dela via


Delade Microsoft Entra-konton i HoloLens

Delade Microsoft Entra-konton (tidigare Azure Active Directory) på HoloLens är vanliga Microsoft Entra användarkonton som kan logga in på HoloLens utan att kräva några autentiseringsuppgifter. Den här konfigurationen är idealisk för scenarier där följande villkor är uppfyllda:

  • Flera personer delar samma uppsättning HoloLens-enheter
  • Åtkomst till Microsoft Entra resurser, till exempel Dynamics 365 Guides-innehåll, krävs
  • Det krävs inte att du spårar vem som har använt enheten.

Viktiga fördelar med att använda delade Microsoft Entra-konton

  • Förenklad distribution. Tidigare konfigurerar du Microsoft Entra konton som delas mellan flera personer som krävs för att konfigurera varje enhet manuellt. Med delade Microsoft Entra konton kan du konfigurera din miljö en gång och automatiskt distribuera till någon av dina enheter som en del av Autopilot.
  • Bra användarupplevelse. Användare av delade Microsoft Entra konton behöver inte ange några autentiseringsuppgifter för att börja använda enheten. Tryck och gå!
  • Åtkomst till Microsoft Entra resurser. Användare av delade Microsoft Entra konton får enkel åtkomst till Microsoft Entra resurser så att du kan starta ett fjärrhjälpsamtal eller öppna en guide utan extra autentisering.

Viktigt

Eftersom delade Microsoft Entra konton kan nås på HoloLens-enheten utan att ange autentiseringsuppgifter bör du skydda dessa HoloLens-enheter fysiskt så att endast behörig personal har åtkomst. Du kanske också vill låsa dessa konton genom att tillämpa principer för villkorlig åtkomst, inaktivera lösenordsåterställning via självbetjäning och konfigurera tilldelade åtkomstprofiler till de enheter där dessa konton används.

Anteckning

Eftersom dessa är delade konton visas inte de användare som använder dessa konton de vanliga första installationsskärmarna för inloggning, inklusive PIN-kod och irisregistreringar, meddelande om biometrisk datainsamling och olika medgivandeskärmar. Du bör se till att lämpliga standardinställningar konfigureras för dessa konton via principen (se Konfigurera användare på HoloLens 2 snabbt) och att användarna är medvetna om dessa standardvärden.

Kända begränsningar för delade Microsoft Entra-konton

  • Delade Microsoft Entra konton kan inte använda PIN-kod eller iris för att logga in i den aktuella versionen, även om de har registrerats.

Konceptuell översikt över delade Microsoft Entra-konton

Den här processen gör att en HoloLens-enhet kan allokeras till ett användarkonto och logga in på användarkontot med autentiseringsuppgifter som är länkade till enheten och enbart enheten. Bilden beskriver processen:

Diagram över delat konto

  1. Intune har en SCEP-konfigurationsprofil för SCEP-tjänsten.
  2. Enheten ansluter till Intune och tar emot profilinformationen.
  3. Enheten kontaktar SCEP-tjänsten och tar emot ett enhetscertifikat med ett UPN på HL-{Serial}@contoso.com.
  4. Enheten loggar in på det korrosponderande användarkontot i Entra ID, med certifikatet som MFA, för att ge en sömlös inloggningsupplevelse.

Certifikatet kan inte tas bort/exporteras från enheten och användarkontot har konfigurerats utan någon annan form av MFA-avaialable. Den här konfigurationen säkerställer att det delade kontot bara kan loggas in av HoloLens-enheten.

Översikt över stegen för att konfigurera delade Microsoft Entra-konton

Delade Microsoft Entra konton på HoloLens implementeras som vanliga Microsoft Entra användarkonton som är konfigurerade för Microsoft Entra certifikatbaserad autentisering (CBA).

På hög nivå omfattar konfigurationen av delade Microsoft Entra konton följande steg:

  1. (Rekommenderas) Konfigurera målenheterna så att de ansluter Microsoft Entra och registrerar sig i Intune med Autopilot.
  2. Konfigurera din Microsoft Entra klientorganisation för att aktivera Microsoft Entra CBA för en utvald grupp med konton.
  3. Konfigurera Microsoft Intune att tillämpa enhetskonfigurationer på en utvald grupp med enheter som:
    1. Distribuera klientcertifikat som används för Microsoft Entra CBA på enheterna via Intunes SCEP-certifikatprofiler.
    2. Distribuera CA-certifikat så att enheterna litar på utfärdaren av klientcertifikaten.
    3. Distribuera konfiguration av delat konto som instruerar enheten vilka certifikat som är giltiga för Microsoft Entra CBA.
  4. Förbereder enskilda enheter för delade Microsoft Entra-konton.

Förutsättningar

Stöd för delade Microsoft Entra-konton är tillgängligt från och med förhandsversionen av Insider för Microsoft HoloLens version 10.0.22621.1217.

Förutom att ha det operativsystem som krävs för att bygga på HoloLens måste du också uppfylla kraven för Microsoft Entra CBA (Så här konfigurerar du Microsoft Entra certifikatbaserad autentisering).

Slutligen behöver du åtkomst till Microsoft Intune för att kunna distribuera enhetskonfigurationer och klientcertifikat. Information om vilken infrastruktur som krävs för att distribuera klientcertifikat via Intune finns i Läs mer om vilka typer av certifikat som stöds av Microsoft Intune. I det här exemplet använder vi SCEP-certifikat.

Anteckning

Det finns flera alternativ för att distribuera SCEP-certifikat, inklusive Microsoft NDES och PKI. För HoloLens kan det vara enklare att använda en Azure-tjänst för att hantera certifikatregistrering. Det finns flera alternativ i (Azure Marketplace, vilket gör att konfigurationerna för HoloLens-delade Microsft Entra-konton kan isoleras från företagets PKI.

De viktigaste kraven för SCEP-tjänsten är:

  1. Tjänsten kan acceptera begäranden om enhetscertifikat från Microsoft Intune.
  2. Tjänsten kan generera certifikat med definierade EKU:n (klientautentisering och smartkortsinloggning).

Vi rekommenderar starkt att du konfigurerar dina enheter för Autopilot. Autopilot förenklar enhetskonfigurationen för slutanvändare.

Konfigurera din Microsoft Entra klientorganisation för att aktivera Microsoft Entra CBA

Din Microsoft Entra klientorganisation måste konfigureras för att aktivera Microsoft Entra CBA för en utvald grupp användare.

  1. Skapa en Microsoft Entra grupp som innehåller de delade Microsoft Entra kontona. Vi använder till exempel namnet "SharedAccounts" för den här gruppen.
  2. Skapa en Microsoft Entra grupp som innehåller de delade HoloLens-enheterna. Vi använder till exempel namnet "SharedDevices" för den här gruppen. Den här gruppen tilldelas enhetsbaserade Intune-konfigurationsprofiler senare.
  3. Aktivera Microsoft Entra certifikatbaserad autentisering (CBA) för gruppen SharedAccounts. En fullständig stegvis guide finns i Så här konfigurerar du Microsoft Entra certifikatbaserad autentisering. Följande övergripande steg krävs för att konfigurera detta:
    1. Lägg till certifikatutfärdarcertifikatet (certifikatutfärdare) i Microsoft Entra. Microsoft Entra ID tillåter klientcertifikat som utfärdats av den här certifikatutfärdare att utföra CBA.
    2. Aktivera CBA för gruppen "SharedAccounts".
    3. Konfigurera CBA så att certifikatet som utfärdats av din certifikatutfärdare använder MFA. Det här steget är att se till att användarna kan komma åt resurser som kräver MFA utan att konfigurera en annan faktor.
    4. Aktivera certifikatbindning via UserPrincipalName.

Intune-konfiguration

Intune måste konfigureras för att distribuera de certifikat som krävs för Microsoft Entra CBA. Intune måste också distribuera en konfiguration för att instruera enheterna vilka certifikat som är giltiga för Microsoft Entra CBA.

Distribution av klientcertifikat via SCEP

Enheterna måste ha rätt klientcertifikat för att utföra Microsoft Entra CBA. Skapa en SCEP-konfiguration och tilldela den till "SharedDevices":

  1. Certifikattyp: Enhet

  2. Lägg till ett alternativt namn på användarens huvudnamn (UPN) ämne (SAN) där värdet är UPN för det delade konto som tilldelats enheten. UPN måste innehålla enhetens serienummer för att associera det med en enhet. Du kan använda Intune-variabeln {{Device_Serial}} för att referera till enhetens serienummer. Ange till exempel ett värde HL-{{Device_Serial}}@contoso.com för om de delade kontona har namnformatet HL-123456789@contoso.com.

  3. Nyckellagringsprovider (KSP): Välj "Kräv TPM, annars misslyckas" för att säkerställa att certifikatet inte kan exporteras från enheten för att användas någon annanstans.

  4. Kontrollera att certifikatet har minst följande utökade nyckelanvändningar (EKU:er):

    • Smartkortsinloggning: 1.3.6.1.4.1.311.20.2.2
    • Klientautentisering: 1.3.6.1.5.5.7.3.2

    Du kan lägga till andra EKU:er i den här listan för att ytterligare begränsa de certifikat som tillåts för Microsoft Entra CBA. Du måste lägga till dessa EKU:er i XML för ConfigureSharedAccount-principen.

Exempel på SCEP-konfiguration

Detaljerade anvisningar om hur du konfigurerar SCEP i Intune finns i Använda SCEP-certifikatprofiler med Microsoft Intune.

Distribution av CA-certifikat

Enheterna måste också lita på den certifikatutfärdare som utfärdade dess klientcertifikat. Skapa en betrodd certifikatkonfiguration och tilldela den till gruppen "SharedDevices". Den här tilldelningen distribuerar certifikatutfärdarcertifikatet till enheterna. Se dokumentationen: Skapa betrodda certifikatprofiler i Microsoft Intune.

KonfigureraSharedAccount-princip

Den här principen talar om för enheterna vilka certifikat som är giltiga för att användas för Microsoft Entra CBA. Skapa en anpassad enhetskonfigurationsprincip och tilldela den till "SharedDevices":

Policy Datatyp
./Vendor/MSFT/Policy/Config/MixedReality/ConfigureSharedAccount Sträng eller sträng (XML-fil)

Exempelkonfiguration:

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

Du kan anpassa begränsningarna för vilka certifikat som visas för Microsoft Entra CBA. Exemplet ovan kräver att utfärdarens tumavtryck för certifikatet matchar det angivna värdet. Det går också att tillämpa begränsningen baserat på utfärdarens namn eller tillämpa fler begränsningar baserat på utökade nyckelanvändningar (EKU:er) på certifikatet. Exempel på hur du konfigurerar XML finns i ConfigureSharedAccount XML Examples (KonfigureraSharedAccount XML-exempel ).

Innan du sparar den här enhetskonfigurationen verifierar du XML-koden mot det schema som anges i ConfigureSharedAccount XML-schema för att säkerställa att den är korrekt utformad.

Konfiguration av enskilda enheter

Utför följande steg för varje HoloLens-enhet som du vill konfigurera för delade Microsoft Entra konton:

  1. Skapa en Microsoft Entra användare i det format som anges i steg 2 i Distribution av klientcertifikat via SCEP. Exempel: HL-123456789@contoso.com.
  2. Lägg till användaren i gruppen "SharedAccounts".
  3. Kontrollera att enheten har lagts till i gruppen "SharedDevices". Du bör konfigurera dina enheter för Autopilot först så att de redan finns i Microsoft Entra.

Se Exempelskript för enhetskonfiguration för ett exempel på ett PowerShell-skript som kan användas för att automatisera den här processen.

Testa konfigurationen

När du har slutfört konfigurationen ovan är du redo att prova delade Microsoft Entra konton på HoloLens!

Om enheten redan har konfigurerats för Autopilot tar du enheten genom det normala Autopilot-flödet. Nödvändiga enhetskonfigurationer tillämpas under Autopilot. När Autopilot-flödet har slutförts visas följande skärm:

Inloggningsskärmen som visar delat konto

Tryck på knappen Logga in för att börja använda det delade Microsoft Entra kontot.

Felsökning

Problem: Det delade Microsoft Entra-kontot visas inte på inloggningsskärmen!

Lösning: Kontrollera först att enheten tar emot rätt certifikat. Öppna certifikathanteraren (Certifikathanteraren) och se till att både klientcertifikatet och CA-certifikaten har distribuerats till enheten.

För klientcertifikatet kontrollerar du att det är installerat i arkivet "Min" på "Lokal dator".

Certifikathanteraren visar certifikatets plats

Om certifikatet inte finns följer du felsökningsstegen för Intune SCEP-profiler.

Om certifikatet finns kontrollerar du att certifikatet är inom giltighetsdatumen har den förväntade utfärdaren och EKU:er:

Certifikathanterare som visar egenskaper för certifikat

Kontrollera sedan att DET XML-principvärde som du har tillämpat på MixedReality/ConfigureSharedAccount är välformat. Du kan använda en av de många XML-schemaverifierarna (XSD) online för att kontrollera att xml-koden överensstämmer med schemat som beskrivs i ConfigureSharedAccount XML-schema.

Problem: Inloggningsförsöket misslyckas!

Lösning: Kontrollera att du har konfigurerat CBA korrekt genom att följa anvisningarna i Konfigurera Microsoft Entra certifikatbaserad autentisering. Läs även vanliga frågor och svar om Microsoft Entra vanliga frågor och svar om certifikatbaserad autentisering (CBA). Ibland kan det vara bra att prova de här felsökningsstegen på en Windows-skrivbordsenhet först: Inloggning med Windows smartkort med Microsoft Entra certifikatbaserad autentisering.

Referenser

Konfigurera XML-schema förSharedAccount

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

Xml-exempel för ConfigureSharedAccount

Kräv att utfärdarcertifikatet har ämnet CN=yourCA, DC=Test:

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

Kräv att utfärdarcertifikatet har ett angivet tumavtryck:

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

Kräv att utfärdarcertifikatet har ett angivet tumavtryck och att klientcertifikatet har EKU:er med OID:erna 1.2.3.4.5.6 och 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>

EKU:er 1.3.6.1.4.1.311.20.2.2 (smartkortsinloggning) och 1.3.6.1.5.5.7.3.2 (klientautentisering) krävs alltid oavsett om de finns med i den här listan.

Exempelskript för enhetskonfiguration

Innan du använder det här skriptet för enhetsinstallation bör du ändra referenser från "contoso" till ditt domännamn.

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