Sdílet prostřednictvím


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

Jako operátor služby Azure Stack Hub byste měli pro většinu každodenních úloh správy použít portál pro správu, PowerShell nebo rozhraní API Azure Resource Manageru. U některých méně běžných operací však musíte použít Privileged Endpoint (PEP). Pep je předem nakonfigurovaná vzdálená konzola PowerShellu, která vám poskytuje dostatek funkcí, které vám pomůžou provést požadovanou úlohu. Koncový bod používá PowerShell JEA (Just Enough Administration) k vystavení pouze omezené sady rutin. Pro přístup k PEP a vyvolání omezené sady cmdletů se používá účet s nízkými oprávněními. Nejsou vyžadovány žádné účty správců. Kvůli dalšímu zabezpečení není skriptování povolené.

Pomocí PEP můžete provádět tyto úlohy:

  • Úlohy nízké úrovně, například shromažďování diagnostických protokolů.
  • Mnoho úloh integrace datacentra po nasazení pro integrované systémy, jako je přidání služeb předávání DNS (Domain Name System) po nasazení, nastavení integrace Microsoft Graphu, integrace služby Active Directory Federation Services (AD FS), obměně certifikátů atd.
  • Pokud chcete spolupracovat s pracovníky podpory, abyste získali dočasný přístup na vysoké úrovni pro podrobné řešení potíží s integrovaným systémem.

PEP zaznamenává každou akci (a její odpovídající výstup), kterou provedete v relaci PowerShellu. Poskytuje úplnou transparentnost a úplné auditování operací. Tyto soubory protokolu můžete uchovávat pro budoucí audity.

Poznámka

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

Poznámka

K přístupu k privilegovanému koncovému bodu (PEP), administrátorskému portálu pro podpůrné scénáře a nástrojům GitHub služby Azure Stack Hub můžete také použít pracovní stanici OAW (Operator Access Workstation). Další informace viz Přístupová stanice operátora služby Azure Stack Hub.

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

K PEP se dostanete přes vzdálenou relaci PowerShellu na virtuálním počítači (VM), který hostuje tento koncový bod. 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ěží uvnitř virtuálního počítače (předpona-ERCS01, předpona-ERCS02 nebo předpona-ERCS03) na různých hostitelích pro 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áte přístup jenom pomocí IP adresy, protože integrace DNS ještě není nastavená. Dodavatel hardwaru OEM poskytuje soubor JSON s názvem AzureStackStampDeploymentInfo, který obsahuje IP adresy PEP.

IP adresu najdete 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 oblasti>.

Při spuštění privilegovaného koncového bodu musíte nastavit aktuální regionální nastavení na en-US, 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 pouze z posíleného virtuálního počítače běžícího na hostiteli životního cyklu hardwaru nebo z vyhrazeného a zabezpečeného počítače, jako je například pracovní stanice s privilegovaným přístupem. Původní konfigurace hostitele pro životní cyklus hardwaru nesmí být upravena 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 z relace Windows PowerShellu se zvýšenými oprávněními následující příkaz a přidejte ho jako důvěryhodného hostitele na posíleném virtuálním počítači spuštěném na hostiteli životního cyklu hardwaru nebo pracovní stanici s privilegovaným přístupem:

      Set-Item WSMan:\localhost\Client\TrustedHosts -Value '<IP Address of Privileged Endpoint>' -Concatenate
      
    • Pokud spustíte ASDK, přihlaste se k hostiteli vývojové sady.

  2. Na zabezpečeném virtuálním počítači spuštěném na hostiteli životního cyklu hardwaru nebo na pracovní stanici s privilegovaným přístupem otevřete relaci prostředí 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 PEP:

    • 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
      

      Parametr 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 neprovádí vzdálené volání při ověřování přihlašovacích údajů PEP. K tomu spoléhá na místně uložený veřejný klíč RSA.

    • Pokud spustí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éně služby Azure Stack Hub>\cloudadmin.
    • heslo: Zadejte stejné heslo, které jste zadali během instalace pro účet správce domény AzureStackAdmin.

    Poznámka

    Pokud se nemůžete připojit ke koncovému bodu ERCS, zkuste kroky jedna a dvě s jinou IP adresou virtuálního počítače ERCS.

    Varování

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

    Je důrazně doporučujeme, abyste vytvářet další účty CloudAdmin, abyste se vyhnuli opětovnému nasazení razítka na vlastní náklady. Ujistěte se, že tyto přihlašovací údaje dokumentujete 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 na [azs-ercs01]: PS>v závislosti na prostředí. Odtud spusťte Get-Command a zobrazte seznam dostupných rutin.

    Referenční informace o rutinách najdete v referenčních informacích k privilegovaným koncovým bodům služby Azure Stack Hub

    Mnohé z těchto rutin jsou určeny pouze pro integrovaná systémová prostředí (například rutiny související s integrací datacentra). Ve 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 už bylo zmíněno výše, PEP je koncový bod PowerShell JEA. Při poskytování silné vrstvy zabezpečení koncový bod JEA snižuje některé základní funkce PowerShellu, jako je skriptování nebo dokončování tabulátoru. Pokud zkusíte nějaký 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

Alternativně 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ď k dispozici na místním počítači společně s dokončováním tabulátoru a obecněji skriptováním. Můžete také spustit modul Get-Help pro kontrolu pokynů ke cmdletům.

