Freigeben über


Verwenden des privilegierten Endpunkts im Azure Stack Hub

Als Azure Stack Hub-Operator sollten Sie das Administratorportal, PowerShell oder Azure Resource Manager-APIs für die meisten täglichen Verwaltungsaufgaben verwenden. Bei einigen weniger gängigen Vorgängen müssen Sie jedoch den Privileged Endpoint (PEP) verwenden. Der PEP ist eine vorkonfigurierte Remote-PowerShell-Konsole, die Ihnen nur genügend Funktionen bietet, um Ihnen bei der Erforderlichen Aufgabe zu helfen. Der Endpunkt verwendet PowerShell JEA (Just Enough Administration), um nur einen eingeschränkten Satz von Cmdlets verfügbar zu machen. Um auf den PEP zuzugreifen und den eingeschränkten Satz von Cmdlets aufzurufen, wird ein Konto mit niedriger Berechtigung verwendet. Es sind keine Administratorkonten erforderlich. Für zusätzliche Sicherheit ist skripting nicht zulässig.

Sie können den PEP verwenden, um diese Aufgaben auszuführen:

  • Aufgaben auf niedriger Ebene, z. B. Sammeln von Diagnoseprotokollen.
  • Viele Integrationsaufgaben nach der Bereitstellung von Rechenzentren für integrierte Systeme, z. B. Hinzufügen von DNS-Weiterleitungen (Domain Name System) nach der Bereitstellung, Einrichten der Microsoft Graph-Integration, Active Directory-Verbunddienste (AD FS)-Integration, Zertifikatdrehung usw.
  • Mit Supportmitarbeitern zusammenarbeiten, um temporären, hochprivilegierten Zugriff für eine umfassende Problembehandlung eines integrierten Systems zu erhalten.

Der PEP protokolliert jede Aktion, die Sie in der PowerShell-Sitzung ausführen (sowie die entsprechende Ausgabe). Dies bietet volle Transparenz und vollständige Überwachung von Vorgängen. Sie können diese Protokolldateien für zukünftige Audits aufbewahren.

Anmerkung

Im Azure Stack Development Kit (ASDK) können Sie einige der Befehle ausführen, die in der PEP direkt über eine PowerShell-Sitzung auf dem Development Kit-Host verfügbar sind. Sie können jedoch einige Vorgänge mithilfe von PEP testen, z. B. die Protokollsammlung, da dies die einzige Methode ist, die für bestimmte Vorgänge in einer integrierten Systemumgebung verfügbar ist.

Anmerkung

Sie können auch die Operator Access Workstation (OAW) verwenden, um auf den privilegierten Endpunkt (PEP), das Administratorportal für Supportszenarien und Azure Stack Hub GitHub Tools zuzugreifen. Weitere Informationen finden Sie unter Arbeitsstation mit Azure Stack Hub-Operatorzugriff.

Zugriff auf den privilegierten Endpunkt

Sie greifen auf den PEP über eine PowerShell-Remotesitzung auf dem virtuellen Computer (VM) zu, auf dem der PEP gehostet wird. In der ASDK wird dieser virtuelle Computer AzS-ERCS01benannt. Wenn Sie ein integriertes System verwenden, gibt es drei Instanzen des PEP, die jeweils innerhalb einer VM ausgeführt werden (Prefix-ERCS01, Prefix-ERCS02 oder Prefix-ERCS03) auf verschiedenen Hosts zur Resilienz.

Bevor Sie mit diesem Verfahren für ein integriertes System beginnen, stellen Sie sicher, dass Sie entweder über die IP-Adresse oder über DNS auf den PEP zugreifen können. Nach der erstbereitstellung von Azure Stack Hub können Sie nur nach IP-Adresse auf den PEP zugreifen, da die DNS-Integration noch nicht eingerichtet ist. Ihr OEM-Hardwareanbieter stellt Ihnen eine JSON-Datei mit dem Namen AzureStackStampDeploymentInfo bereit, die die PEP-IP-Adressen enthält.

Sie finden auch die IP-Adresse im Azure Stack Hub-Administratorportal. Öffnen Sie das Portal; beispiel: https://adminportal.local.azurestack.external. Wählen Sie Regionsverwaltung>Eigenschaften aus.

Sie müssen ihre aktuelle Kultur auf en-US festlegen, wenn Sie den privilegierten Endpunkt ausführen. Andernfalls funktionieren Cmdlets wie Test-AzureStack oder Get-AzureStackLog nicht wie erwartet.

Anmerkung

