Azure Stack Hub での特権エンドポイントの使用Use the privileged endpoint in Azure Stack Hub

Azure Stack Hub オペレーターは、管理ポータル、PowerShell、または Azure Resource Manager API を使用して、ほとんどの日常的な管理タスクを実行します。As an Azure Stack Hub operator, you should use the administrator portal, PowerShell, or Azure Resource Manager APIs for most day-to-day management tasks. ただし、あまり一般的でない一部の操作については、特権エンドポイント (PEP) を使用する必要があります。However, for some less common operations, you need to use the privileged endpoint (PEP). この PEP は、あらかじめ構成されたリモート PowerShell コンソールであり、必要なタスクを実行するために十分な機能だけを提供します。The PEP is a pre-configured remote PowerShell console that provides you with just enough capabilities to help you do a required task. エンドポイントは PowerShell JEA (Just Enough Administration) を使用して、コマンドレットの限定的なセットのみを公開します。The endpoint uses PowerShell JEA (Just Enough Administration) to expose only a restricted set of cmdlets. PEP にアクセスしてコマンドレットの限定的なセットを起動するために、低権限のアカウントが使用されます。To access the PEP and invoke the restricted set of cmdlets, a low-privileged account is used. 管理者アカウントは必要ありません。No admin accounts are required. セキュリティ強化のため、スクリプトは許可されません。For additional security, scripting isn't allowed.

PEP を使用すると、次のタスクを実行できます。You can use the PEP to perform these tasks:

  • 診断ログの収集などの低レベル タスク。Low-level tasks, such as collecting diagnostic logs.
  • デプロイ後のドメイン ネーム システム (DNS) フォワーダーの追加や、Microsoft Graph 統合、Active Directory フェデレーション サービス (AD FS) 統合、証明書ローテーションの設定など、統合システムのための多くのデプロイ後データセンター統合タスク。Many post-deployment datacenter integration tasks for integrated systems, such as adding Domain Name System (DNS) forwarders after deployment, setting up Microsoft Graph integration, Active Directory Federation Services (AD FS) integration, certificate rotation, and so on.
  • 統合システムの詳細なトラブルシューティングのために、サポート部門と連携して一時的な高レベル アクセスを取得。To work with support to obtain temporary, high-level access for in-depth troubleshooting of an integrated system.

PEP では、PowerShell セッションで実行するすべてのアクション (および、それに対応する出力) がログに記録されます。The PEP logs every action (and its corresponding output) that you perform in the PowerShell session. これにより、完全な透明性と操作の完全な監査が提供されます。This provides full transparency and complete auditing of operations. これらのログ ファイルは将来の監査のために保持できます。You can keep these log files for future audits.

注意

Azure Stack Development Kit (ASDK) では、PEP で利用可能なコマンドの一部を、開発キットのホスト上の PowerShell セッションから直接実行できます。In the Azure Stack Development Kit (ASDK), you can run some of the commands available in the PEP directly from a PowerShell session on the development kit host. ただし、これは統合システム環境で特定の操作を実行するために利用可能な唯一の手段であるため、ログ収集など、PEP を使用した一部の操作をテストすることが必要な場合があります。However, you may want to test some operations using the PEP, such as log collection, because this is the only method available to perform certain operations in an integrated systems environment.

特権エンドポイントへのアクセスAccess the privileged endpoint

PEP には、PEP をホストする仮想マシン (VM) 上のリモート PowerShell セッションを介してアクセスします。You access the PEP through a remote PowerShell session on the virtual machine (VM) that hosts the PEP. ASDK では、この VM の名前は AzS-ERCS01 です。In the ASDK, this VM is named AzS-ERCS01. 統合システムを使用している場合、PEP の 3 つのインスタンスがあり、それぞれ異なるホスト上の VM (Prefix-ERCS01、Prefix-ERCS02、または Prefix-ERCS03) 内で動作することで、回復性を確保しています。If you're using an integrated system, there are three instances of the PEP, each running inside a VM (Prefix-ERCS01, Prefix-ERCS02, or Prefix-ERCS03) on different hosts for resiliency.

統合システムに対してこの手順を開始する前に、IP アドレスによって、または DNS を介して PEP にアクセスできることを確認してください。Before you begin this procedure for an integrated system, make sure you can access the PEP either by IP address or through DNS. Azure Stack Hub の初期デプロイ後は、DNS 統合がまだセットアップされていないため、IP アドレスでしか PEP にアクセスできません。After the initial deployment of Azure Stack Hub, you can access the PEP only by IP address because DNS integration isn't set up yet. PEP の IP アドレス を含む AzureStackStampDeploymentInfo という名前の JSON ファイルが、OEM ハードウェア ベンダーから提供されます。Your OEM hardware vendor will provide you with a JSON file named AzureStackStampDeploymentInfo that contains the PEP IP addresses.

