Använda den privilegierade slutpunkten i Azure Stack Hub

Som operatör Azure Stack Hub bör du använda administratörsportalen, PowerShell eller Azure Resource Manager API:er för de flesta dagliga hanteringsuppgifter. För vissa mindre vanliga åtgärder måste du dock använda den privilegierade slutpunkten (PEP). PEP är en förkonfigurerad fjärr-PowerShell-konsol som ger dig precis tillräckligt med funktioner för att hjälpa dig att utföra en nödvändig uppgift. Slutpunkten använder PowerShell JEA (Just Enough Administration) för att endast exponera en begränsad uppsättning cmdlets. För att komma åt PEP och anropa den begränsade uppsättningen cmdlets används ett lågbehörighetskonto. Inga administratörskonton krävs. För ytterligare säkerhet tillåts inte skript.

Du kan använda PEP för att utföra följande uppgifter:

  • Uppgifter på låg nivå, till exempel insamling av diagnostikloggar.
  • Många datacenterintegreringsuppgifter efter distributionen för integrerade system, till exempel att lägga till Domain Name System-vidarebefordrare (DNS) efter distributionen, konfigurera Microsoft Graph-integrering, Active Directory Federation Services (AD FS)-integrering (AD FS), certifikatrotation och så vidare.
  • För att arbeta med stöd för att få tillfällig, högnivååtkomst för djupgående felsökning av ett integrerat system.

PEP loggar alla åtgärder (och motsvarande utdata) som du utför i PowerShell-sessionen. Detta ger fullständig transparens och fullständig granskning av åtgärder. Du kan behålla dessa loggfiler för framtida granskningar.

Anteckning

I Azure Stack Development Kit (ASDK) kan du köra några av kommandona som är tillgängliga i PEP direkt från en PowerShell-session på den development kit värden. Du kanske vill testa vissa åtgärder med PEP, till exempel logginsamling, eftersom det här är den enda tillgängliga metoden för att utföra vissa åtgärder i en integrerad systemmiljö.

Anteckning

Du kan också använda The Operator Access Workstation (OAW) för att få åtkomst till den privilegierade slutpunkten (PEP), administratörsportalen för supportscenarier och Azure Stack Hub GitHub Tools. Mer information finns i Azure Stack Hub Arbetsstation för operatörsåtkomst.

Få åtkomst till den privilegierade slutpunkten

Du kommer åt PEP via en fjärransluten PowerShell-session på den virtuella dator som är värd för PEP. I ASDK heter den här virtuella datorn AzS-ERCS01. Om du använder ett integrerat system finns det tre instanser av PEP, som var och en körs på en virtuell dator (Prefix-ERCS01, Prefix-ERCS02 eller Prefix-ERCS03) på olika värdar för återhämtning.

Innan du påbörjar den här proceduren för ett integrerat system måste du kontrollera att du har åtkomst till PEP antingen via IP-adress eller DNS. Efter den första distributionen av Azure Stack Hub kan du komma åt PEP endast via IP-adress eftersom DNS-integreringen inte har ställts in ännu. Oem-maskinvaruleverantören förser dig med en JSON-fil med namnet AzureStackStampDeploymentInfo som innehåller PEP IP-adresserna.

Du kan också hitta IP-adressen i Azure Stack Hub administratörsportalen. Öppna portalen, till exempel https://adminportal.local.azurestack.external. Välj RegionhanteringEgenskaper>.

Du måste ange din aktuella en-US kulturinställning som när du kör den privilegierade slutpunkten, annars fungerar inte cmdlets som Test-AzureStack eller Get-AzureStackLog fungerar som förväntat.

Anteckning

