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

適用先: Azure Stack 統合システムと Azure Stack 開発キットApplies to: Azure Stack integrated systems and Azure Stack Development Kit

Azure Stack オペレーターは、管理ポータル、PowerShell、または Azure Resource Manager API を使用して、ほとんどの日常的な管理タスクを実行します。As an Azure Stack 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 perform 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 administrator accounts are required. セキュリティ強化のため、スクリプトは許可されません。For additional security, scripting is not allowed.

PEP を使用して、次のようなタスクを実行することができます。You can use the PEP to perform tasks such as the following:

  • 診断ログの収集などの低レベル タスクを実行するため。To perform low-level tasks, such as collecting diagnostic logs.
  • デプロイ後の Domain Name System (DNS) フォワーダーの追加、Microsoft Graph 統合のセットアップ、Active Directory Federation Services (AD FS) 統合、証明書ローテーションなど、統合システムのための多くのデプロイ後データセンター統合タスクを実行するため。To perform 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, etc.
  • 統合システムの詳細なトラブルシューティングのために、サポート部門と連携して一時的な高レベル アクセスを取得するため。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 retain 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 をホストする仮想マシン上のリモート PowerShell セッションを介してアクセスします。You access the PEP through a remote PowerShell session on the virtual machine that hosts the PEP. ASDK では、この仮想マシンの名前は AzS-ERCS01 です。In the ASDK, this virtual machine is named AzS-ERCS01. 統合システムを使用している場合、PEP の 3 つのインスタンスがあり、それぞれ異なるホスト上の仮想マシン (Prefix-ERCS01、Prefix-ERCS02、または Prefix-ERCS03) 内で動作することで、回復性を確保しています。If you’re using an integrated system, there are three instances of the PEP, each running inside a virtual machine (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 の初期デプロイ後は、DNS 統合がまだセットアップされていないため、IP アドレスでしか PEP にアクセスできません。After the initial deployment of Azure Stack, you can access the PEP only by IP address because DNS integration is not yet set up. PEP の IP アドレス を含む AzureStackStampDeploymentInfo という名前の JSON ファイルが、OEM ハードウェア ベンダーから提供されます。Your OEM hardware vendor will provide you with a JSON file named AzureStackStampDeploymentInfo that contains the PEP IP addresses.

注意

セキュリティ上の理由から、PEP への接続は、ハードウェア ライフサイクル ホスト上で実行するセキュリティを強化された仮想マシンから、または Privileged Access Workstation のような専用のセキュリティで保護されたコンピューターからに限定して行う必要があります。For security reasons, we require that you connect to the PEP only from a hardened virtual machine running on top of the hardware lifecycle host, or from a dedicated, 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, nor it should be used to connect to the PEP.

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

    • 統合システムで、管理者特権の Windows PowerShell セッションから次のコマンドを実行して、ハードウェア ライフサイクル ホストまたは Privileged Access Workstation で実行されているセキュリティ強化された仮想マシンの信頼されたホストとして 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 virtual machine 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. ハードウェア ライフサイクル ホストまたは Privileged Access Workstation で実行しているセキュリティ強化された仮想マシンで、Windows PowerShell セッションを開きます。On the hardened virtual machine 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
      
        Enter-PSSession -ComputerName <IP_address_of_ERCS> `
          -ConfigurationName PrivilegedEndpoint -Credential $cred
      

      ComputerName パラメーターは、PEP をホストする仮想マシンの 1 台の IP アドレスまたは DNS 名のどちらかです。The ComputerName parameter can be either the IP address or the DNS name of one of the virtual machines that hosts the PEP.

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

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

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

      • ユーザー名: <Azure Stack ドメイン>\cloudadmin の形式で CloudAdmin アカウントを指定します。User name: Specify the CloudAdmin account, in the format <Azure Stack 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 are unable to connect to the ERCS endpoint, try steps one and two again with the IP address of an ERCS VM to which you haven't already tried to connect.

  3. 接続後、環境に応じて [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.

    これらのコマンドレットの多くは、統合システム環境での使用のみが意図されています (データセンター統合に関連するコマンドレットなど)。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

特権エンドポイントを使用するためのヒントTips for using 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 is expected behavior.

そのため、たとえば、特定のコマンドレットについてパラメーターの一覧を取得するには、次のコマンドを実行します。So, for instance, to get the list of parameters for a given cmdlet, you 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 のすべてコマンドレットと関数を、タブ補完や、より一般にはスクリプトと共に、ローカル コンピューターで利用できるようになります。By doing so, all cmdlets and functions of the PEP are now available on your local machine, together with tab completion and, more in general, scripting.

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

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

    統合システムで、管理者特権の Windows PowerShell セッションから次のコマンドを実行して、ハードウェア ライフサイクル ホストまたは Privileged Access Workstation で実行されているセキュリティ強化された仮想マシンの信頼されたホストとして 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 virtual machine 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. ハードウェア ライフサイクル ホストまたは Privileged Access Workstation で実行しているセキュリティ強化された仮想マシンで、Windows PowerShell セッションを開きます。On the hardened virtual machine 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 台の IP アドレスまたは DNS 名のどちらかです。The ComputerName parameter can be either the IP address or the DNS name of one of the virtual machines 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 ドメイン>\cloudadmin の形式で CloudAdmin アカウントを指定します。User name: Specify the CloudAdmin account, in the format <Azure Stack 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 のセキュリティ対策を損なうことなく、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. 機能を有効にご活用ください。Enjoy!

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

前述のとおり、PEP では、PowerShell セッションで実行するすべてのアクション (および、それに対応する出力) がログに記録されます。As mentioned earlier, the PEP logs every action (and its corresponding output) that you perform 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 is accessible by the PEP. 開発キット環境では、開発キットのホスト上にファイル共有を作成することができます。In a development kit environment, you can just create a file share on the development kit host.
  2. Close-PrivilegedEndpoint コマンドレットを実行します。Run the Close-PrivilegedEndpoint cmdlet.
  3. トランスクリプト ログ ファイルを保存するパスの指定を求められます。You're prompted for a path on which to store the transcript log file. 作成済みのファイル共有を \\servername\sharename の形式で指定します。Specify the file share that you created earlier, in the format \\servername\sharename. パスを指定しない場合、コマンドレットは失敗し、セッションは開いたままです。If you don’t specify a path, the cmdlet fails and the session remains open.

    トランスクリプトの保存先パスとして指定した場所を示す Close-PrivilegedEndpoint コマンドレットの出力

トランスクリプト ログ ファイルがファイル共有に正常に転送された後、それらのファイルは 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 を使ってください。Do not use Exit-PSSession or Exit to close the PEP session; use Close-PrivilegedEndpoint instead.

次の手順Next steps

Azure Stack の診断ツールAzure Stack diagnostic tools