Použití privilegovaného koncového bodu ve službě Azure Stack Hub

Jako operátor služby Azure Stack Hub byste pro většinu každodenních úloh správy měli používat portál pro správu, PowerShell nebo rozhraní API azure Resource Manager. Pro některé méně běžné operace ale musíte použít privilegovaný koncový bod (PEP). PEP je předkonfigurovaná vzdálená konzola PowerShellu, která poskytuje dostatek funkcí, které vám pomůžou provést požadovanou úlohu. Koncový bod používá PowerShell JEA (Just Enough Administration) k zveřejnění pouze omezené sady rutin. Pro přístup k PEP a vyvolání omezené sady rutin se používá účet s nízkým oprávněním. Nevyžadují se žádné účty správců. Kvůli dalšímu zabezpečení není skriptování povolené.

Pep můžete použít k provádění těchto úloh:

  • Úlohy nízké úrovně, jako je shromažďování diagnostických protokolů.
  • Mnoho úloh integrace datacentra po nasazení pro integrované systémy, jako je přidání serverů pro předávání DNS (Domain Name System) po nasazení, nastavení integrace Microsoft Graphu, integrace Active Directory Federation Services (AD FS) (AD FS), obměně certifikátů atd.
  • Pracovat s podporou za účelem získání dočasného přístupu na vysoké úrovni pro podrobné řešení potíží s integrovaným systémem.

Pep protokoluje každou akci (a její odpovídající výstup), kterou provedete v relaci PowerShellu. To zajišťuje úplnou transparentnost a úplné auditování operací. Tyto soubory protokolů můžete uchovávat pro budoucí audity.

Poznámka

V sadě Azure Stack Development Kit (ASDK) můžete některé z příkazů dostupných v PEP spouštět přímo z relace PowerShellu na hostiteli sady Development Kit. Můžete ale chtít otestovat některé operace pomocí pep, například shromažďování protokolů, protože je to jediná dostupná metoda pro provádění určitých operací v prostředí integrovaných systémů.

Poznámka

Pro přístup k privilegovanému koncovému bodu (PEP) můžete také použít pracovní stanici OAW (The Operator Access Workstation), portál pro správu pro scénáře podpory a nástroje GitHub Tools služby Azure Stack Hub. Další informace najdete v tématu Pracovní stanice s přístupem operátora služby Azure Stack Hub.

Přístup k privilegovanému koncovému bodu

K PEP se dostanete prostřednictvím vzdálené relace PowerShellu na virtuálním počítači, který hostuje PEP. V ASDK má tento virtuální počítač název AzS-ERCS01. Pokud používáte integrovaný systém, existují tři instance PEP, z nichž každá běží na virtuálním počítači (Prefix-ERCS01, Prefix-ERCS02 nebo Prefix-ERCS03) na různých hostitelích kvůli zajištění odolnosti.

Než začnete s tímto postupem pro integrovaný systém, ujistěte se, že máte přístup k PEP buď pomocí IP adresy, nebo prostřednictvím DNS. Po počátečním nasazení služby Azure Stack Hub můžete k PEP přistupovat jenom podle IP adresy, protože integrace DNS ještě není nastavená. Dodavatel hardwaru výrobce OEM vám poskytne soubor JSON s názvem AzureStackStampDeploymentInfo , který obsahuje IP adresy PEP.

IP adresu můžete najít také na portálu pro správu služby Azure Stack Hub. Otevřete portál, například https://adminportal.local.azurestack.external. Vyberte Vlastnosti správy> oblastí.

Při spouštění privilegovaného koncového bodu budete muset nastavit aktuální nastavení jazykové verze na en-US hodnotu, jinak rutiny, jako je Test-AzureStack nebo Get-AzureStackLog, nebudou fungovat podle očekávání.

Poznámka