Pokud chcete importovat relaci PEP na místním počítači, 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 Windows PowerShellu se zvýšenými oprávněními a přidejte PEP jako důvěryhodného hostitele – na zesíleném virtuálním počítači, který běží na hostiteli životního cyklu hardwaru nebo na pracovní stanici s privilegovaným přístupem.

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

  2. Na zosíleném virtuálním počítači spuštěném na hostiteli pro správu životního cyklu hardwaru nebo pracovní stanici pro privilegovaný přístup otevřete relaci prostředí 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 PEP:

    • 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)
      

      Parametr 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éně služby Azure Stack Hub>\cloudadmin. (Pro ASDK je uživatelské jméno azurestack\cloudadmin.)

    • heslo: Zadejte stejné heslo, které jste zadali během instalace pro účet správce domény AzureStackAdmin.

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

    Import-PSSession $session
    
  4. Nyní můžete ve své místní relaci prostředí PowerShell používat doplňování pomocí tabulátoru a skriptování jako obvykle se všemi funkcemi a rutinami PEP, aniž byste snížili úroveň zabezpečení služby Azure Stack Hub. Užijte si to!

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

Jak už bylo zmíněno dříve, PEP protokoluje všechny akce (a její odpovídající výstup), které provedete v relaci PowerShellu. Relaci musíte zavřít pomocí cmdletu Close-PrivilegedEndpoint. Tato rutina správně zavře koncový bod a přenese soubory protokolu do externí sdílené složky pro uchování.

Chcete-li ukončit relaci koncového bodu:

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

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

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

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

    Parametr Popis Typ Povinný
    přepisyPathDestination Cesta k externí sdílené složce definované jako "fileshareIP\sharefoldername" Řetězec Ano
    přihlašovací údaje Přihlašovací údaje pro přístup ke sdílené složce SecureString Ano

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

Poznámka

Pokud relaci PEP zavřete pomocí rutin Exit-PSSession nebo Exitnebo zavřete konzolu PowerShellu, protokoly přepisu se nepřenesou do sdílené složky. Zůstávají v PEP. Při příštím spuštění Close-PrivilegedEndpoint a zahrnutí sdíleného souboru se také přenesou protokoly přepisu z předchozích relací. K zavření relace PEP nepoužívejte Exit-PSSession ani Exit; místo toho použijte 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 s privilegovaným koncovým bodem, aby měl přístup k interním informacím infrastruktury služby Azure Stack Hub. Tento proces se někdy neformálně označuje jako "zlomit sklo" nebo "odemknout PEP". Proces povýšení relace PEP je dvoukrokový autentizační proces, který zahrnuje dvě osoby a dvě organizace. Proceduru odemknutí inicializoval operátor služby Azure Stack Hub, který si zachovají kontrolu nad svým prostředím za všech okolností. Operátor přistupuje k privilegovanému koncovému bodu a spustí tento cmdlet:

     Get-SupportSessionToken

Cmdlet vrátí token žádosti o relaci podpory, což je velmi dlouhý alfanumerický řetězec. Operátor pak předá token žádosti technikovi podpory Microsoftu prostřednictvím média podle svého výběru (např. chatu, e-mailu). Technik podpory Microsoftu použije token požadavku, pokud je platný, k vygenerování autorizačního tokenu pro relaci podpory a odešle ho zpět operátoru služby Azure Stack Hub. Ve stejné relaci PowerShellu PEP operátor předá autorizační token jako vstup do tohoto příkazu:

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

Pokud je autorizační token platný, je relace PowerShellu PEP zvýšená poskytnutím úplných možností správy a plného přístupu do infrastruktury.

Poznámka

Všechny operace a cmdlety spuštěné v relaci se zvýšenými oprávněními PEP musí být prováděny pod přísným dohledem inženýra technické podpory Microsoftu. Pokud to neuděláte, může dojít k závažnému výpadku, 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é zavřít zpět relaci se zvýšenými oprávněními pomocí rutiny Close-PrivilegedEndpoint, jak je vysvětleno v předchozí části. Jedna relace PEP je ukončena, token odemknutí již není platný a nelze ho znovu použít k odemknutí relace PEP. Zvýšená relace PEP má platnost 8 hodin, poté, pokud není ukončena, se automaticky zamkne zpět na běžnou relaci PEP.

Obsah tokenů privilegovaného koncového bodu

Žádosti o relaci podpory PEP a autorizační tokeny využívají kryptografii k ochraně přístupu a zajišťují, že relaci PEP mohou odemknout pouze autorizované tokeny. Tokeny jsou navržené tak, aby kryptograficky zaručily, že token odpovědi může přijmout pouze relace PEP, která vygenerovala token požadavku. 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í. Podrobnosti o obsahu jednotlivých tokenů jsou uvedeny níže.

Token žádosti o podporu

Token žádosti o relaci podpory PEP je složen ze tří objektů:

  • Náhodně vygenerované ID relace.
  • Certifikát podepsaný svým držitelem vygenerovaný pro účely jednorázové dvojice veřejného a privátního klíče. Certifikát neobsahuje žádné informace o prostředí.
  • Razítko času označující vypršení platnosti tokenu požadavku.

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

Podpora tokenu odpovědi na autorizaci relace

Token autorizační odpovědi podpory PEP se skládá ze dvou objektů:

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

Token odpovědi se poté zašifruje pomocí certifikátu podepsaného sám sebou, který je obsažen v tokenu požadavku. Certifikát podepsaný svým držitelem se dešifroval privátním klíčem přidruženým ke cloudu Azure, ve kterém je prostředí služby Azure Stack Hub zaregistrované.

Další kroky