IP アドレスは Azure Stack Hub 管理者ポータルでも見つかります。You may also find the IP address in the Azure Stack Hub administrator portal. https://adminportal.local.azurestack.external などのポータルを開きます。Open the portal, for example, https://adminportal.local.azurestack.external. [リージョンの管理] > [プロパティ] を選択します。Select Region Management > Properties.

特権エンドポイントの実行時には、現在のカルチャ設定を en-US に設定する必要があります。そうしないと、Test-AzureStack や Get-AzureStackLog などのコマンドレットが想定されているように機能しません。You will need set your current culture setting to en-US when running the privileged endpoint, otherwise cmdlets such as Test-AzureStack or Get-AzureStackLog will not work as expected.

注意

セキュリティ上の理由から、PEP への接続は、ハードウェア ライフサイクル ホスト上で実行されているセキュリティ強化された VM から、または特権アクセス ワークステーションのような専用のセキュリティで保護されたコンピューターからに限定して行う必要があります。For security reasons, we require that you connect to the PEP only from a hardened VM running on top of the hardware lifecycle host, or from a dedicated and secure computer, such as a Privileged Access Workstation. ハードウェア ライフサイクル ホストは、元の構成から変更しないようにし (新しいソフトウェアのインストールするなど)、PEP への接続にも使わないようにする必要があります。The original configuration of the hardware lifecycle host must not be modified from its original configuration (including installing new software) or used to connect to the PEP.

  1. 信頼関係を確立します。Establish the trust.

    • 統合システムで、管理者特権の Windows PowerShell セッションから次のコマンドを実行して、ハードウェア ライフサイクル ホストまたは特権アクセス ワークステーションで実行されているセキュリティ強化された VM の信頼されたホストとして PEP を追加します。On an integrated system, run the following command from an elevated Windows PowerShell session to add the PEP as a trusted host on the hardened VM running on the hardware lifecycle host or the Privileged Access Workstation.
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value '<IP Address of Privileged Endpoint>' -Concatenate
    
    • ASDK を実行している場合、開発キットのホストにサインインします。If you're running the ASDK, sign in to the development kit host.
  2. ハードウェア ライフサイクル ホストまたは特権アクセス ワークステーションで実行されているセキュリティ強化された VM で、Windows PowerShell セッションを開きます。On the hardened VM running on the hardware lifecycle host or the Privileged Access Workstation, open a Windows PowerShell session. 次のコマンドを実行して、PEP をホストする VM 上でリモート セッションを確立します。Run the following commands to establish a remote session on the VM that hosts the PEP:

  • 統合システム上で:On an integrated 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
    

    ComputerName パラメーターには、PEP をホストする 1 つの VM の IP アドレスまたは DNS 名を指定できます。The ComputerName parameter can be either the IP address or the DNS name of one of the VMs that hosts the PEP.

    注意

    Azure Stack Hub は、PEP 資格情報の検証時にリモート呼び出しを行いません。Azure Stack Hub doesn't make a remote call when validating the PEP credential. ローカルに保存された RSA 公開キーに依存して、それを行います。It relies on a locally-stored RSA public key to do that.

  • ASDK を実行している場合:If you're running the 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
    
  • 入力を求められたら、次の資格情報を使用します。When prompted, use the following credentials:

    • ユーザー名: <"Azure Stack Hub ドメイン">\cloudadmin の形式で CloudAdmin アカウントを指定します。User name: Specify the CloudAdmin account, in the format <Azure Stack Hub domain>\cloudadmin. (ASDK の場合、ユーザー名は azurestack\cloudadmin です。)(For ASDK, the user name is azurestack\cloudadmin.)

    • パスワード:インストール中に AzureStackAdmin ドメイン管理者アカウントのパスワードとして指定したものと同じパスワードを入力します。Password: Enter the same password that was provided during installation for the AzureStackAdmin domain administrator account.

    注意

    ERCS エンドポイントに接続できない場合は、別の ERCS VM の IP アドレスを使用して、手順 1 と手順 2 を再試行してください。If you're unable to connect to the ERCS endpoint, retry steps one and two with another ERCS VM IP address.

  1. 接続後、環境に応じて [IP アドレスまたは ERCS VM 名]: PS> または [azs-ercs01]:PS> プロンプトが変わります。After you connect, the prompt will change to [IP address or ERCS VM name]: PS> or to [azs-ercs01]: PS>, depending on the environment. ここから Get-Command を実行して、利用可能なコマンドレットの一覧を表示します。From here, run Get-Command to view the list of available cmdlets.

    コマンドレットのリファレンスについては、「Azure Stack ハブの特権エンドポイント リファレンス」を参照してください。You can find a reference for cmdlets in at Azure Stack Hub privileged endpoint reference

    これらのコマンドレットの多くは、統合システム環境での使用のみが意図されています (データセンター統合に関連するコマンドレットなど)。Many of these cmdlets are intended only for integrated system environments (such as the cmdlets related to datacenter integration). ASDK では、次のコマンドレットが検証済みです。In the ASDK, the following cmdlets have been validated:

    • Clear-HostClear-Host
    • Close-PrivilegedEndpointClose-PrivilegedEndpoint
    • Exit-PSSessionExit-PSSession
    • Get-AzureStackLogGet-AzureStackLog
    • Get-AzureStackStampInformationGet-AzureStackStampInformation
    • Get-CommandGet-Command
    • Get-FormatDataGet-FormatData
    • Get-HelpGet-Help
    • Get-ThirdPartyNoticesGet-ThirdPartyNotices
    • Measure-ObjectMeasure-Object
    • New-CloudAdminUserNew-CloudAdminUser
    • Out-DefaultOut-Default
    • Remove-CloudAdminUserRemove-CloudAdminUser
    • Select-ObjectSelect-Object
    • Set-CloudAdminUserPasswordSet-CloudAdminUserPassword
    • Test-AzureStackTest-AzureStack
    • Stop-AzureStackStop-AzureStack
    • Get-ClusterLogGet-ClusterLog