Z bezpečnostních důvodů vyžadujeme, abyste se k PEP připojili jenom z posíleného virtuálního počítače, který běží nad hostitelem životního cyklu hardwaru, nebo z vyhrazeného a zabezpečeného počítače, jako je pracovní stanice s privilegovaným přístupem. Původní konfigurace hostitele životního cyklu hardwaru nesmí být změněna z původní konfigurace (včetně instalace nového softwaru) ani použita pro připojení k PEP.

  1. Vytvořte vztah důvěryhodnosti.

    • V integrovaném systému spusťte následující příkaz z relace se zvýšenými oprávněními Windows PowerShell a přidejte pepu jako důvěryhodného hostitele na posíleném virtuálním počítači běžícím na hostiteli životního cyklu hardwaru nebo pracovní stanici Privileged Access.

      Set-Item WSMan:\localhost\Client\TrustedHosts -Value '<IP Address of Privileged Endpoint>' -Concatenate
      
    • Pokud používáte sadu ASDK, přihlaste se k hostiteli sady Development Kit.

  2. Na posíleném virtuálním počítači spuštěném na hostiteli životního cyklu hardwaru nebo pracovní stanici Privileged Access otevřete relaci Windows PowerShell. Spuštěním následujících příkazů vytvořte vzdálenou relaci na virtuálním počítači, který hostuje pepu:

    • V integrovaném systému:

      $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
      

      Parametrem ComputerName může být IP adresa nebo název DNS jednoho z virtuálních počítačů, které hostují PEP.

      Poznámka

      Azure Stack Hub při ověřování přihlašovacích údajů PEP neprovádí vzdálené volání. Využívá k tomu místně uložený veřejný klíč RSA.

    • Pokud používáte 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
      

    Po zobrazení výzvy použijte následující přihlašovací údaje:

    • Uživatelské jméno: Zadejte účet CloudAdmin ve formátu <doména> služby Azure Stack Hub\cloudadmin. (Pro ASDK je uživatelské jméno azurestack\cloudadmin)
    • Heslo: Zadejte stejné heslo, které jste zadali při instalaci pro účet správce domény AzureStackAdmin.

    Poznámka

    Pokud se nemůžete připojit ke koncovému bodu služby ERCS, opakujte kroky 1 a dva s jinou IP adresou virtuálního počítače ERCS.

    Upozornění

    Ve výchozím nastavení je razítko služby Azure Stack Hub nakonfigurované jenom s jedním účtem CloudAdmin. Pokud dojde ke ztrátě, ohrožení nebo uzamčení přihlašovacích údajů k účtu, nejsou k dispozici žádné možnosti obnovení. Ztratíte přístup k privilegovanému koncovému bodu a dalším prostředkům.

    Důrazně doporučujemevytvořit další účty CloudAdmin, abyste se vyhnuli opětovnému nasazení kolku na vlastní náklady. Nezapomeňte tyto přihlašovací údaje zdokumentovat na základě pokynů vaší společnosti.

  3. Po připojení se výzva změní na [IP adresa nebo název virtuálního počítače ERCS]: PS> nebo [azs-ercs01]: PS> v závislosti na prostředí. Odsud spusťte příkaz Get-Command a zobrazte seznam dostupných rutin.

    Referenční informace o rutinách najdete v tématu Referenční informace k privilegovanému koncovému bodu služby Azure Stack Hub.

    Mnoho z těchto rutin je určeno pouze pro prostředí integrovaného systému (například rutiny související s integrací datacentra). V ASDK byly ověřeny následující rutiny:

    • 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

Jak používat privilegovaný koncový bod

Jak je uvedeno výše, pep je koncový bod JEA PowerShellu . Koncový bod JEA sice poskytuje silnou vrstvu zabezpečení, ale omezuje některé základní funkce PowerShellu, jako je skriptování nebo dokončování tabulátoru. Pokud zkusíte jakýkoli typ operace skriptu, operace selže s chybou ScriptsNotAllowed. Toto selhání je očekávané chování.

Pokud například chcete získat seznam parametrů pro danou rutinu, spusťte následující příkaz:

    Get-Command <cmdlet_name> -Syntax

Případně můžete použít rutinu Import-PSSession k importu všech rutin PEP do aktuální relace na místním počítači. Rutiny a funkce PEP jsou teď dostupné na místním počítači, spolu s dokončováním tabulátoru a obecněji se skriptováním. Můžete také spustit modul Get-Help a projít si pokyny k rutině.