Av säkerhetsskäl kräver vi att du ansluter till PEP endast från en härdad virtuell dator som körs ovanpå värden för maskinvarulivscykeln, eller från en dedikerad och säker dator, till exempel en arbetsstation för privilegierad åtkomst. Den ursprungliga konfigurationen av värden för maskinvarulivscykeln får inte ändras från den ursprungliga konfigurationen (inklusive installation av ny programvara) eller användas för att ansluta till PEP.

  1. Upprätta förtroendet.

    • I ett integrerat system kör du följande kommando från en upphöjd Windows PowerShell-session för att lägga till PEP som en betrodd värd på den härdade virtuella datorn som körs på maskinvarulivscykelvärden eller arbetsstationen för privilegierad åtkomst.

      Set-Item WSMan:\localhost\Client\TrustedHosts -Value '<IP Address of Privileged Endpoint>' -Concatenate
      
    • Om du kör ASDK loggar du in på den development kit värden.

  2. På den härdade virtuella datorn som körs på värden för maskinvarulivscykeln eller arbetsstationen för privilegierad åtkomst öppnar du Windows PowerShell session. Kör följande kommandon för att upprätta en fjärrsession på den virtuella dator som är värd för PEP:

    • I ett integrerat system:

      $cred = Get-Credential
      
      $pep = New-PSSession -ComputerName <IP_address_of_ERCS> -ConfigurationName PrivilegedEndpoint -Credential $cred -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
      Enter-PSSession $pep
      

      Parametern ComputerName kan vara antingen IP-adressen eller DNS-namnet på en av de virtuella datorer som är värdar för PEP.

      Anteckning

      Azure Stack Hub gör inte ett fjärranrop vid validering av PEP-autentiseringssuppgifter. Den förlitar sig på en lokalt lagrad offentlig RSA-nyckel för att göra det.

    • Om du kör ASDK:

      $cred = Get-Credential
      
      $pep = New-PSSession -ComputerName azs-ercs01 -ConfigurationName PrivilegedEndpoint -Credential $cred -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
      Enter-PSSession $pep
      

    När du uppmanas till det använder du följande autentiseringsuppgifter:

    • Användarnamn: Ange CloudAdmin-kontot i formatet Azure Stack Hub <domain>\cloudadmin. (För ASDK är användarnamnet azurestack\cloudadmin)
    • Lösenord: Ange samma lösenord som angavs under installationen för domänadministratörskontot för AzureStackAdmin.

    Anteckning

    Om du inte kan ansluta till ERCS-slutpunkten försöker du igen med steg ett och två med en annan ERCS VM IP-adress.

    Varning

    Som standard konfigureras Azure Stack Hub stämpeln med endast ett CloudAdmin-konto. Det finns inga återställningsalternativ om kontoautentiseringsuppgifterna förloras, komprometteras eller låses. Du förlorar åtkomsten till den privilegierade slutpunkten och andra resurser.

    Vi rekommenderar starkt att du skapar ytterligare CloudAdmin-konton för att undvika omdistribution av din stämpel på egen kostnad. Se till att du dokumenterar dessa autentiseringsuppgifter baserat på företagets riktlinjer.

  3. När du ansluter ändras prompten till [IP-adress eller NAMN på virtuell ERCS-dator]: PS> eller till [azs-ercs01]: PS>, beroende på miljön. Härifrån kör du för Get-Command att visa listan över tillgängliga cmdlets.

    Du hittar en referens för cmdlet:ar i Azure Stack Hub slutpunktsreferens för privilegierad åtkomst

    Många av dessa cmdlets är endast avsedda för integrerade systemmiljöer (till exempel cmdlets relaterade till datacenterintegrering). I ASDK har följande cmdlets verifierats:

    • Clear-Host
    • Close-PrivilegedEndpoint
    • Exit-PSSession
    • Get-AzureStackLog
    • Get-AzureStackStampInformation
    • Get-Command
    • Get-FormatData
    • Get-Help
    • Get-ThirdPartyNotices
    • Measure-Object
    • New-CloudAdminUser
    • Out-Default
    • Remove-CloudAdminUser
    • Select-Object
    • Set-CloudAdminUserPassword
    • Test-AzureStack
    • Stop-AzureStack
    • Get-ClusterLog

Så här använder du den privilegierade slutpunkten

Som nämnts ovan är PEP en PowerShell JEA-slutpunkt . En JEA-slutpunkt ger ett starkt säkerhetslager men minskar några av de grundläggande PowerShell-funktionerna, till exempel skript eller tab-slutförande. Om du provar någon typ av skriptåtgärd misslyckas åtgärden med felet ScriptsNotAllowed. Det här felet är förväntat beteende.

