Esercitazione: Limitare l'accesso di rete alle risorse PaaS con gli endpoint servizio di rete virtuale
Articolo
Gli endpoint servizio di rete virtuale consentono di limitare l'accesso di rete ad alcune risorse dei servizi di Azure a una subnet della rete virtuale. È anche possibile rimuovere l'accesso Internet alle risorse. Gli endpoint di servizio forniscono la connessione diretta dalla rete virtuale ai servizi di Azure supportati, consentendo di usare lo spazio indirizzi privato della rete virtuale per accedere ai servizi di Azure. Il traffico destinato alle risorse di Azure tramite gli endpoint di servizio rimane sempre nella rete backbone di Microsoft Azure.
In questa esercitazione apprenderai a:
Creare una rete virtuale con una subnet
Aggiungere una subnet e abilitare un endpoint di servizio
Creare una risorsa di Azure e consentire l'accesso di rete alla risorsa da una sola subnet
Distribuire una macchina virtuale (VM) in ogni subnet
Verificare che venga consentito l'accesso a una risorsa da una subnet
Verificare che venga rifiutato l'accesso a una risorsa da una subnet e da Internet
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Azure Cloud Shell
Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.
Per avviare Azure Cloud Shell:
Opzione
Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure.
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.
Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.
Selezionare Invio per eseguire il codice o il comando.
Se si sceglie di installare e usare PowerShell in locale, per questo articolo è necessario il modulo Azure PowerShell 1.0.0 o versione successiva. Eseguire Get-Module -ListAvailable Az per trovare la versione installata. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzAccount per creare una connessione con Azure.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Questo articolo richiede l'interfaccia della riga di comando di Azure versione 2.0.28 o successiva. Se si usa Azure Cloud Shell, la versione più recente è già installata.
La procedura seguente consente di creare una rete virtuale con una subnet di risorse, una subnet di Azure Bastion e un host Bastion:
Nel portale cercare e selezionare Reti virtuali.
Nella pagina Reti virtuali selezionare + Crea.
Nella scheda Informazioni di base di Crea rete virtuale immettere o selezionare le informazioni seguenti:
Impostazione
Valore
Dettagli di progetto
Subscription
Selezionare la propria sottoscrizione.
Gruppo di risorse
Selezionare Crea nuovo. Immettere test-rg per il nome. Selezionare OK.
Dettagli istanza
Nome
Immettere vnet-1.
Paese
Selezionare Stati Uniti orientali 2.
Selezionare Avanti per passare alla scheda Sicurezza.
Nella sezione Azure Bastion, selezionare Abilita Azure Bastion.
Bastion usa il browser per connettersi alle macchine virtuali nella rete virtuale tramite SSH (Secure Shell) o RDP (Remote Desktop Protocol) usando i relativi indirizzi IP privati. Le macchine virtuali non necessitano di indirizzi IP pubblici, software client o configurazioni speciali. Per altre informazioni, vedere Informazioni su Azure Bastion.
Nota
La tariffa oraria inizia dal momento in cui viene distribuito Bastion, a prescindere dall'utilizzo dei dati in uscita. Per altre informazioni, vedere Prezzi e SKU. Se si distribuisce Bastion nel corso di un'esercitazione o di un test, è consigliabile eliminare questa risorsa dopo averla usata.
In Azure Bastion immettere o selezionare le informazioni seguenti:
Impostazione
Valore
Nome host Azure Bastion
Immettere bastion.
Indirizzo IP pubblico di Azure Bastion
Selezionare Crea un indirizzo IP pubblico. Immettere public-ip-bastion in Nome. Selezionare OK.
Selezionare Avanti per passare alla scheda Indirizzi IP.
Nella casella spazio indirizzi in Subnetselezionare la subnet predefinita.
In Modifica subnet immettere o selezionare le informazioni seguenti:
Selezionare Rivedi e crea nella parte inferiore della finestra. Al termine della convalida, selezionare Crea.
Gli endpoint di servizio sono abilitati per servizio e per subnet.
Nella casella di ricerca, nella parte superiore della pagina del portale, cercare Rete virtuale. Selezionare Reti virtuali nei risultati della ricerca.
In Reti virtuali, selezionare vnet-1.
Nella sezione Impostazioni di vnet-1, selezionare Subnet.
Selezionare + Subnet.
Nella pagina Aggiungi subnet, immettere o selezionare le informazioni seguenti:
Prima di creare una rete virtuale, è necessario creare un gruppo di risorse per la rete virtuale e tutte le altre risorse create in questo articolo. Creare un gruppo di risorse con New-AzResourceGroup. Nell'esempio seguente viene creato il gruppo di risorse denominato test-rg:
Creare una rete virtuale con New-AzVirtualNetwork. Nell'esempio seguente viene creata una rete virtuale denominata vnet-1 con il prefisso dell'indirizzo 10.0.0.0/16.
Creare una configurazione di subnet con New-AzVirtualNetworkSubnetConfig. L'esempio seguente crea una configurazione subnet per una subnet denominata subnet-public:
Creare la subnet nella rete virtuale scrivendo la relativa configurazione nella rete virtuale con Set-AzVirtualNetwork:
$virtualNetwork | Set-AzVirtualNetwork
Creare un'altra subnet nella rete virtuale. In questo esempio viene creata una subnet denominata subnet-private con un endpoint di servizio per Microsoft.Storage:
Azure Bastion usa il browser per connettersi alle VM nella rete virtuale tramite Secure Shell (SSH) o Remote Desktop Protocol (RDP) usando i relativi indirizzi IP privati. Le VM non necessitano di indirizzi IP pubblici, software client o configurazione speciale. Per altre informazioni su Bastion, vedere Che cos'è Azure Bastion?.
La tariffa oraria inizia dal momento in cui viene distribuito Bastion, a prescindere dall'utilizzo dei dati in uscita. Per altre informazioni, vedere Prezzi e SKU. Se si distribuisce Bastion nel corso di un'esercitazione o di un test, è consigliabile eliminare questa risorsa dopo averla usata.
Configurare una subnet Bastion per la rete virtuale. Questa subnet è riservata esclusivamente alle risorse Bastion e deve essere denominata AzureBastionSubnet.
La distribuzione delle risorse Bastion richiede circa 10 minuti. È possibile creare macchine virtuali nella sezione successiva mentre Bastion viene distribuito nella rete virtuale.
Creare una rete virtuale
Prima di creare una rete virtuale, è necessario creare un gruppo di risorse per la rete virtuale e tutte le altre risorse create in questo articolo. Come prima cosa creare un gruppo di risorse con az group create. Nell'esempio seguente viene creato un gruppo di risorse denominato test-rg al percorso westus2.
az group create \
--name test-rg \
--location westus2
È possibile abilitare gli endpoint di servizio solo per i servizi che supportano tali endpoint. Visualizzare i servizi abilitati per gli endpoint di servizio in una località di Azure con az network vnet list-endpoint-services. L'esempio seguente restituisce un elenco di servizi abilitati per gli endpoint di servizio nell'area westus2. L'elenco dei servizi restituiti aumenterà nel corso del tempo perché altri servizi di Azure verranno abilitati per gli endpoint di servizio.
az network vnet list-endpoint-services \
--location westus2 \
--out table
Creare un'altra subnet nella rete virtuale con az network vnet subnet create. In questo esempio viene creato un endpoint di servizio per Microsoft.Storage per la subnet:
Per impostazione predefinita, tutte le istanze di macchine virtuali in una subnet possono comunicare con qualsiasi risorsa. È possibile limitare le comunicazioni verso e da tutte le risorse in una subnet creando un gruppo di sicurezza di rete e associandolo alla subnet.
Nella casella di ricerca, nella parte superiore della pagina del portale, cercare Gruppo di sicurezza di rete. Selezionare Gruppi di sicurezza di rete nei risultati della ricerca.
In Gruppi di sicurezza di rete, selezionare + Crea.
Nella scheda Informazioni di base della pagina Crea gruppo di sicurezza di rete immettere o selezionare le informazioni seguenti:
Impostazione
Valore
Dettagli di progetto
Subscription
Selezionare la propria sottoscrizione.
Gruppo di risorse
Selezionare test-rg.
Dettagli istanza
Nome
Immettere nsg-storage.
Paese
Selezionare Stati Uniti orientali 2.
Selezionare Rivedi e crea e quindi Crea.
Creare un gruppo di sicurezza di rete con New-AzNetworkSecurityGroup. Nell'esempio seguente viene creato un gruppo di sicurezza di rete denominato nsg-private.
Creare un gruppo di sicurezza di rete con il comando az network nsg create. Nell'esempio seguente viene creato un gruppo di sicurezza di rete denominato nsg-private.
az network nsg create \
--resource-group test-rg \
--name nsg-private
Creare regole del gruppo di sicurezza di rete in uscita
Nella casella di ricerca, nella parte superiore della pagina del portale, cercare Gruppo di sicurezza di rete. Selezionare Gruppi di sicurezza di rete nei risultati della ricerca.
Selezionare nsg-storage.
Selezionare Regole di sicurezza in uscita in Impostazioni.
Seleziona + Aggiungi.
Creare una regola che consenta le comunicazioni in uscita al servizio Archiviazione di Azure. In Aggiungi regola di sicurezza in uscita, immettere o selezionare le informazioni seguenti:
Creare un'altra regola di sicurezza in uscita che neghi la comunicazione in Internet. Questa regola esegue l'override di una regola predefinita in tutti i gruppi di sicurezza di rete che consente le comunicazioni Internet in uscita. Completare i passaggi precedenti con i valori seguenti in Aggiungere una regola di sicurezza in uscita:
Nella casella di ricerca, nella parte superiore della pagina del portale, cercare Gruppo di sicurezza di rete. Selezionare Gruppi di sicurezza di rete nei risultati della ricerca.
Selezionare nsg-storage.
In Impostazioni, selezionare Subnet.
Selezionare + Associa.
In Associa subnet, selezionare vnet-1 in Rete virtuale. Selezionare subnet-private in Subnet.
Seleziona OK.
Creare regole di sicurezza per il gruppo di sicurezza di rete con New-AzNetworkSecurityRuleConfig. La regola seguente consente l'accesso in uscita agli indirizzi IP pubblici assegnati al servizio Archiviazione di Azure:
La regola seguente rifiuta l'accesso a tutti gli indirizzi IP pubblici. La regola precedente esegue l'override di questa regola, a causa della priorità più alta, che consente l'accesso agli indirizzi IP pubblici di Archiviazione di Azure.
# Retrieve the existing network security group
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Name = 'nsg-private'
}
$nsg = Get-AzNetworkSecurityGroup @nsgpriv
# Add the new rules to the security group
$nsg.SecurityRules += $rule1
$nsg.SecurityRules += $rule2
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Aggiungere il gruppo di sicurezza di rete alla subnet subnet-private con Set-AzVirtualNetworkSubnetConfig e scrivere la configurazione della subnet nella rete virtuale. L'esempio seguente associa il gruppo di sicurezza di rete nsg-private alla subnet subnet-private:
Creare le regole di sicurezza con az network nsg rule create. La regola seguente consente l'accesso in uscita agli indirizzi IP pubblici assegnati al servizio Archiviazione di Azure:
Ogni gruppo di sicurezza di rete contiene diverse regole di sicurezza predefinite. Regola che esegue l'override di una regola di sicurezza predefinita che consente l'accesso in uscita a tutti gli indirizzi IP pubblici. L'opzione destination-address-prefix "Internet" nega l'accesso in uscita a tutti gli indirizzi IP pubblici. La regola precedente esegue l'override di questa regola, a causa della priorità più alta, che consente l'accesso agli indirizzi IP pubblici di Archiviazione di Azure.
La regola seguente consente il traffico SSH in ingresso verso la subnet da qualsiasi posizione. La regola esegue l'override di una regola di sicurezza predefinita che rifiuta tutto il traffico in ingresso da Internet. SSH è autorizzato alla subnet in modo che la connettività possa essere testata in un passaggio successivo.
Associare la subnet del gruppo di sicurezza di rete alla subnet subnet-private con az network vnet subnet update. L'esempio seguente associa il gruppo di sicurezza di rete nsg-private alla subnet subnet-private:
I passaggi necessari per limitare l'accesso di rete alle risorse create tramite i servizi di Azure abilitati per gli endpoint di servizio variano a seconda dei servizi. Vedere la documentazione relativa ai singoli servizi per i passaggi specifici. Il resto di questa esercitazione include, a titolo di esempio, i passaggi da eseguire per limitare l'accesso di rete per un account di Archiviazione di Azure.
Creare un account di archiviazione
Creare un account di Archiviazione di Azure per i passaggi descritti in questo articolo. Se si ha già un account di archiviazione, è possibile usarlo.
Nella casella di ricerca nella parte superiore del portale, immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
Seleziona + Crea.
Nella scheda Informazioni di base della pagina Crea un account di archiviazione, immettere o selezionare le informazioni seguenti:
Impostazione
Valore
Dettagli del progetto
Abbonamento
Seleziona la tua sottoscrizione di Azure.
Gruppo di risorse
Selezionare test-rg.
Dettagli istanza
Nome account di archiviazione
Immettere storage1. Se il nome non è disponibile, immetterne un altro univoco.
Ufficio
Selezionare (Stati Uniti) Stati Uniti orientali 2.
Prestazioni
Lasciare l'impostazione predefinita Standard.
Ridondanza
Selezionare Archiviazione con ridondanza locale.
Seleziona Esamina.
Seleziona Crea.
Creare un account di archiviazione di Azure con New-AzStorageAccount. Sostituire <replace-with-your-unique-storage-account-name> con un nome univoco per tutte le località di Azure, di lunghezza compresa tra 3 e 24 caratteri e costituito solo da numeri e lettere minuscole.
Ai fini di questa esercitazione, la stringa di connessione viene usata per connettersi all'account di archiviazione. Microsoft consiglia di usare il flusso di autenticazione più sicuro disponibile. Il flusso di autenticazione descritto in questa procedura richiede un livello di attendibilità elevato nell'applicazione e comporta rischi che non sono presenti in altri flussi. Si consiglia di usare questo flusso solo quando altri flussi più sicuri, come le identità gestite, non sono validi.
La chiave viene usata per creare una condivisione file in un passaggio successivo. Immettere $storageAcctKey e annotare il valore. È possibile immetterlo manualmente in un passaggio successivo quando si esegue il mapping della condivisione file a un'unità in una macchina virtuale.
I passaggi necessari per limitare l'accesso di rete alle risorse create tramite i servizi di Azure abilitati per gli endpoint di servizio variano a seconda dei servizi. Vedere la documentazione relativa ai singoli servizi per i passaggi specifici. La parte rimanente di questo articolo include, a titolo di esempio, i passaggi da eseguire per limitare l'accesso di rete per un account di archiviazione di Azure.
Creare un account di archiviazione
Creare un account di archiviazione di Azure con az storage account create. Sostituire <replace-with-your-unique-storage-account-name> con un nome univoco per tutte le località di Azure, di lunghezza compresa tra 3 e 24 caratteri e costituito solo da numeri e lettere minuscole.
Dopo aver creato l'account di archiviazione, recuperare la stringa di connessione per l'account di archiviazione in una variabile con az storage account show-connection-string. La stringa di connessione viene usata per creare una condivisione file in un passaggio successivo.
Ai fini di questa esercitazione, la stringa di connessione viene usata per connettersi all'account di archiviazione. Microsoft consiglia di usare il flusso di autenticazione più sicuro disponibile. Il flusso di autenticazione descritto in questa procedura richiede un livello di attendibilità elevato nell'applicazione e comporta rischi che non sono presenti in altri flussi. Si consiglia di usare questo flusso solo quando altri flussi più sicuri, come le identità gestite, non sono validi.
Nella casella di ricerca nella parte superiore del portale, immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
In Account di archiviazione, selezionare l'account di archiviazione creato nel passaggio precedente.
In Archiviazione dati, selezionare Condivisioni file.
Selezionare + Condivisione file.
Immettere o selezionare le informazioni seguenti in Nuova condivisione file:
Impostazione
valore
Nome
Immettere file-share.
Livello
Lasciare l'impostazione predefinita Ottimizzata xper le transazioni.
Selezionare Avanti: Backup.
Selezionare Abilita backup.
Selezionare Rivedi e crea e quindi Crea.
Creare un contesto per l'account di archiviazione e la relativa chiave con New-AzStorageContext. Il contesto incapsula il nome e la chiave dell'account di archiviazione:
Creare una condivisione file nell'account di archiviazione con az storage share create. In un passaggio successivo questa condivisione file verrà montata per verificare l'accesso di rete.
Per impostazione predefinita, gli account di archiviazione accettano connessioni di rete dai client in qualsiasi rete, inclusa la rete Internet. È possibile limitare l'accesso di rete da Internet e da tutte le altre subnet in tutte le reti virtuali (tranne per la subnet subnet-private nella rete virtuale vnet-1).
Per limitare l'accesso di rete a una subnet:
Nella casella di ricerca nella parte superiore del portale, immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
Selezionare l'account di archiviazione.
In Sicurezza e rete selezionare Rete.
Nella scheda Firewall e reti virtuali, selezionare Abilitato da reti virtuali e indirizzi IP selezionati in Accesso reti pubbliche.
In Reti virtuali, selezionare + Aggiungi rete virtuale esistente.
In Aggiungi reti, immettere o selezionare le informazioni seguenti:
Impostazione
Valore
Subscription
Selezionare la propria sottoscrizione.
Reti virtuali
Selezionare vnet-1.
Subnet
Selezionare subnet-private.
Selezionare Aggiungi.
Selezionare Salva per salvare le configurazioni della rete virtuale.
Per impostazione predefinita, gli account di archiviazione accettano connessioni di rete dai client in qualsiasi rete. Per limitare l'accesso alle reti selezionate, modificare l'azione predefinita impostandola su Deny con Update-AzStorageAccountNetworkRuleSet. Dopo che l'accesso di rete è stato rifiutato, l'account di archiviazione non sarà accessibile da nessuna rete.
Per impostazione predefinita, gli account di archiviazione accettano connessioni di rete dai client in qualsiasi rete. Per limitare l'accesso alle reti selezionate, modificare l'azione predefinita impostandola su Deny con az storage account update. Dopo che l'accesso di rete è stato rifiutato, l'account di archiviazione non sarà accessibile da nessuna rete.
Per testare l'accesso di rete a un account di archiviazione, distribuire una macchina virtuale in ogni subnet.
Creare una macchina virtuale di test
La procedura seguente crea nella rete virtuale una macchina virtuale di test denominata vm-1.
Nel portale, cercare e selezionare Macchine virtuali.
In Macchine virtuali, selezionare + Crea, quindi Macchina virtuale di Azure.
Nella scheda Informazioni di base di Crea una macchina virtuale, immettere o selezionare le informazioni seguenti:
Impostazione
Valore
Dettagli di progetto
Subscription
Selezionare la propria sottoscrizione.
Gruppo di risorse
Selezionare test-rg.
Dettagli istanza
Virtual machine name
Immettere vm-1.
Paese
Selezionare Stati Uniti orientali 2.
Opzioni di disponibilità
Selezionare La ridondanza dell'infrastruttura non è richiesta.
Tipo di sicurezza
Lasciare l'impostazione predefinita Standard.
Immagine
Selezionare Windows Server 2022 Datacenter - x64 Gen2.
Architettura della macchina virtuale
Lasciare il valore predefinito x64.
Dimensione
Selezionare una dimensione.
Account amministratore
Tipo di autenticazione
selezionare Password.
Username
digitare azureuser.
Password
Immettere una password.
Conferma password
Immettere nuovamente la password.
Regole porta in ingresso
Porte in ingresso pubbliche
Selezionare Nessuno.
Selezionare la scheda Rete, nella parte superiore della pagina.
Nella scheda Rete immettere o selezionare le informazioni seguenti:
Impostazione
Valore
Interfaccia di rete
Rete virtuale
Selezionare vnet-1.
Subnet
Selezionare subnet-1 (10.0.0.0/24).
IP pubblico
Selezionare Nessuno.
Gruppo di sicurezza di rete della scheda di interfaccia di rete
Seleziona Avanzate.
Configura gruppo di sicurezza di rete
Selezionare Crea nuovo. Immettere nsg-1 per il nome. Lasciare invariate le impostazioni predefinite e selezionare OK.
Lasciare invariate le impostazioni predefinite e selezionare Rivedi e crea.
Rivedere le impostazioni e selezionare Crea.
Nota
Le macchine virtuali in una rete virtuale con un host Bastion non necessitano di indirizzi IP pubblici. Bastion fornisce l'indirizzo IP pubblico e le macchine virtuali usano indirizzi IP privati per comunicare all'interno della rete. È possibile rimuovere gli indirizzi IP pubblici da qualsiasi macchina virtuale in reti virtuali ospitate da Bastion. Per altre informazioni, vedere Annullare l'associazione di un indirizzo IP pubblico da una macchina virtuale di Azure.
Nota
Azure fornisce un IP di accesso in uscita predefinito per le macchine virtuali a cui non è stato assegnato un indirizzo IP pubblico o che si trovano nel pool back-end di un servizio del bilanciamento del carico di base di Azure. Il meccanismo dell'IP di accesso in uscita predefinito fornisce un IP in uscita non configurabile.
L'IP di accesso in uscita predefinito è disabilitato quando si verifica uno degli eventi seguenti:
Alla macchina virtuale viene assegnato un indirizzo IP pubblico.
La macchina virtuale è posizionata nel pool back-end di un servizio di bilanciamento del carico standard, con o senza regole in uscita.
Una risorsa del gateway NAT di Azure viene assegnata alla subnet della macchina virtuale.
Le macchine virtuali create usando set di scalabilità di macchine virtuali in modalità di orchestrazione flessibile non hanno l'accesso in uscita predefinito.
Ripetere i passaggi nella sezione precedente per creare una seconda macchina virtuale. Sostituire i valori seguenti in Crea una macchina virtuale:
Impostazione
Valore
Virtual machine name
Immettere vm-private.
Subnet
Selezionare subnet-private.
IP pubblico
Selezionare Nessuno.
Gruppo di sicurezza di rete della scheda di interfaccia di rete
Selezionare Nessuno.
Avviso
Continuare con il passaggio successivo solo dopo il completamento della distribuzione.
Creare la prima macchina virtuale
Creare una macchina virtuale nella subnet subnet-private con New-AzVM. Quando si esegue il comando seguente, vengono chieste le credenziali. I valori immessi sono configurati come nome utente e password per la VM.
Per creare la VM, Azure impiega alcuni minuti. Prima di continuare con il passaggio successivo, attendere che Azure finisca di creare la VM e restituisca l'output a PowerShell.
Per testare l'accesso di rete a un account di archiviazione, distribuire una VM in ogni subnet.
Creare la prima macchina virtuale
Creare una macchina virtuale nella subnet subnet-private con az vm create. Se le chiavi SSH non esistono già in una posizione predefinita, vengono create dal comando. Per usare un set specifico di chiavi, utilizzare l'opzione --ssh-key-value.
La creazione della VM richiede alcuni minuti. Dopo aver creato la macchina virtuale, l'interfaccia della riga di comando di Azure mostra informazioni simili all'esempio seguente:
La macchina virtuale creata in precedenza assegnata alla subnetsubnet-private viene usata per confermare l'accesso all'account di archiviazione. La macchina virtuale creata nella sezione precedent, assegnata alla subnet subnet-1, viene usata per verificare che l'accesso all'account di archiviazione sia bloccato.
Ottieni chiave di accesso dell'account di archiviazione
Nella casella di ricerca nella parte superiore del portale, immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
In Account di archiviazione, selezionare l'account di archiviazione.
In Sicurezza e rete, selezionare Chiavi di accesso.
Copiare il valore di key1. Potrebbe essere necessario selezionare il pulsante Mostra per visualizzare la chiave.
Nella casella di ricerca, nella parte superiore del portale, immettere Macchina virtuale. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-private.
In Operazioni, selezionare Bastion.
Immettere il nome utente e la password specificati al momento della creazione della macchina virtuale. Selezionare Connetti.
Apri Windows PowerShell. Usare lo script seguente per eseguire il mapping della condivisione file di Azure all'unità Z.
Sostituire <storage-account-key> con la chiave copiata nel passaggio precedente.
Sostituire <storage-account-name> con il nome del proprio account di archiviazione. In questo esempio, è storage8675.
L'output restituito da PowerShell è simile all'output di esempio seguente:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
Il mapping della condivisione file di Azure all'unità Z è stato eseguito correttamente.
Chiudere la connessione Bastion a vm-private.
La macchina virtuale creata in precedenza assegnata alla subnetsubnet-private viene usata per confermare l'accesso all'account di archiviazione. La macchina virtuale creata nella sezione precedent, assegnata alla subnet subnet-1, viene usata per verificare che l'accesso all'account di archiviazione sia bloccato.
Ottieni chiave di accesso dell'account di archiviazione
Nella casella di ricerca nella parte superiore del portale, immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
In Account di archiviazione, selezionare l'account di archiviazione.
In Sicurezza e rete, selezionare Chiavi di accesso.
Copiare il valore di key1. Potrebbe essere necessario selezionare il pulsante Mostra per visualizzare la chiave.
Nella casella di ricerca, nella parte superiore del portale, immettere Macchina virtuale. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-private.
In Informazioni generali, selezionare Connetti quindi Connetti tramite Bastion.
Immettere il nome utente e la password specificati al momento della creazione della macchina virtuale. Selezionare Connetti.
Apri Windows PowerShell. Usare lo script seguente per eseguire il mapping della condivisione file di Azure all'unità Z.
Sostituire <storage-account-key> con la chiave copiata nel passaggio precedente.
Sostituire <storage-account-name> con il nome del proprio account di archiviazione. In questo esempio, è storage8675.
L'output restituito da PowerShell è simile all'output di esempio seguente:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
Il mapping della condivisione file di Azure all'unità Z è stato eseguito correttamente.
Verificare che la VM non abbia connettività in uscita ad altri indirizzi IP pubblici:
ping bing.com
Non si ricevono risposte perché il gruppo di sicurezza di rete associato alla subnet privata non consente l'accesso in uscita a indirizzi IP pubblici diversi dagli indirizzi assegnati al servizio Archiviazione di Azure.
Chiudere la connessione Bastion a vm-private.
SSH nella macchina virtuale vm-private.
Eseguire il comando seguente per archiviare l'indirizzo IP della macchina virtuale come variabile di ambiente:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-private --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Creare una cartella per un punto di montaggio:
sudo mkdir /mnt/file-share
Montare la condivisione file di Azure nella directory creata. Prima di eseguire il comando seguente, sostituire <storage-account-name> con il nome dell'account e <storage-account-key> con la chiave recuperata in Creare un account di archiviazione.
sudo mount --types cifs //<storage-account-name>.file.core.windows.net/my-file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Viene visualizzato il prompt user@vm-private:~$. La condivisione file di Azure è stata montata correttamente in /mnt/file-share.
Verificare che la VM non abbia connettività in uscita ad altri indirizzi IP pubblici:
ping bing.com -c 4
Non si ricevono risposte perché il gruppo di sicurezza di rete associato alla subnet subnet-private non consente l'accesso in uscita a indirizzi IP pubblici diversi dagli indirizzi assegnati al servizio Archiviazione di Azure.
Uscire dalla sessione SSH alla macchina virtuale vm-private.
Verificare che venga rifiutato l'accesso a un account di archiviazione
Nella casella di ricerca, nella parte superiore del portale, immettere Macchina virtuale. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-1.
In Operazioni, selezionare Bastion.
Immettere il nome utente e la password specificati al momento della creazione della macchina virtuale. Selezionare Connetti.
Ripetere il comando precedente per tentare di eseguire il mapping dell'unità alla condivisione file nell'account di archiviazione. Potrebbe essere necessario copiare di nuovo la chiave di accesso dell'account di archiviazione per completare questa procedura:
Nella casella di ricerca nella parte superiore del portale, immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
In Account di archiviazione, selezionare l'account di archiviazione.
In Archiviazione dati, selezionare Condivisioni file.
Selezionare file-share.
Selezionare Sfoglia, nel menu a sinistra.
Dovrebbe essere visualizzato il seguente messaggio di errore:
Nota
L'accesso viene negato perché il computer non si trova nella subnet subnet-private della rete virtuale vnet-1.
Da vm-1
Nella casella di ricerca, nella parte superiore del portale, immettere Macchina virtuale. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-1.
In Operazioni, selezionare Bastion.
Immettere il nome utente e la password specificati al momento della creazione della macchina virtuale. Selezionare Connetti.
Ripetere il comando precedente per tentare di eseguire il mapping dell'unità alla condivisione file nell'account di archiviazione. Potrebbe essere necessario copiare di nuovo la chiave di accesso dell'account di archiviazione per completare questa procedura:
Accesso negato. Si riceve un output simile all'esempio seguente.
Get-AzStorageFile : The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error Message: This request isn't authorized to perform this operation
Il computer non si trova nella subnet-private della rete virtuale vnet-1.
SSH nella macchina virtuale vm-public.
Eseguire il comando seguente per archiviare l'indirizzo IP della macchina virtuale come variabile di ambiente:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-public --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Creare una directory per un punto di montaggio:
sudo mkdir /mnt/file-share
Provare a montare la condivisione file di Azure nella directory creata. Questo articolo presuppone che sia stata distribuita la versione più recente di Ubuntu. Se si usano versioni precedenti di Ubuntu, vedere Montare in Linux per altre istruzioni sul montaggio di condivisioni file. Prima di eseguire il comando seguente, sostituire <storage-account-name> con il nome dell'account e <storage-account-key> con la chiave recuperata in Creare un account di archiviazione:
sudo mount --types cifs //storage-account-name>.file.core.windows.net/file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
L'accesso viene negato e viene visualizzato un errore mount error(13): Permission denied perché la macchina virtuale vm-public viene distribuita all'interno della subnet subnet-public. La subnet subnet-public non dispone di un endpoint di servizio abilitato per Archiviazione di Azure e l'account di archiviazione consente solo l'accesso alla rete dalla subnet subnet-private, non dalla subnet subnet-public.
Chiudere la sessione SSH alla macchina virtuale vm-public.
Dal computer provare a visualizzare le condivisioni nell'account di archiviazione con az storage share list. Sostituire <account-name> e <account-key> con il nome e la chiave dell'account di archiviazione usati in Creare un account di archiviazione:
az storage share list \
--account-name <account-name> \
--account-key <account-key>
L'accesso viene negato e viene visualizzato un errore Questa richiesta non è autorizzata a eseguire questa operazione, perché il computer non si trova nella subnet subnet privata della rete virtuale vnet-1.
Quando le risorse create non sono più necessarie, è possibile eliminare il gruppo di risorse e tutte le risorse al suo interno.
Accedere al portale di Azure e selezionare Gruppi di risorse.
Nella pagina Gruppi di risorse selezionare il gruppo di risorse test-rg.
Nella pagina test-rg selezionare Elimina gruppo di risorse.
Immettere test-rg in Immettere il nome del gruppo di risorse per confermare l'eliminazione, quindi selezionare Elimina.
Quando il gruppo di risorse e tutte le risorse in esso contenute non sono più necessari, è possibile usare Remove-AzResourceGroup per rimuoverli:
$cleanup = @{
Name = "test-rg"
}
Remove-AzResourceGroup @cleanup -Force
Pulire le risorse
Quando il gruppo di risorse e tutte le risorse in esso contenute non sono più necessari, usare az group delete per rimuoverli.
az group delete \
--name test-rg \
--yes \
--no-wait
Passaggi successivi
Contenuto dell'esercitazione:
È stato abilitato un endpoint servizio per una subnet della rete virtuale.
È stato illustrato che è possibile abilitare gli endpoint di servizio per le risorse distribuite da più servizi di Azure.
È stato creato un account di Archiviazione di Azure ed è stato limitato l'accesso di rete all'account di Archiviazione alle sole risorse in una subnet della rete virtuale.
Se nell'account sono presenti più reti virtuali, è possibile stabilire la connettività tra di esse in modo che le risorse possano comunicare tra loro. Passare all'esercitazione successiva per informazioni su come connettere le reti virtuali.