Aus Sicherheitsgründen darf mit dem PEP nur über eine gehärtete VM, die auf dem Hardwarelebenszyklus-Host basiert, oder über einen dedizierten, sicheren Computer (beispielsweise eine Arbeitsstation mit privilegiertem Zugriff) eine Verbindung hergestellt werden. Die ursprüngliche Konfiguration des Hardware-Lebenszyklus-Hosts darf weder verändert werden (einschließlich der Installation neuer Software) noch verwendet werden, um mit dem PEP eine Verbindung herzustellen.

  1. Stellen Sie das Vertrauen her.

    • Führen Sie auf einem integrierten System in einer Windows PowerShell-Sitzung mit erhöhten Rechten den folgenden Befehl aus, um den PEP als vertrauenswürdigen Host auf der gehärteten virtuellen VM hinzuzufügen, die auf dem Hardwarelebenszyklus-Host oder der Arbeitsstation mit privilegiertem Zugriff ausgeführt wird:

      Set-Item WSMan:\localhost\Client\TrustedHosts -Value '<IP Address of Privileged Endpoint>' -Concatenate
      
    • Wenn Sie das ASDK ausführen, melden Sie sich beim Development Kit-Host an.

  2. Öffnen Sie auf der gehärteten VM, die auf dem Hardwarelebenszyklushost oder der Privileged Access Workstation ausgeführt wird, eine Windows PowerShell-Sitzung. Führen Sie die folgenden Befehle aus, um eine Remotesitzung auf der VM einzurichten, die den PEP hostet:

    • In einem integrierten 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
      

      Der parameter ComputerName kann entweder die IP-Adresse oder der DNS-Name eines der virtuellen Computer sein, die den PEP hosten.

      Anmerkung

      Azure Stack Hub macht beim Überprüfen der PEP-Anmeldeinformationen keinen Remoteaufruf. Sie basiert auf einem lokal gespeicherten öffentlichen RSA-Schlüssel, um dies zu tun.

    • Wenn Sie das ASDK ausführen:

      $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
      

    Wenn Sie dazu aufgefordert werden, verwenden Sie die folgenden Anmeldeinformationen:

    • Benutzername: Geben Sie das CloudAdmin-Konto im Format <Azure Stack Hub-Domäne>\cloudadminan.
    • Kennwort: Geben Sie dasselbe Kennwort ein, das während der Installation für das AzureStackAdmin-Domänenadministratorkonto bereitgestellt wurde.

    Anmerkung

    Wenn Sie keine Verbindung mit dem ERCS-Endpunkt herstellen können, wiederholen Sie die Schritte ein und zwei mit einer anderen ERCS-VM-IP-Adresse.

    Warnung

    Ihr Azure Stack Hub-Stempel ist standardmäßig nur mit einem CloudAdmin-Konto konfiguriert. Es gibt keine Wiederherstellungsoptionen, wenn die Kontoanmeldeinformationen verloren gehen, kompromittiert oder gesperrt sind. Sie verlieren den Zugriff auf den privilegierten Endpunkt und andere Ressourcen.

    Es wird dringend empfohlen, zusätzliche CloudAdmin-Konten zu erstellen, um eine erneute Bereitstellung Ihres Stempels auf eigene Kosten zu vermeiden. Stellen Sie sicher, dass Sie diese Zugangsdaten gemäß den Richtlinien Ihres Unternehmens dokumentieren.

  3. Nach der Verbindung ändert sich die Eingabeaufforderung in [IP-Adresse oder ERCS VM-Name]: PS> oder in [azs-ercs01]: PS>, je nach Umgebung. Führen Sie hier Get-Command aus, um die Liste der verfügbaren Cmdlets anzuzeigen.

    Eine Referenz zu Cmdlets finden Sie unter Referenz zu privilegierten Azure Stack Hub-Endpunkten.

    Viele dieser Cmdlets sind nur für integrierte Systemumgebungen vorgesehen (z. B. die Cmdlets im Zusammenhang mit der Integration von Rechenzentren). Im ASDK wurden die folgenden Cmdlets überprüft:

    • 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

So verwenden Sie den privilegierten Endpunkt

Beim PEP handelt es sich wie bereits erwähnt um einen Endpunkt vom Typ PowerShell JEA. Während sie eine starke Sicherheitsebene bereitstellen, reduziert ein JEA-Endpunkt einige der grundlegenden PowerShell-Funktionen, z. B. Skripting oder Tab-Vervollständigung. Wenn Sie einen Skriptvorgangstyp ausprobieren, schlägt der Vorgang mit dem Fehler ScriptsNotAllowedfehl. Dieses Fehlerverhalten wird erwartet.

Um beispielsweise die Liste der Parameter für ein bestimmtes Cmdlet abzurufen, führen Sie den folgenden Befehl aus:

    Get-Command <cmdlet_name> -Syntax

