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 Privileged Endpoint (PEP). PEP är en förkonfigurerad PowerShell-fjärrkonsol som ger dig 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 cmdletar. För att komma åt 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 tillåts inte skriptning.
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, AD FS-integrering (Active Directory Federation Services), certifikatrotation och så vidare.
- Att arbeta med supportpersonal 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.
Obs
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. Men du kanske vill testa vissa åtgärder med hjälp av PEP, till exempel loggsamling, eftersom det här är den enda tillgängliga metoden för att utföra vissa åtgärder i en integrerad systemmiljö.
Notera
Du kan också använda OAW (Operator Access Workstation) 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 Operator Access Workstation.
Få åtkomst till den privilegierade slutpunkten
Du kommer åt PEP via en powershell-fjärrsession 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, 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-adressen eftersom DNS-integrering inte har konfigurerats ännu. Oem-maskinvaruleverantören tillhandahåller en JSON-fil med namnet AzureStackStampDeploymentInfo som innehåller PEP IP-adresserna.
Du hittar även IP-adressen i Azure Stack Hub-administratörsportalen. Öppna portalen. till exempel https://adminportal.local.azurestack.external
. Välj Regionhantering>Egenskaper.
Du måste ange din aktuella kultur 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å maskinvarulivscykelns värd eller från en dedikerad och säker dator, till exempel en Privileged Access Workstation. Den ursprungliga konfigurationen av värden för maskinvarans livscykel får inte ändras från sin ursprungliga form (det inkluderar att installera ny programvara) eller användas för att ansluta till PEP.
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å maskinvarulivscykelns värd eller arbetsstationen Privilegierad åtkomst:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value '<IP Address of Privileged Endpoint>' -Concatenate
Om du kör ASDK, logga in på utvecklingskitets värd.
Öppna en Windows PowerShell-session på den härdade virtuella datorn som körs på maskinvarulivscykelns värd eller arbetsstationen 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 antingen vara IP-adressen eller DNS-namnet på en av de virtuella datorer som är värd för PEP.Notera
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änen>\cloudadmin.
- Lösenord: Ange samma lösenord som angavs under installationen för domänadministratörskontot för AzureStackAdmin.
Not
Om du inte kan ansluta till ERCS-slutpunkten försöker du igen steg ett och två 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.
Det är mycket rekommenderas att du skapa ytterligare CloudAdmin-kontonför att undvika omdistribution av din stämpel på egen bekostnad. Se till att du dokumenterar dessa autentiseringsuppgifter baserat på företagets riktlinjer.
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 cmdlets i Azure Stack Hub privilegierad endpointreferens
Många av dessa cmdletar är endast avsedda för integrerade systemmiljöer (till exempel cmdletar som rör 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 tabbavslut. Om du provar någon typ av skriptåtgärd misslyckas åtgärden med felet ScriptsNotAllowed. Det här felet är ett 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 flikkomplettering och, mer allmänt, skript. Du kan också köra modulen Get-Help för att granska cmdlet-instruktioner.
Utför följande steg för att importera PEP-sessionen på den lokala datorn:
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å maskinvarulivscykelns värd eller arbetsstationen 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.
Öppna en Windows PowerShell-session på den säkrade virtuella datorn som körs på värd för maskinvarans livscykel eller Privileged Access Workstation. 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 antingen vara IP-adressen eller DNS-namnet på en av de virtuella datorer som är värd för PEP.Om du kör ASDK:t:
$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 att göra det använder du följande autentiseringsuppgifter:
Användarnamn: Ange CloudAdmin-kontot i formatet <Azure Stack Hub-domänen>\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.
Importera PEP-sessionen till din lokala dator:
Import-PSSession $session
Nu kan du använda tab-completion och göra skript som vanligt i din lokala PowerShell-session med alla funktioner och cmdletar i PEP, utan att minska säkerhetsstatusen för Azure Stack Hub. Njut!
Stäng sessionen för privilegierad slutpunkt
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 av slutpunktssessionen:
Skapa en extern filresurs som är tillgänglig för PEP. I en utvecklingspaketmiljö kan du bara skapa en filresurs på development kit-värden.
Kör följande cmdlet:
Close-PrivilegedEndpoint -TranscriptsPathDestination "\\fileshareIP\SharedFolder" -Credential Get-Credential
Cmdleten använder parametrarna i följande tabell:
Parameter Beskrivning Typ Krävs TranscriptsPathDestination Sökväg till den externa filresursen som definierats som "fileshareIP\sharefoldername" Sträng Ja autentiseringsuppgifter Autentiseringsuppgifter för att komma åt fildelningen SecureString Ja
När transkriptloggfilerna har överförts till filresursen tas de automatiskt bort från PEP.
Notis
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 fildelning kommer protokolloggarna från de föregående sessionerna också att överföras. Använd inte Exit-PSSession
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
Under ett supportscenario kan Microsofts supporttekniker behöva höja powershell-sessionen för privilegierad slutpunkt för att få åtkomst till de interna funktionerna i Azure Stack Hub-infrastrukturen. Denna process kallas ibland informellt för "break the glass" eller "unlock the PEP". PEP-sessionshöjningsprocessen är en tvåstegs, tvåpersoners, två organisationers autentiseringsprocess. Upplåsningsproceduren initieras av Azure Stack Hub-operatorn, som alltid behåller kontrollen över sin miljö. Operatorn kommer åt PEP och kör den här cmdleten:
Get-SupportSessionToken
Cmdleten returnerar token för supportsessionsbegäran, en mycket lång alfanumerisk sträng. Operatören skickar sedan begärandetoken till Microsofts supporttekniker via ett valfritt 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-operatorn. På samma PEP PowerShell-session skickar operatorn sedan auktoriseringstoken som indata till den här cmdleten:
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 ge fullständig administratörsfunktioner och fullständig nåbarhet i infrastrukturen.
Notera
Alla åtgärder och cmdletar 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 driftstopp, dataförluster och 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 upphöjd PEP-session har en giltighet på 8 timmar, varefter, om den inte avslutas, kommer den förhöjda PEP-sessionen automatiskt att låsa tillbaka till en vanlig PEP-session.
Innehållet i de privilegierade slutpunktstoken
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. Token ä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. Nedan visas information om innehållet i varje token.
Begäran om token för supportsession
TOKEN för PEP-supportsessionsbegäran består av tre objekt:
- Ett slumpmässigt genererat sessions-ID.
- Ett självsignerat certifikat som genereras för 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.
Begärandetoken krypteras sedan med den offentliga nyckeln i Azure-molnet som Azure Stack Hub-miljön är registrerad i.
Svarstoken för supportsessionens auktoriseringsrespons
SVARstoken för PEP-supportauktorisering består av två objekt:
- Det slumpmässigt genererade sessions-ID som extraherats från begärandetoken.
- En tidsstämpel som anger att svarstoken upphör att gälla.
Svarstoken krypteras sedan med det självsignerade certifikatet som finns i begärandetoken. Det självsignerade certifikatet dekrypterades med den privata nyckel som är associerad med Azure-molnet som Azure Stack Hub-miljön är registrerad i.