Om du till exempel vill hämta listan över parametrar för en viss cmdlet kör du följande kommando:

    Get-Command <cmdlet_name> -Syntax

Du kan också använda cmdleten Import-PSSession för att importera alla PEP-cmdlets till den aktuella sessionen på den lokala datorn. Cmdletarna och funktionerna i PEP är nu tillgängliga på din lokala dator, tillsammans med tab-slutförande och, mer allmänt, skript. Du kan också köra modulen Get-Help för att granska cmdlet-instruktioner.

Importera PEP-sessionen på den lokala datorn genom att göra följande:

  1. Upprätta förtroendet.

    • I ett integrerat system kör du följande kommando från en upphöjd Windows PowerShell-session för att lägga till PEP som en betrodd värd på den härdade virtuella datorn som körs på maskinvarulivscykelvärden eller arbetsstationen för privilegierad åtkomst.

      winrm s winrm/config/client '@{TrustedHosts="<IP Address of Privileged Endpoint>"}'
      
    • Om du kör ASDK loggar du in på den development kit värden.

  2. På den härdade virtuella datorn som körs på värden för maskinvarulivscykeln eller arbetsstationen för privilegierad åtkomst öppnar du Windows PowerShell session. Kör följande kommandon för att upprätta en fjärrsession på den virtuella dator som är värd för PEP:

    • I ett integrerat system:

      $cred = Get-Credential
      
      $session = New-PSSession -ComputerName <IP_address_of_ERCS> `
         -ConfigurationName PrivilegedEndpoint -Credential $cred `
         -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
      

      Parametern ComputerName kan vara antingen IP-adressen eller DNS-namnet på en av de virtuella datorer som är värdar för PEP.

    • Om du kör ASDK:

      $cred = Get-Credential
      
      $session = New-PSSession -ComputerName azs-ercs01 `
         -ConfigurationName PrivilegedEndpoint -Credential $cred `
         -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
      

    När du uppmanas till det använder du följande autentiseringsuppgifter:

    • Användarnamn: Ange CloudAdmin-kontot i formatet Azure Stack Hub <domain>\cloudadmin. (För ASDK är användarnamnet azurestack\cloudadmin.)

    • Lösenord: Ange samma lösenord som angavs under installationen för domänadministratörskontot för AzureStackAdmin.

  3. Importera PEP-sessionen till den lokala datorn:

    Import-PSSession $session
    
  4. Nu kan du använda tab-completion och göra skript som vanligt i din lokala PowerShell-session med alla funktioner och cmdlets för PEP, utan att minska säkerhetspositionen för Azure Stack Hub. Ha det så kul!

Stäng sessionen för privilegierad slutpunkt

Som tidigare nämnts loggar PEP varje åtgärd (och motsvarande utdata) som du gör i PowerShell-sessionen. Du måste stänga sessionen med hjälp av Close-PrivilegedEndpoint cmdleten . Den här cmdleten stänger slutpunkten korrekt och överför loggfilerna till en extern filresurs för kvarhållning.

Så här stänger du slutpunktssessionen:

  1. Skapa en extern filresurs som kan nås av PEP. I en development kit miljö kan du bara skapa en filresurs på den development kit värden.

  2. Kör följande cmdlet:

    Close-PrivilegedEndpoint -TranscriptsPathDestination "\\fileshareIP\SharedFolder" -Credential Get-Credential
    

    Cmdleten använder parametrarna i följande tabell:

    Parameter Beskrivning Typ Obligatorisk
    TranscriptsPathDestination Sökvägen till den externa filresursen definierad som "fileshareIP\sharefoldername" Sträng Yes
    Autentiseringsuppgift Autentiseringsuppgifter för åtkomst till filresursen SecureString Yes

När avskriftsloggfilerna har överförts till filresursen tas de bort automatiskt från PEP.

Anteckning

Om du stänger PEP-sessionen med hjälp av cmdletarna Exit-PSSessionExiteller , eller om du stänger PowerShell-konsolen, överförs inte avskriftsloggarna till en filresurs. De finns kvar i PEP. Nästa gång du kör och Close-PrivilegedEndpoint inkluderar en filresurs överförs även avskriftsloggarna från föregående sessioner. Använd inte eller för Exit-PSSession att Exit stänga PEP-sessionen. Använd i Close-PrivilegedEndpoint stället.

