次の方法で共有


Windows Server 上の AKS の仮想マシンへの SSH アクセスを制限する

適用対象: Windows Server 上の AKS

この記事では、基になる仮想マシン (VM) への Secure Shell Protocol (SSH) アクセスを制限する AKS Arc の新しいセキュリティ機能について説明します。 この機能は、特定の IP アドレスのみにアクセスを制限し、SSH 経由で実行できるコマンドのセットを制限します。

概要

現時点では、Windows Server 上の AKS への管理者アクセス権を持つすべてのユーザーが、任意のマシン上の SSH 経由で VM にアクセスできます。 一部のシナリオでは、無制限のアクセスによってコンプライアンスへの準拠が困難になるため、そのアクセスを制限することが必要になる場合があります。

手記

現時点では、この機能は AKS Arc の新規インストールでのみ使用でき、アップグレードには使用できません。 制限付き IP を渡し、SSH 経由で実行されるコマンドを制限できるのは、AKS Arc の新規インストールのみです。

SSH 制限を有効にする

SSH 制限を有効にするには、次の手順を実行します。

  1. New-AksHciSSHConfiguration コマンドレットを使用して、VM へのアクセスを許可する許可されたソース IP アドレスまたは CIDR を使用して SSH 構成を作成します。

    $ssh = New-AksHciSSHConfiguration -name sshConfig -cidr 172.16.0.0/24
    

    または

    $ssh = New-AksHciSSHConfiguration -name sshConfig -ipAddresses 4.4.4.4,8.8.8.8
    

    または、SSH アクセスを制限する場合:

    $ssh = New-AksHciSSHConfiguration -name sshConfig –restrictSSHCommands 
    

    手記

    SSH キーが渡されない場合は、管理クラスターの SSH キーが再利用されます。

  2. Set-AksHciConfig コマンドレットを実行し、前の手順で作成した SSH 構成を渡して、SSH 構成を追加します。

    Set-AksHciConfig -ssh $ssh
    

検証: ターゲット クラスター

クラスターを作成したら、いずれかの VM に SSH 接続することで、SSH 制限が追加されたことを手動で検証できます。 例えば:

ssh -i (get-MocConfig).sshPrivateKey clouduser@<vm-ipaddress>

この手順は、指定された IP アドレス/CIDR の一覧内、または IP アドレスの一覧の外部で実行できます。 IP アドレス/CIDR の範囲内からの SSH にはアクセス権があります。 リストの外部からの SSH 試行にはアクセス権がありません。

SSH から直接コマンドを実行することもできます。 このコマンドは日付を返します。 Sudo コマンドは機能しません。

ssh -i (get-mocconfig).sshPrivateKey clouduser@<ip> date 

検証: ログ収集

このコマンドは、cloudinitlb ログなどの VM ログを返します。

Get-AksHciLogs –virtualMachineLogs

考慮 事項

  • ワークロード クラスターの個々の SSH 構成を使用できるようになりました。 ワークロード クラスターの構成では、New-AksHciSSHConfiguration PowerShell コマンドレットを使用します。
  • この制限は Linux に対してのみ適用されます。 Windows ノードにはこの制限はありません。SSH を正常に実行できる必要があります。
  • 構成は、AKS Arc のインストール フェーズ中にのみ設定できます。
  • SSH 設定を誤って構成した場合は、再インストールを実行する必要があります。
  • アップグレードはサポートされません。
  • SSH アクセスを制限できる CIDR または IP アドレスを追加できます。
  • 指定した SSH 設定は、すべてのターゲット クラスターで再利用されます。 ワークロード クラスターの個々の SSH 構成は使用できません。

次の手順