特権エンドポイントの使用方法How to use the privileged endpoint

前述のとおり、PEP は、PowerShell JEA エンドポイントです。As mentioned above, the PEP is a PowerShell JEA endpoint. JEA エンドポイントにより、強力なセキュリティ層が提供される一方で、スクリプトやタブ補完などの基本的な PowerShell の機能の一部が失われます。While providing a strong security layer, a JEA endpoint reduces some of the basic PowerShell capabilities, such as scripting or tab completion. 何らかの種類のスクリプト操作を試みると、エラー ScriptsNotAllowed で操作は失敗します。If you try any type of script operation, the operation fails with the error ScriptsNotAllowed. このエラーは予想される動作です。This failure is expected behavior.

たとえば、特定のコマンドレットについてパラメーターの一覧を取得するには、次のコマンドを実行します。For instance, to get the list of parameters for a given cmdlet, run the following command:

    Get-Command <cmdlet_name> -Syntax

または、Import-PSSession コマンドレット使用して、ローカル コンピューターの現在のセッションにすべての PEP コマンドレットをインポートすることもできます。Alternatively, you can use the Import-PSSession cmdlet to import all the PEP cmdlets into the current session on your local machine. PEP のすべてコマンドレットと関数を、タブ補完や、より一般にはスクリプトと共に、ローカル コンピューターで利用できるようになります。The cmdlets and functions of the PEP are now available on your local machine, together with tab completion and, more in general, scripting. Get-Help モジュールを実行して、コマンドレットの手順を確認することもできます。You can also run the Get-Help module to review cmdlet instructions.

