Het bevoegde eindpunt gebruiken in Azure Stack Hub

Als Azure Stack Hub-operator moet u de beheerdersportal, PowerShell of Azure Resource Manager API's gebruiken voor de meeste dagelijkse beheertaken. Voor sommige minder algemene bewerkingen moet u echter het bevoegde eindpunt (PEP) gebruiken. De PEP is een vooraf geconfigureerde externe PowerShell-console die u precies voldoende mogelijkheden biedt om u te helpen een vereiste taak uit te voeren. Het eindpunt maakt gebruik van PowerShell JEA (Just Enough Administration) om alleen een beperkte set cmdlets beschikbaar te maken. Voor toegang tot het PEP en het aanroepen van de beperkte set cmdlets wordt een account met beperkte bevoegdheden gebruikt. Er zijn geen beheerdersaccounts vereist. Voor extra beveiliging is scripting niet toegestaan.

U kunt het PEP gebruiken om deze taken uit te voeren:

  • Taken op laag niveau, zoals het verzamelen van diagnostische logboeken.
  • Veel datacentrumintegratietaken na de implementatie voor geïntegreerde systemen, zoals het toevoegen van DNS-doorstuurservers (Domain Name System) na de implementatie, het instellen van Microsoft Graph-integratie, Active Directory Federation Services (AD FS), certificaatrotatie, enzovoort.
  • Om te werken met ondersteuning om tijdelijke toegang op hoog niveau te verkrijgen voor diepgaande probleemoplossing van een geïntegreerd systeem.

Het PEP registreert elke actie (en de bijbehorende uitvoer) die u uitvoert in de PowerShell-sessie. Dit biedt volledige transparantie en volledige controle van bewerkingen. U kunt deze logboekbestanden bewaren voor toekomstige controles.

Notitie

In de Azure Stack Development Kit (ASDK) kunt u enkele van de opdrachten die beschikbaar zijn in het PEP rechtstreeks uitvoeren vanuit een PowerShell-sessie op de host van de development kit. U kunt echter bepaalde bewerkingen testen met behulp van het PEP, zoals logboekverzameling, omdat dit de enige methode is die beschikbaar is om bepaalde bewerkingen uit te voeren in een omgeving met geïntegreerde systemen.

Notitie

U kunt ook het Operator Access Workstation (OAW) gebruiken voor toegang tot het bevoegde eindpunt (PEP), de beheerdersportal voor ondersteuningsscenario's en Azure Stack Hub GitHub Tools. Zie Azure Stack Hub Operator Access Workstation voor meer informatie.

Toegang tot het bevoegde eindpunt

U opent het PEP via een externe PowerShell-sessie op de virtuele machine (VM) die als host fungeert voor het PEP. In de ASDK heeft deze VM de naam AzS-ERCS01. Als u een geïntegreerd systeem gebruikt, zijn er drie exemplaren van het PEP, die elk worden uitgevoerd in een VM (Prefix-ERCS01, Prefix-ERCS02 of Prefix-ERCS03) op verschillende hosts voor tolerantie.

Voordat u met deze procedure voor een geïntegreerd systeem begint, moet u ervoor zorgen dat u toegang hebt tot het PEP via het IP-adres of via DNS. Na de eerste implementatie van Azure Stack Hub hebt u alleen toegang tot het PEP per IP-adres omdat DNS-integratie nog niet is ingesteld. Uw OEM-hardwareleverancier verstrekt u een JSON-bestand met de naam AzureStackStampDeploymentInfo dat de PEP IP-adressen bevat.

U kunt het IP-adres ook vinden in de Azure Stack Hub-beheerdersportal. Open de portal, bijvoorbeeld https://adminportal.local.azurestack.external. Selecteer Eigenschappen van regiobeheer>.

U moet uw huidige cultuurinstelling en-US instellen op bij het uitvoeren van het bevoegde eindpunt, anders werken cmdlets zoals Test-AzureStack of Get-AzureStackLog niet zoals verwacht.

Notitie

