Använda den privilegierade slutpunkten i Azure Stack Hub

Som Azure Stack Hub-operatör bör du använda administratörsportalen, PowerShell eller Azure Resource Manager API:er för de flesta dagliga hanteringsuppgifter. Men för vissa mindre vanliga åtgärder måste du använda den privilegierade slutpunkten (PEP). PEP är en förkonfigurerad powershell-fjärrkonsol som ger dig precis tillräckligt med funktioner som hjälper dig att utföra en obligatorisk uppgift. Slutpunkten använder PowerShell JEA (Just Enough Administration) för att endast exponera en begränsad uppsättning cmdletar. För att få åtkomst till PEP och anropa den begränsade uppsättningen cmdletar används ett lågprivilegierat konto. Inga administratörskonton krävs. För ytterligare säkerhet är skript inte tillåtet.

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 DNS-vidarebefordrare (Domain Name System) efter distributionen, konfigurera Microsoft Graph-integrering, Active Directory Federation Services (AD FS)-integrering (AD FS), certifikatrotation och så vidare.
  • Att arbeta med support för att få tillfällig åtkomst på hög nivå för djupgående felsökning av ett integrerat system.

PEP loggar varje åtgärd (och dess 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 de kommandon som är tillgängliga i PEP direkt från en PowerShell-session på development kit-värden. Du kanske dock 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 OAW (Operator Access Workstation) för att komma åt den privilegierade slutpunkten (PEP), administratörsportalen för supportscenarier och Azure Stack Hub GitHub Tools. Mer information finns i Åtkomst till arbetsstation för Azure Stack Hub-operatör.

Få åtkomst till den privilegierade slutpunkten

Du kommer åt PEP via en fjärransluten PowerShell-session på den virtuella datorn (VM) 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 i 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 kontrollerar du att du kan komma åt PEP antingen via IP-adress eller via DNS. Efter den första distributionen av Azure Stack Hub kan du bara komma åt PEP via IP-adress eftersom DNS-integrering inte har konfigurerats ännu. Oem-maskinvaruleverantören ger dig 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 Egenskaper för regionhantering>.

Du behöver ange den aktuella kulturinställningen till en-US när du kör den privilegierade slutpunkten, annars fungerar inte cmdletar som Test-AzureStack eller Get-AzureStackLog 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å maskinvarulivscykelvärden eller från en dedikerad och säker dator, till exempel en arbetsstation för privilegierad åtkomst. Den ursprungliga konfigurationen av maskinvarulivscykelvärden 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:t loggar du in på development kit-värden.

  2. Öppna en Windows PowerShell session på den härdade virtuella datorn som körs på maskinvarulivscykelvärden eller arbetsstationen För privilegierad åtkomst. Kör följande kommandon för att upprätta en fjärrsession på den virtuella datorn 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 inget fjärranrop när PEP-autentiseringsuppgifterna verifieras. 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 att göra det använder du följande autentiseringsuppgifter:

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

    Anteckning

    Om du inte kan ansluta till ERCS-slutpunkten försöker du utföra steg ett och två igen med en annan IP-adress för den virtuella ERCS-datorn.

    Varning

    Som standard konfigureras din Azure Stack Hub-stämpel med endast ett CloudAdmin-konto. Det finns inga återställningsalternativ om kontoautentiseringsuppgifterna går förlorade, 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 bekostnad. Se till att du dokumenterar dessa autentiseringsuppgifter baserat på företagets riktlinjer.

  3. När du har anslutit ändras uppmaningen till [IP-adress eller NAMNET på den virtuella ERCS-datorn]: PS> eller till [azs-ercs01]: PS>, beroende på miljön. Härifrån kör du Get-Command för att visa listan över tillgängliga cmdletar.

    Du hittar en referens för cmdletar i i azure stack hub privileged endpoint reference

    Många av dessa cmdletar är endast avsedda för integrerade systemmiljöer (till exempel cmdletar relaterade till datacenterintegrering). I ASDK har följande cmdletar 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 tabbslut. 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-cmdletar 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 get-help-modulen för att granska cmdlet-instruktioner.

Utför följande steg för att importera PEP-sessionen på den lokala datorn:

  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:t loggar du in på development kit-värden.

  2. Öppna en Windows PowerShell session på den härdade virtuella datorn som körs på maskinvarulivscykelvärden eller arbetsstationen För privilegierad åtkomst. Kör följande kommandon för att upprätta en fjärrsession på den virtuella datorn 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)
      

    Använd följande autentiseringsuppgifter när du uppmanas till det:

    • 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 av domänadministratörskontot för AzureStackAdmin.

  3. Importera PEP-sessionen till din lokala dator:

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