Pokud chcete importovat relaci PEP do místního počítače, proveďte následující kroky:

  1. Vytvořte vztah důvěryhodnosti.

    • V integrovaném systému spusťte následující příkaz z relace se zvýšenými oprávněními Windows PowerShell a přidejte pepu jako důvěryhodného hostitele na posíleném virtuálním počítači běžícím na hostiteli životního cyklu hardwaru nebo pracovní stanici Privileged Access.

      winrm s winrm/config/client '@{TrustedHosts="<IP Address of Privileged Endpoint>"}'
      
    • Pokud používáte sadu ASDK, přihlaste se k hostiteli sady Development Kit.

  2. Na posíleném virtuálním počítači spuštěném na hostiteli životního cyklu hardwaru nebo pracovní stanici Privileged Access otevřete relaci Windows PowerShell. Spuštěním následujících příkazů vytvořte vzdálenou relaci na virtuálním počítači, který je hostitelem pepy:

    • V integrovaném systému:

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

      Parametrem ComputerName může být IP adresa nebo název DNS jednoho z virtuálních počítačů, které hostují PEP.

    • Pokud používáte ASDK:

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

    Po zobrazení výzvy použijte následující přihlašovací údaje:

    • Uživatelské jméno: Zadejte účet cloudadmin ve formátu <doména> služby Azure Stack Hub\cloudadmin. (Pro ASDK je uživatelské jméno azurestack\cloudadmin.)

    • Heslo: Zadejte stejné heslo, které jste zadali při instalaci pro účet správce domény AzureStackAdmin.

  3. Importujte relaci PEP do místního počítače:

    Import-PSSession $session
    
  4. Teď můžete používat dokončování pomocí tabulátoru a skriptování jako obvykle v místní relaci PowerShellu se všemi funkcemi a rutinami koncového bodu, aniž byste snížili stav zabezpečení služby Azure Stack Hub. Užijte si ji!

Zavření relace privilegovaného koncového bodu

Jak už bylo zmíněno dříve, pepa protokoluje každou akci (a její odpovídající výstup), kterou provedete v relaci PowerShellu. Relaci musíte zavřít pomocí rutiny Close-PrivilegedEndpoint . Tato rutina správně zavře koncový bod a přenese soubory protokolu do externí sdílené složky za účelem uchování.

Ukončení relace koncového bodu:

  1. Vytvořte externí sdílenou složku, ke které má přístup koncový bod. V prostředí vývojové sady můžete jednoduše vytvořit sdílenou složku na hostiteli sady Development Kit.

  2. Spusťte následující rutinu:

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

    Rutina používá parametry v následující tabulce:

    Parametr Popis Typ Vyžadováno
    TranscriptsPathDestination Cesta k externí sdílené složce definovaná jako fileshareIP\sharefoldername Řetězec Yes
    Přihlašovací údaj Přihlašovací údaje pro přístup ke sdílené složce Securestring Yes

Po úspěšném přenosu souborů protokolu přepisu do sdílené složky se z privilegovaného koncového bodu automaticky odstraní.

Poznámka

Pokud relaci privilegované koncového bodu zavřete pomocí rutin Exit-PSSession nebo , nebo Exitjenom zavřete konzolu PowerShellu, protokoly přepisu se nepřenesou do sdílené složky. Zůstávají v PRIVILEGOVÉM BODU. Při příštím spuštění Close-PrivilegedEndpoint a zahrnutí sdílené složky se přenesou také protokoly přepisu z předchozích relací. K zavření relace PRIVILEGOVÉHO BODU nepoužívejte Exit-PSSession nebo Exit . Místo toho použijte příkaz Close-PrivilegedEndpoint .

Odemknutí privilegovaného koncového bodu pro scénáře podpory