Om veiligheidsredenen vereisen we dat u alleen verbinding maakt met het PEP vanaf een beveiligde VM die wordt uitgevoerd op de host van de hardwarelevenscyclus, of vanaf een toegewezen en veilige computer, zoals een Privileged Access Workstation. De oorspronkelijke configuratie van de host voor de hardwarelevenscyclus mag niet worden gewijzigd ten opzichte van de oorspronkelijke configuratie (inclusief het installeren van nieuwe software) of worden gebruikt om verbinding te maken met het PEP.

  1. Stel de vertrouwensrelatie in.

    • Voer op een geïntegreerd systeem de volgende opdracht uit vanuit een sessie met verhoogde Windows PowerShell om het PEP toe te voegen als een vertrouwde host op de beveiligde VM die wordt uitgevoerd op de hardwarelevenscyclushost of het Privileged Access Workstation.

      Set-Item WSMan:\localhost\Client\TrustedHosts -Value '<IP Address of Privileged Endpoint>' -Concatenate
      
    • Als u de ASDK uitvoert, meldt u zich aan bij de host van de development kit.

  2. Open een Windows PowerShell sessie op de beveiligde VM die wordt uitgevoerd op de host van de hardwarelevenscyclus of het privileged access workstation. Voer de volgende opdrachten uit om een externe sessie tot stand te brengen op de VM die als host fungeert voor het PEP:

    • Op een geïntegreerd systeem:

      $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
      

      De ComputerName parameter kan het IP-adres of de DNS-naam zijn van een van de VM's die als host fungeert voor het PEP.

      Notitie

      Azure Stack Hub maakt geen externe aanroep bij het valideren van de PEP-referentie. Hiervoor is het afhankelijk van een lokaal opgeslagen openbare RSA-sleutel.

    • Als u de ASDK uitvoert:

      $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
      

    Gebruik de volgende referenties wanneer u hierom wordt gevraagd:

    • Gebruikersnaam: geef het CloudAdmin-account op in de indeling <Azure Stack Hub-domein>\cloudadmin. (Voor ASDK is de gebruikersnaam azurestack\cloudadmin)
    • Wachtwoord: voer hetzelfde wachtwoord in dat is opgegeven tijdens de installatie voor het azureStackAdmin-domeinbeheerdersaccount.

    Notitie

    Als u geen verbinding kunt maken met het ERCS-eindpunt, probeert u stap een en twee opnieuw met een ander IP-adres van de ERCS-VM.

    Waarschuwing

    Uw Azure Stack Hub-stempel is standaard geconfigureerd met slechts één CloudAdmin-account. Er zijn geen herstelopties als de accountreferenties verloren gaan, zijn aangetast of vergrendeld. U hebt geen toegang meer tot het bevoegde eindpunt en andere resources.

    Het wordt ten zeerste aanbevolen om extra CloudAdmin-accounts te maken om te voorkomen dat uw zegel op eigen kosten opnieuw wordt geïmplementeerd. Zorg ervoor dat u deze referenties documenteert op basis van de richtlijnen van uw bedrijf.

  3. Nadat u verbinding hebt gemaakt, verandert de prompt in [IP-adres of ERCS VM-naam]: PS> of in [azs-ercs01]: PS>, afhankelijk van de omgeving. Voer hier uit Get-Command om de lijst met beschikbare cmdlets weer te geven.

    U vindt een naslaginformatie voor cmdlets in Azure Stack Hub privileged endpoint reference (Naslaginformatie over bevoegde eindpunten in Azure Stack Hub)

    Veel van deze cmdlets zijn alleen bedoeld voor geïntegreerde systeemomgevingen (zoals de cmdlets met betrekking tot datacentrumintegratie). In de ASDK zijn de volgende cmdlets gevalideerd:

    • 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

Het bevoegde eindpunt gebruiken

Zoals hierboven vermeld, is het PEP een PowerShell JEA-eindpunt . Een JEA-eindpunt biedt een sterke beveiligingslaag, maar beperkt enkele van de basismogelijkheden van PowerShell, zoals het uitvoeren van scripts of het voltooien van tabbladen. Als u een scriptbewerking probeert uit te voeren, mislukt de bewerking met de fout ScriptsNotAllowed. Deze fout is verwacht gedrag.

Als u bijvoorbeeld de lijst met parameters voor een bepaalde cmdlet wilt ophalen, voert u de volgende opdracht uit:

    Get-Command <cmdlet_name> -Syntax

U kunt ook de cmdlet Import-PSSession gebruiken om alle PEP-cmdlets te importeren in de huidige sessie op uw lokale computer. De cmdlets en functies van het PEP zijn nu beschikbaar op uw lokale computer, samen met het voltooien van tabbladen en, meer in het algemeen, het uitvoeren van scripts. U kunt ook de module Get-Help uitvoeren om de cmdlet-instructies te bekijken.