Stäng den privilegierade slutpunktssessionen

Som tidigare nämnts loggar PEP varje åtgärd (och dess motsvarande utdata) som du gör i PowerShell-sessionen. Du måste stänga sessionen med hjälp av cmdleten Close-PrivilegedEndpoint . 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 är tillgänglig för PEP. I en development kit-miljö kan du bara skapa en filresurs på 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äg till den externa filresursen som definierats som "fileshareIP\sharefoldername" Sträng Yes
    Autentiseringsuppgift Autentiseringsuppgifter för att komma åt filresursen SecureString Yes

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

Anteckning

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

Låsa upp den privilegierade slutpunkten för supportscenarier

I ett supportscenario kan Microsofts supporttekniker behöva höja powershell-sessionen med privilegierad slutpunkt för att få åtkomst till det interna i Azure Stack Hub-infrastrukturen. Denna process kallas ibland informellt för "krossa glaset" eller "låsa upp PEP". PEP-sessionshöjningsprocessen är ett två steg, två personer, två organisationsautentiseringsprocesser. Upplåsningsproceduren initieras av Azure Stack Hub-operatören, som alltid behåller kontrollen över sin miljö. Operatorn ansluter till PEP och kör den här cmdleten:

     Get-SupportSessionToken

Cmdleten returnerar token för begäran om supportsession, en mycket lång alfanumerisk sträng. Operatören skickar sedan begärandetoken till Microsofts supporttekniker via val av medium (t.ex. chatt, e-post). Microsofts supporttekniker använder begärandetoken för att generera, om den är giltig, en auktoriseringstoken för supportsessionen 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 nåbarhet i infrastrukturen.

Anteckning

Alla åtgärder och cmdletar som körs i en upphöjd PEP-session måste utföras under strikt överinseende av Microsofts supporttekniker. Om du inte gör det kan det leda till allvarliga avbrott, dataförlust och kan 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 förhöjda PEP-sessionen med hjälp av cmdleten Close-PrivilegedEndpoint enligt beskrivningen 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 förhöjd PEP-session har en giltighet på 8 timmar, varefter, om den inte avslutas, kommer den upphöjda PEP-sessionen automatiskt att låsas tillbaka till en vanlig PEP-session.

Innehållet i token för privilegierade slutpunkter

PEP-supportsessionens begäran och auktoriseringstoken utnyttjar kryptografi för att skydda åtkomsten och se till att endast auktoriserade token kan låsa upp PEP-sessionen. Tokens är utformade för att kryptografiskt garantera att en svarstoken endast kan accepteras av PEP-sessionen som genererade begärandetoken. PEP-token innehåller ingen typ av information som unikt kan identifiera en Azure Stack Hub-miljö eller en kund. De är helt anonyma. Under informationen om innehållet i varje token finns.

Token för begäran om supportsession

PEP-supportbegärandetoken består av tre objekt:

  • Ett slumpmässigt genererat sessions-ID.
  • Ett självsignerat certifikat som genereras i syfte att ha ett engångspar för offentlig/privat nyckel. Certifikatet innehåller ingen information om miljön.
  • En tidsstämpel som anger förfallodatum för begärandetoken.

Token för begäran krypteras sedan med den offentliga nyckeln för Det Azure-moln som Azure Stack Hub-miljön är registrerad i.

Svarstoken för supportsessionsauktorisering

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

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

Svarstoken krypteras sedan med det självsignerade certifikatet som finns i begärandetoken. Det självsignerade certifikatet dekrypterades med den privata nyckeln som är associerad med Azure-molnet som Azure Stack Hub-miljön är registrerad i.

Nästa steg