Alternativ können Sie das Cmdlet Import-PSSession verwenden, um alle PEP-Cmdlets in die aktuelle Sitzung auf Ihrem lokalen Computer zu importieren. Die Cmdlets und Funktionen des PEP sind jetzt auf Ihrem lokalen Computer verfügbar, zusammen mit Tab-Vervollständigung und allgemeineren Skripting-Möglichkeiten. Sie können auch das modul Get-Help ausführen, um Cmdlet-Anweisungen zu überprüfen.

Führen Sie die folgenden Schritte aus, um die PEP-Sitzung auf Ihrem lokalen Computer zu importieren:

  1. Stellen Sie das Vertrauen her.

    • Führen Sie auf einem integrierten System in einer Windows PowerShell-Sitzung mit erhöhten Rechten den folgenden Befehl aus, um den PEP als vertrauenswürdigen Host auf der gehärteten virtuellen VM hinzuzufügen, die auf dem Hardwarelebenszyklus-Host oder der Arbeitsstation mit privilegiertem Zugriff ausgeführt wird.

      winrm s winrm/config/client '@{TrustedHosts="<IP Address of Privileged Endpoint>"}'
      
    • Wenn Sie das ASDK ausführen, melden Sie sich beim Development Kit-Host an.

  2. Öffnen Sie auf der gehärteten VM, die auf dem Hardwarelebenszyklushost oder der Privileged Access Workstation ausgeführt wird, eine Windows PowerShell-Sitzung. Führen Sie die folgenden Befehle aus, um eine Remotesitzung auf dem virtuellen Computer einzurichten, auf dem der PEP gehostet wird:

    • In einem integrierten 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)
      

      Der parameter ComputerName kann entweder die IP-Adresse oder der DNS-Name eines der virtuellen Computer sein, die den PEP hosten.

    • Wenn Sie das ASDK ausführen:

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

    Wenn Sie dazu aufgefordert werden, verwenden Sie die folgenden Anmeldeinformationen:

    • Benutzername: Geben Sie das CloudAdmin-Konto im Format <Azure Stack Hub-Domäne>\cloudadminan. (Für ASDK ist der Benutzername azurestack\cloudadmin.)

    • Kennwort: Geben Sie dasselbe Kennwort ein, das während der Installation für das AzureStackAdmin-Domänenadministratorkonto bereitgestellt wurde.

  3. Importieren Sie die PEP-Sitzung in Ihren lokalen Computer:

    Import-PSSession $session
    
  4. Jetzt können Sie die Tab-Vervollständigung verwenden und wie gewohnt in Ihrer lokalen PowerShell-Sitzung skripten, mit allen Funktionen und Cmdlets des PEP, ohne das Sicherheitsniveau von Azure Stack Hub zu verringern. Genießen!

Schließen der Sitzung mit dem privilegierten Endpunkt

Der PEP protokolliert wie bereits erwähnt jede Aktion, die Sie in der PowerShell-Sitzung durchführen, sowie die entsprechende Ausgabe. Sie müssen die Sitzung mithilfe des Cmdlets Close-PrivilegedEndpoint schließen. Dieses Cmdlet schließt den Endpunkt korrekt und überträgt die Protokolldateien zur Aufbewahrung an einen externen Speicherort.

Schließen der Endpunktsitzung:

  1. Erstellen Sie eine externe Dateifreigabe, auf die der PEP zugreifen kann. In einer Development Kit-Umgebung können Sie nur eine Dateifreigabe auf dem Development Kit-Host erstellen.

  2. Führen Sie das folgende Cmdlet aus:

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

    Das Cmdlet verwendet die Parameter in der folgenden Tabelle:

    Parameter Beschreibung Typ Erforderlich
    TranscriptsPathDestination Pfad zur externen Dateifreigabe, angegeben als "fileshareIP\sharefoldername" Schnur Ja
    Credential Anmeldeinformationen für den Zugriff auf die Dateifreigabe SecureString Ja

Nachdem die Aufzeichnungsprotokolldateien erfolgreich in die Dateifreigabe übertragen wurden, werden sie automatisch vom PEP gelöscht.

Anmerkung

Wenn Sie die PEP-Sitzung mithilfe der Cmdlets Exit-PSSession oder Exitschließen oder einfach die PowerShell-Konsole schließen, werden die Transkriptprotokolle nicht an eine Dateifreigabe übertragen. Sie verbleiben im PEP. Wenn Sie Close-PrivilegedEndpoint das nächste Mal ausführen und eine Dateifreigabe einschließen, werden die Transkriptprotokolle aus den vorherigen Sitzungen ebenfalls übertragen. Verwenden Sie nicht Exit-PSSession oder Exit, um die PEP-Sitzung zu schließen; verwenden Sie stattdessen Close-PrivilegedEndpoint.

Entsperren des privilegierten Endpunkts für Supportszenarien