Voer de volgende stappen uit om de PEP-sessie op uw lokale computer te importeren:

  1. Stel de vertrouwensrelatie in.

    • Voer op een geïntegreerd systeem de volgende opdracht uit vanuit een sessie met verhoogde Windows PowerShell om het PEP toe te voegen als een vertrouwde host op de beveiligde VM die wordt uitgevoerd op de hardwarelevenscyclushost of het Privileged Access Workstation.

      winrm s winrm/config/client '@{TrustedHosts="<IP Address of Privileged Endpoint>"}'
      
    • Als u de ASDK uitvoert, meldt u zich aan bij de host van de development kit.

  2. Open een Windows PowerShell sessie op de beveiligde VM die wordt uitgevoerd op de host van de hardwarelevenscyclus of het privileged access workstation. Voer de volgende opdrachten uit om een externe sessie tot stand te brengen op de virtuele machine die als host fungeert voor het PEP:

    • Op een geïntegreerd systeem:

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

      De ComputerName parameter kan het IP-adres of de DNS-naam zijn van een van de VM's die als host fungeert voor het PEP.

    • Als u de ASDK uitvoert:

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

    Gebruik de volgende referenties wanneer u hierom wordt gevraagd:

    • Gebruikersnaam: geef het CloudAdmin-account op in de indeling <Azure Stack Hub-domein>\cloudadmin. (Voor ASDK is de gebruikersnaam azurestack\cloudadmin.)

    • Wachtwoord: Voer hetzelfde wachtwoord in dat is opgegeven tijdens de installatie voor het AzureStackAdmin-domeinbeheerdersaccount.

  3. Importeer de PEP-sessie in uw lokale computer:

    Import-PSSession $session
    
  4. Nu kunt u tab-voltooiing gebruiken en scripts uitvoeren zoals gebruikelijk in uw lokale PowerShell-sessie met alle functies en cmdlets van het PEP, zonder de beveiligingspostuur van Azure Stack Hub te verlagen. Veel plezier!

Sluit de sessie met het bevoegde eindpunt

Zoals eerder vermeld, registreert het PEP elke actie (en de bijbehorende uitvoer) die u in de PowerShell-sessie uitvoert. U moet de sessie sluiten met behulp van de Close-PrivilegedEndpoint cmdlet. Met deze cmdlet wordt het eindpunt correct gesloten en worden de logboekbestanden overgedragen naar een externe bestandsshare voor retentie.

De eindpuntsessie sluiten:

  1. Maak een externe bestandsshare die toegankelijk is voor het PEP. In een development kit-omgeving kunt u gewoon een bestandsshare maken op de development kit-host.

  2. Voer de volgende cmdlet uit:

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

    De cmdlet gebruikt de parameters in de volgende tabel:

    Parameter Beschrijving Type Vereist
    TranscriptsPathDestination Pad naar de externe bestandsshare die is gedefinieerd als 'fileshareIP\sharefoldername' Tekenreeks Ja
    Referentie Referenties voor toegang tot de bestandsshare SecureString Ja

Nadat de transcriptielogboekbestanden zijn overgebracht naar de bestandsshare, worden ze automatisch verwijderd uit het PEP.

Notitie

Als u de PEP-sessie sluit met behulp van de cmdlets Exit-PSSession of Exit, of als u gewoon de PowerShell-console sluit, worden de transcriptielogboeken niet overgedragen naar een bestandsshare. Ze blijven in het PEP. De volgende keer dat u een bestandsshare uitvoert Close-PrivilegedEndpoint en opneemt, worden de transcriptielogboeken van de vorige sessie(s) ook overgedragen. Gebruik Exit-PSSession of Exit niet om de PEP-sessie te sluiten. Gebruik Close-PrivilegedEndpoint in plaats daarvan.

Het bevoegde eindpunt ontgrendelen voor ondersteuningsscenario's

