Condividi tramite


Limitare l'accesso SSH alle macchine virtuali nel servizio Azure Kubernetes abilitato da Azure Arc (servizio Azure Kubernetes in Azure Locale 22H2)

Si applica a: AKS su Azure Local 22H2, AKS su Windows Server

Questo articolo descrive una nuova funzionalità di sicurezza in AKS Arc che limita l'accesso SSH (Secure Shell Protocol) alle macchine virtuali sottostanti. La funzionalità limita l'accesso solo a determinati indirizzi IP e limita il set di comandi che è possibile eseguire tramite SSH.

Panoramica

Attualmente, chiunque abbia accesso amministratore al servizio Azure Kubernetes abilitato da Arc può accedere alle macchine virtuali tramite SSH in qualsiasi computer. In alcuni scenari potrebbe essere necessario limitare l'accesso, perché l'accesso illimitato rende difficile passare la conformità.

Nota

Attualmente, questa funzionalità è disponibile solo per una nuova installazione del servizio Azure Kubernetes Arc e non per gli aggiornamenti. Solo una nuova installazione di AKS Arc può passare gli INDIRIZZI IP limitati e limitare i comandi eseguiti su SSH.

Abilitare le restrizioni SSH

Per abilitare le restrizioni SSH, seguire questa procedura:

  1. Creare una configurazione SSH utilizzando il cmdlet New-AksHciSSHConfiguration, con gli indirizzi IP di origine consentiti o CIDR a cui vuoi permettere l'accesso alle macchine virtuali:

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

    o

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

    oppure per limitare l'accesso SSH:

    $ssh = New-AksHciSSHConfiguration -name sshConfig –restrictSSHCommands 
    

    Nota

    Se le chiavi SSH non vengono passate, le chiavi SSH del cluster di gestione vengono riutilizzate.

  2. Aggiungere la configurazione SSH eseguendo il cmdlet Set-AksHciConfig, passando la configurazione SSH creata nel passaggio precedente:

    Set-AksHciConfig -ssh $ssh
    

Convalida: cluster di destinazione

Dopo aver creato il cluster, è possibile verificare manualmente che la restrizione SSH sia stata aggiunta provando a eseguire SSH in una delle macchine virtuali. Per esempio:

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

È possibile eseguire questo passaggio all'interno dell'elenco di indirizzi IP/CIDR specificati o all'esterno dell'elenco di indirizzi IP. SSH ha accesso dall'interno dell'intervallo di indirizzi IP/CIDR. I tentativi SSH dall'esterno dell'elenco non hanno accesso.

È anche possibile eseguire comandi direttamente da SSH. Questo comando restituisce la data. I comandi Sudo non funzionano.

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

Convalida: raccolta di registri

Questo comando restituisce i log della macchina virtuale, ad esempio cloudinit, i log lb e così via.

Get-AksHciLogs –virtualMachineLogs

Considerazioni

  • È ora disponibile una singola configurazione SSH per i cluster del carico di lavoro. La configurazione per i cluster di carichi di lavoro usa il cmdlet New-AksHciSSHConfiguration PowerShell.
  • La restrizione è solo per Linux. I nodi di Windows non hanno questa restrizione; dovrebbe essere possibile connettersi correttamente a SSH.
  • È possibile impostare la configurazione solo durante la fase di installazione del servizio Azure Kubernetes Arc.
  • Se si configurano in modo non corretto impostazioni SSH, è necessario eseguire una reinstallazione.
  • Non è disponibile alcun supporto per gli aggiornamenti.
  • È possibile aggiungere CIDR o indirizzi IP a cui è possibile limitare l'accesso SSH.
  • L'impostazione SSH disponibile viene riutilizzata per tutti i cluster di destinazione. La singola configurazione SSH per i cluster del carico di lavoro non è disponibile.

Passaggi successivi