Během scénáře podpory může technik podpory Microsoftu potřebovat zvýšit úroveň relace PowerShellu pro privilegovaný koncový bod pro přístup k interním prostředkům infrastruktury služby Azure Stack Hub. Tento proces se někdy neformálně označuje jako "rozbití skla" nebo "odemknutí PEP". Proces zvýšení oprávnění relace PEP je proces ověřování organizace se dvěma kroky, dvěma lidmi a dvěma kroky. Proceduru odemknutí zahájí operátor služby Azure Stack Hub, který má neustále kontrolu nad svým prostředím. Operátor přistupuje k privilegiu a spustí tuto rutinu:

     Get-SupportSessionToken

Rutina vrátí token žádosti o relaci podpory, což je velmi dlouhý alfanumerický řetězec. Operátor pak token žádosti předá technikovi podpory Microsoftu prostřednictvím média podle vlastního výběru (např. chat, e-mail). Technik podpory Microsoftu použije token žádosti k vygenerování (pokud je platný) autorizačního tokenu relace podpory a odešle ho zpět operátorovi služby Azure Stack Hub. Ve stejné relaci Pep PowerShellu pak operátor předá autorizační token jako vstup této rutině:

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

Pokud je autorizační token platný, relace PowerShellu s privilegovaným privilegovaným uživatelem se zvýší tím, že se do infrastruktury poskytnou všechny možnosti správce a úplná dostupnost.

Poznámka

Všechny operace a rutiny spuštěné v relaci se zvýšenými oprávněními pep se musí provádět pod přísným dohledem technika podpory Microsoftu. Pokud to neuděláte, může dojít k závažnému výpadku nebo ztrátě dat a může to vyžadovat úplné opětovné nasazení prostředí služby Azure Stack Hub.

Po ukončení relace podpory je velmi důležité ukončit relaci se zvýšenými oprávněními privilegovaného koncového bodu pomocí rutiny Close-PrivilegedEndpoint , jak je vysvětleno v předchozí části. V jednom případě je relace privilegovaného koncového bodu ukončena, token pro odemčení již není platný a nelze ho znovu použít k odemknutí relace PRIVILEGOVANÉHO koncového bodu. Relace s pepou se zvýšenými oprávněními má platnost 8 hodin, po jejímž uplynutí se relace se zvýšenými oprávněními k privilegovanému koncovému bodu se automaticky uzamkne zpět na běžnou relaci s privilegovanými oprávněními.

Obsah tokenů privilegovaných koncových bodů

Tokeny žádostí o relaci podpory a autorizační tokeny využívají kryptografii k ochraně přístupu a zajišťují, že relaci privilegované koncového bodu můžou odemknout pouze autorizované tokeny. Tokeny jsou navržené tak, aby kryptograficky zaručovaly, že token odpovědi může přijmout pouze relace PRIVILEGOVANÉHO koncového bodu, která token požadavku vygenerovala. Tokeny PEP neobsahují žádný druh informací, které by mohly jednoznačně identifikovat prostředí služby Azure Stack Hub nebo zákazníka. Jsou zcela anonymní. Níže jsou uvedeny podrobnosti o obsahu jednotlivých tokenů.

Token žádosti o relaci podpory

Token žádosti o relaci podpory PEP se skládá ze tří objektů:

  • Náhodně vygenerované ID relace.
  • Certifikát podepsaný svým držitelem vygenerovaný za účelem vytvoření jednorázového páru veřejného a privátního klíče. Certifikát neobsahuje žádné informace o prostředí.
  • Časové razítko, které označuje vypršení platnosti tokenu žádosti.

Token požadavku se pak zašifruje pomocí veřejného klíče cloudu Azure, ke kterému je zaregistrované prostředí Služby Azure Stack Hub.

Token odpovědi autorizace relace podpory

Token autorizační odpovědi podpory PRIVILEGOVÉHO BODU se skládá ze dvou objektů:

  • Náhodně vygenerované ID relace extrahované z tokenu požadavku.
  • Časové razítko, které označuje vypršení platnosti tokenu odpovědi.

Token odpovědi se pak zašifruje pomocí certifikátu podepsaného svým držitelem, který je součástí tokenu požadavku. Certifikát podepsaný svým držitelem se dešifroval pomocí privátního klíče přidruženého ke cloudu Azure, ke kterému je zaregistrované prostředí Služby Azure Stack Hub.

Další kroky