Während eines Supportszenarios muss der Microsoft-Supporttechniker möglicherweise die Rechte der PowerShell-Sitzung des privilegierten Endpunkts für den Zugriff auf die Interna der Azure Stack Hub-Infrastruktur erhöhen. Dieser Prozess wird manchmal informell als "Glas brechen" oder "Entsperren des PEP" bezeichnet. Der PEP-Sitzungserweiterungsprozess ist ein zweistufiger, zwei-Personen-/zwei-Organisationen-Authentifizierungsprozess. Das Entsperrungsverfahren wird vom Azure Stack Hub-Operator initiiert, der jederzeit die Kontrolle über ihre Umgebung behält. Der Operator greift auf den PEP zu und führt dieses Cmdlet aus:

     Get-SupportSessionToken

Das Cmdlet gibt das Anforderungstoken der Supportsitzung zurück, wobei es sich um eine sehr lange alphanumerische Zeichenfolge handelt. Der Operator übergibt dann das Anforderungstoken über ein Medium ihrer Wahl an den Microsoft-Supporttechniker (z. B. Chat, E-Mail). Der Microsoft-Supporttechniker verwendet das Anforderungstoken, um, falls gültig, ein Autorisierungstoken für die Supportsitzung zu generieren und es an den Azure Stack Hub-Operator zurückzusenden. In derselben PEP PowerShell-Sitzung übergibt der Operator dann das Autorisierungstoken als Eingabe an dieses Cmdlet:

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

Wenn das Autorisierungstoken gültig ist, wird die PEP PowerShell-Sitzung erhöht, indem vollständige Administratorfunktionen und vollständige Reichweite in die Infrastruktur bereitgestellt werden.

Anmerkung

Alle Vorgänge und Cmdlets, die in einer PEP-Sitzung mit erhöhten Rechten ausgeführt werden, müssen unter strenger Aufsicht des Microsoft-Supporttechnikers ausgeführt werden. Dies kann zu schwerwiegenden Ausfallzeiten, Datenverlusten und einer vollständigen Erneutbereitstellung der Azure Stack Hub-Umgebung führen.

Nachdem die Supportsitzung beendet wurde, ist es sehr wichtig, die PEP-Sitzung mit erhöhten Rechten mithilfe des Cmdlets Close-PrivilegedEndpoint- wieder zu schließen, wie im obigen Abschnitt erläutert. Eine PEP-Sitzung wird beendet, das Entsperrtoken ist nicht mehr gültig und kann nicht wiederverwendet werden, um die PEP-Sitzung erneut zu entsperren. Eine erhöhte PEP-Sitzung hat eine Gültigkeit von 8 Stunden; falls sie nicht beendet wird, wird die erhöhte PEP-Sitzung danach automatisch auf eine normale PEP-Sitzung zurückgesetzt.

Inhalt der privilegierten Endpunkttoken

Die PEP-Supportsitzungsanforderungs- und Autorisierungstoken nutzen Kryptografie, um den Zugriff zu schützen und sicherzustellen, dass nur autorisierte Token die PEP-Sitzung entsperren können. Die Token sollen kryptografisch sicherstellen, dass ein Antworttoken nur von der PEP-Sitzung akzeptiert werden kann, die das Anforderungstoken generiert hat. PEP-Token enthalten keine Art von Informationen, die eine Azure Stack Hub-Umgebung oder einen Kunden eindeutig identifizieren können. Sie sind völlig anonym. Nachfolgend werden die Details des Inhalts jedes Tokens angegeben.

Supportsitzungs-Anforderungstoken

Das PEP-Supportsitzungsanforderungstoken besteht aus drei Objekten:

  • Eine zufällig generierte Sitzungs-ID.
  • Ein selbstsigniertes Zertifikat, das generiert wird, um ein einmaliges öffentliches/privates Schlüsselpaar zu verwenden. Das Zertifikat enthält keine Informationen zur Umgebung.
  • Ein Zeitstempel, der den Ablaufzeitpunkt des Anforderungstokens angibt.

Das Anforderungstoken wird dann mit dem öffentlichen Schlüssel der Azure-Cloud verschlüsselt, für den die Azure Stack Hub-Umgebung registriert ist.

Supportsitzungs-Autorisierungsantworttoken

Das PEP-Unterstützungs-Autorisierungsantworttoken besteht aus zwei Objekten:

  • Die zufällig generierte Sitzungs-ID, die aus dem Anforderungstoken extrahiert wurde.
  • Ein Zeitstempel, der den Ablauf des Antworttokens angibt.

Das Antworttoken wird dann mit dem selbstsignierten Zertifikat verschlüsselt, das im Anforderungstoken enthalten ist. Das selbstsignierte Zertifikat wurde mit dem privaten Schlüssel entschlüsselt, der der Azure-Cloud zugeordnet ist, für den die Azure Stack Hub-Umgebung registriert ist.

Nächste Schritte