Tijdens een ondersteuningsscenario moet de Ondersteuningstechnicus van Microsoft mogelijk de PowerShell-sessie met bevoegde eindpunten uitbreiden om toegang te krijgen tot de interne functies van de Azure Stack Hub-infrastructuur. Dit proces wordt soms informeel aangeduid als "break the glass" of "unlock the PEP". Het proces voor verhoging van PEP-sessies bestaat uit twee stappen, twee personen en twee organisatieverificatieprocessen. De ontgrendelingsprocedure wordt gestart door de Azure Stack Hub-operator, die te allen tijde de controle over de omgeving behoudt. De operator opent het PEP en voert deze cmdlet uit:

     Get-SupportSessionToken

De cmdlet retourneert het token voor de ondersteuningssessieaanvraag, een zeer lange alfanumerieke tekenreeks. De operator geeft het aanvraagtoken vervolgens door aan de Ondersteuningstechnicus van Microsoft via een medium naar keuze (bijvoorbeeld chat, e-mail). De ondersteuningstechnicus van Microsoft gebruikt het aanvraagtoken om, indien geldig, een autorisatietoken voor ondersteuningssessies te genereren en stuurt dit terug naar de Azure Stack Hub-operator. In dezelfde PEP PowerShell-sessie geeft de operator vervolgens het autorisatietoken door als invoer aan deze cmdlet:

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

Als het autorisatietoken geldig is, wordt de PEP PowerShell-sessie verhoogd door volledige beheermogelijkheden en volledige bereikbaarheid in de infrastructuur te bieden.

Notitie

Alle bewerkingen en cmdlets die worden uitgevoerd in een verhoogde PEP-sessie, moeten worden uitgevoerd onder strikt toezicht van de Ondersteuningstechnicus van Microsoft. Als u dit niet doet, kan dit leiden tot ernstige downtime en gegevensverlies en kan een volledige herimplementatie van de Azure Stack Hub-omgeving nodig zijn.

Zodra de ondersteuningssessie is beëindigd, is het erg belangrijk om de verhoogde PEP-sessie te sluiten met behulp van de cmdlet Close-PrivilegedEndpoint , zoals uitgelegd in de bovenstaande sectie. Als de PEP-sessie wordt beëindigd, is het ontgrendelingstoken niet meer geldig en kan het niet opnieuw worden gebruikt om de PEP-sessie opnieuw te ontgrendelen. Een verhoogde PEP-sessie heeft een geldigheidsduur van 8 uur, waarna, indien niet beëindigd, de verhoogde PEP-sessie automatisch wordt vergrendeld naar een reguliere PEP-sessie.

Inhoud van de bevoegde eindpunttokens

De PEP-ondersteuningssessieaanvraag en autorisatietokens maken gebruik van cryptografie om de toegang te beveiligen en ervoor te zorgen dat alleen geautoriseerde tokens de PEP-sessie kunnen ontgrendelen. De tokens zijn ontworpen om cryptografisch te garanderen dat een antwoordtoken alleen kan worden geaccepteerd door de PEP-sessie die het aanvraagtoken heeft gegenereerd. PEP-tokens bevatten geen informatie waarmee een Azure Stack Hub-omgeving of een klant uniek kan worden geïdentificeerd. Ze zijn volledig anoniem. Hieronder vindt u de details van de inhoud van elk token.

Token voor ondersteuningssessieaanvraag

Het aanvraagtoken voor pep-ondersteuningssessies bestaat uit drie objecten:

  • Een willekeurig gegenereerde sessie-id.
  • Een zelfondertekend certificaat, gegenereerd met het doel om een eenmalig openbaar/persoonlijk sleutelpaar te hebben. Het certificaat bevat geen informatie over de omgeving.
  • Een tijdstempel die aangeeft dat de aanvraagtoken is verlopen.

Het aanvraagtoken wordt vervolgens versleuteld met de openbare sleutel van de Azure-cloud waarop de Azure Stack Hub-omgeving is geregistreerd.

Antwoordtoken voor ondersteuningssessieautorisatie

Het antwoordtoken pep-ondersteuningsautorisatie bestaat uit twee objecten:

  • De willekeurig gegenereerde sessie-id die is geëxtraheerd uit het aanvraagtoken.
  • Een tijdstempel die aangeeft dat het antwoordtoken verloopt.

Het antwoordtoken wordt vervolgens versleuteld met het zelfondertekende certificaat in het aanvraagtoken. Het zelfondertekende certificaat is ontsleuteld met de persoonlijke sleutel die is gekoppeld aan de Azure-cloud waarop de Azure Stack Hub-omgeving is geregistreerd.

Volgende stappen