Låsa upp den privilegierade slutpunkten för supportscenarier

I ett supportscenario kan Microsofts supporttekniker behöva höja powershell-sessionen för privilegierade slutpunkter för att få åtkomst till Azure Stack Hub infrastruktur. Den här processen kallas ibland "break the glass" eller "unlock the PEP". PEP-sessionens höjningsprocess är ett tvåsteg, två personer, två organisationsautentiseringsprocess. Upplåsningsproceduren initieras av Azure Stack Hub som hela tiden behåller kontrollen över sin miljö. Operatorn använder PEP och kör denna cmdlet:

     Get-SupportSessionToken

Cmdleten returnerar token för begäran om supportsession, en mycket lång alfanumerisk sträng. Operatören skickar sedan begäranstoken till Microsofts supporttekniker via ett medium som de väljer (t.ex. chatt eller e-post). Microsofts supporttekniker använder begärandetoken för att generera, om det är giltigt, en auktoriseringstoken för supportsession och skickar tillbaka den till Azure Stack Hub operatören. I samma PEP PowerShell-session skickar operatorn sedan auktoriseringstoken som indata till denna cmdlet:

      unlock-supportsession
      cmdlet Unlock-SupportSession at command pipeline position 1
      Supply values for the following parameters:
      ResponseToken:

Om auktoriseringstoken är giltig utökas PEP PowerShell-sessionen genom att tillhandahålla fullständiga administratörsfunktioner och fullständig åtkomst till infrastrukturen.

Anteckning

Alla åtgärder och cmdlets som körs i en upphöjd PEP-session måste utföras under strikt övervakning av Microsofts supporttekniker. Om du inte gör det kan det leda till allvarliga avbrott, dataförlust och kräva en fullständig omdistribution av Azure Stack Hub miljön.

När supportsessionen har avslutats är det mycket viktigt att stänga den upphöjda PEP-sessionen med cmdleten Close-PrivilegedEndpoint enligt förklaringen i avsnittet ovan. När PEP-sessionen avslutas är upplåsningstoken inte längre giltig och kan inte återanvändas för att låsa upp PEP-sessionen igen. En upphöjd PEP-session har en giltighet på 8 timmar. Om den inte avslutas låses den upphöjda PEP-sessionen automatiskt tillbaka till en vanlig PEP-session.

Innehåll i token för privilegierade slutpunkter

PEP-stödsessionsbegäran och auktoriseringstoken utnyttjar kryptografi för att skydda åtkomsten och se till att endast auktoriserade token kan låsa upp PEP-sessionen. Token är utformade för att kryptografiskt garantera att en svarstoken endast kan godkännas av PEP-sessionen som genererade begärandetoken. PEP-token innehåller inte någon typ av information som unikt kan identifiera en Azure Stack Hub miljö eller en kund. De är helt anonyma. Under anges information om innehållet i varje token.

Token för begäran om supportsession

TOKEN för PEP-supportsessionsbegäran består av tre objekt:

  • Ett slumpmässigt genererat sessions-ID.
  • Ett själv signerat certifikat som genereras i syfte att ha ett offentligt/privat nyckelpar en gång. Certifikatet innehåller inte någon information om miljön.
  • En tidsstämpel som anger förfallodatum för begärandetoken.

Begärandetoken krypteras sedan med den offentliga nyckeln för Azure-molnet mot vilket Azure Stack Hub-miljön har registrerats.

Stöd för token för sessionsauktoriseringssvar

TOKEN för PEP-stöd för auktoriseringssvar består av två objekt:

  • Det slumpmässigt genererade sessions-ID:t som extraherats från begärandetoken.
  • En tidsstämpel som anger förfallodatum för svarstoken.

Svarstoken krypteras sedan med det själv signerade certifikatet som finns i begärandetoken. Det själv signerade certifikatet dekrypterades med den privata nyckel som är associerad med Azure-molnet mot vilket Azure Stack Hub-miljön har registrerats.

Nästa steg