ローカル コンピューターに PEP セッションをインポートするには、次の手順を実行します。To import the PEP session on your local machine, do the following steps:

  1. 信頼関係を確立します。Establish the trust.

    • 統合システムで、管理者特権の Windows PowerShell セッションから次のコマンドを実行して、ハードウェア ライフサイクル ホストまたは特権アクセス ワークステーションで実行されているセキュリティ強化された VM の信頼されたホストとして PEP を追加します。On an integrated system, run the following command from an elevated Windows PowerShell session to add the PEP as a trusted host on the hardened VM running on the hardware lifecycle host or the Privileged Access Workstation.
    winrm s winrm/config/client '@{TrustedHosts="<IP Address of Privileged Endpoint>"}'
    
    • ASDK を実行している場合、開発キットのホストにサインインします。If you're running the ASDK, sign in to the development kit host.
  2. ハードウェア ライフサイクル ホストまたは特権アクセス ワークステーションで実行されているセキュリティ強化された VM で、Windows PowerShell セッションを開きます。On the hardened VM running on the hardware lifecycle host or the Privileged Access Workstation, open a Windows PowerShell session. 次のコマンドを実行して、PEP をホストする仮想マシン上でリモート セッションを確立します。Run the following commands to establish a remote session on the virtual machine that hosts the PEP:

    • 統合システム上で:On an integrated system:

        $cred = Get-Credential
      
        $session = New-PSSession -ComputerName <IP_address_of_ERCS> `
          -ConfigurationName PrivilegedEndpoint -Credential $cred
      

      ComputerName パラメーターには、PEP をホストする 1 つの VM の IP アドレスまたは DNS 名を指定できます。The ComputerName parameter can be either the IP address or the DNS name of one of the VMs that hosts the PEP.

    • ASDK を実行している場合:If you're running the ASDK:

        $cred = Get-Credential
      
        $session = New-PSSession -ComputerName azs-ercs01 `
           -ConfigurationName PrivilegedEndpoint -Credential $cred
      

    入力を求められたら、次の資格情報を使用します。When prompted, use the following credentials:

    • ユーザー名: <"Azure Stack Hub ドメイン">\cloudadmin の形式で CloudAdmin アカウントを指定します。User name: Specify the CloudAdmin account, in the format <Azure Stack Hub domain>\cloudadmin. (ASDK の場合、ユーザー名は azurestack\cloudadmin です。)(For ASDK, the user name is azurestack\cloudadmin.)
    • パスワード:インストール中に AzureStackAdmin ドメイン管理者アカウントのパスワードとして指定したものと同じパスワードを入力します。Password: Enter the same password that was provided during installation for the AzureStackAdmin domain administrator account.
  3. ローカル コンピューターに PEP セッションをインポートします。Import the PEP session into your local machine:

      Import-PSSession $session
    
  4. これで、Azure Stack Hub のセキュリティの状態を低下させることなく、PEP のすべての関数およびコマンドレットと共に、ローカルの PowerShell セッションで通常どおりにタブ補完を使用し、スクリプトを実行できるようになりました。Now, you can use tab-completion and do scripting as usual on your local PowerShell session with all the functions and cmdlets of the PEP, without decreasing the security posture of Azure Stack Hub. 機能を有効にご活用ください。Enjoy!

特権エンドポイント セッションを閉じるClose the privileged endpoint session

前述のとおり、PEP では、PowerShell セッションで実行するすべてのアクション (および、それに対応する出力) がログに記録されます。As mentioned earlier, the PEP logs every action (and its corresponding output) that you do in the PowerShell session. Close-PrivilegedEndpoint コマンドレットを使ってセッションを閉じる必要があります。You must close the session by using the Close-PrivilegedEndpoint cmdlet. このコマンドレットは、エンドポイントを正しく閉じて、ログ ファイルを保管用の外部ファイル共有に転送します。This cmdlet correctly closes the endpoint, and transfers the log files to an external file share for retention.

エンドポイント セッションを閉じるには:To close the endpoint session:

  1. PEP からアクセス可能な外部ファイル共有を作成します。Create an external file share that's accessible by the PEP. 開発キット環境では、開発キットのホスト上にファイル共有を作成することができます。In a development kit environment, you can just create a file share on the development kit host.
  2. 次のコマンドレットを実行します。Run the following cmdlet:
   Close-PrivilegedEndpoint -TranscriptsPathDestination "\\fileshareIP\SharedFolder" -Credential Get-Credential

このコマンドレットでは次の表のパラメーターを使用します。The cmdlet uses the parameters in the following table:

パラメーターParameter 説明Description TypeType 必須Required
TranscriptsPathDestinationTranscriptsPathDestination "fileshareIP\sharefoldername" として定義されている外部ファイル共有へのパスPath to the external file share defined as "fileshareIP\sharefoldername" StringString はいYes
資格情報Credential ファイル共有にアクセスするための資格情報Credentials to access the file share SecureStringSecureString はいYes

トランスクリプト ログ ファイルがファイル共有に正常に転送された後、それらのファイルは PEP から自動的に削除されます。After the transcript log files are successfully transferred to the file share, they're automatically deleted from the PEP.

注意

コマンドレット Exit-PSSession または Exit を使用して PEP セッションを閉じた、または単に PowerShell コンソールを閉じた場合、トランスクリプト ログはファイル共有に転送されません。If you close the PEP session by using the cmdlets Exit-PSSession or Exit, or you just close the PowerShell console, the transcript logs don't transfer to a file share. それらは PEP に残ります。They remain in the PEP. 次に Close-PrivilegedEndpoint を実行してファイル共有をインクルードしたときに、以前のセッションのトランスクリプト ログも併せて転送されます。The next time you run Close-PrivilegedEndpoint and include a file share, the transcript logs from the previous session(s) will also transfer. Exit-PSSession または Exit を使って PEP セッションを閉じないでください。代わりに、Close-PrivilegedEndpoint を使ってください。Don't use Exit-PSSession or Exit to close the PEP session; use Close-PrivilegedEndpoint instead.

次のステップNext steps