Creare e associare criteri degli endpoint di servizio
Articolo
I criteri degli endpoint di servizio consentono di filtrare il traffico della rete virtuale a specifiche risorse di Azure, tramite gli endpoint di servizio. Se non si ha familiarità con i criteri degli endpoint di servizio, vedere Panoramica dei criteri degli endpoint di servizio per altre informazioni.
In questa esercitazione apprenderai a:
Crea una rete virtuale.
Aggiungere una subnet e abilitare un endpoint di servizio per Archiviazione di Azure.
Creare due account di Archiviazione di Azure e consentire l'accesso alla rete dalla subnet nella rete virtuale.
Creare un criterio dell'endpoint di servizio per consentire l'accesso solo a uno degli account di archiviazione.
Distribuire una macchina virtuale (VM) in ogni subnet.
Confermare l'accesso all'account di archiviazione consentito dalla subnet.
Confermare che l'accesso all'account di archiviazione non consentito dalla subnet.
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.
Creare una rete virtuale e abilitare l'endpoint servizio
Creare una rete virtuale che contenga le risorse create in questa esercitazione.
Nella casella di ricerca del portale immettere Reti virtuali. Selezionare Reti virtuali nei risultati della ricerca.
Selezionare + Crea per creare una nuova rete virtuale.
Nella scheda Dati principali 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 in Nome. Selezionare OK.
Nome
Immettere vnet-1.
Paese
Selezionare Stati Uniti occidentali 2.
Selezionare Avanti.
Selezionare Avanti.
Nella scheda Indirizzi IP, in Subnet selezionare la subnet predefinita.
In Modifica subnet immettere o selezionare le informazioni seguenti.
Impostazione
valore
Nome
Immettere subnet-1.
Endpoint di servizio
Servizi
Nel menu a discesa selezionare Microsoft.Storage.
Seleziona Salva.
Selezionare Rivedi e crea.
Seleziona Crea.
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 una subnet con New-AzVirtualNetworkSubnetConfig e quindi scrivere la configurazione della subnet nella rete virtuale con Set-AzVirtualNetwork. Nell'esempio seguente viene aggiunta una subnet denominata subnet-1 alla rete virtuale e viene creato l'endpoint servizio per Microsoft.Storage.
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
Nella casella di ricerca del portale immettere Gruppi di sicurezza di rete. Selezionare Gruppi di sicurezza di rete nei risultati della ricerca.
Selezionare + Crea per creare un nuovo gruppo di sicurezza di rete.
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.
Nome
Immettere nsg-1.
Paese
Selezionare Stati Uniti occidentali 2.
Selezionare Rivedi e crea.
Seleziona Crea.
Creare regole del gruppo di sicurezza di rete
Nella casella di ricerca del portale immettere Gruppi di sicurezza di rete. Selezionare Gruppi di sicurezza di rete nei risultati della ricerca.
Selezionare nsg-1.
Espandi Impostazioni. Selezionare regole di sicurezza in uscita.
Selezionare + Aggiungi per aggiungere una nuova regola di sicurezza in uscita.
In Aggiungi regola di sicurezza in uscita immettere o selezionare le informazioni seguenti.
Impostazione
Valore
Origine
selezionare Tag del servizio.
Tag del servizio di origine
Seleziona VirtualNetwork.
Intervalli porte di origine
Immetti *.
Destinazione
selezionare Tag del servizio.
Tag del servizio di destinazione
Selezionare Archiviazione.
Service
Seleziona Personalizza.
Intervalli porte di destinazione
Immetti *.
Protocollo
selezionare Tutti.
Azione
Seleziona Consenti.
Priorità
Immettere 100.
Nome
Immettere allow-storage-all.
Selezionare Aggiungi.
Selezionare + Aggiungi per aggiungere un'altra regola di sicurezza in uscita.
In Aggiungi regola di sicurezza in uscita immettere o selezionare le informazioni seguenti.
Impostazione
Valore
Origine
selezionare Tag del servizio.
Tag del servizio di origine
Seleziona VirtualNetwork.
Intervalli porte di origine
Immetti *.
Destinazione
selezionare Tag del servizio.
Tag del servizio di destinazione
selezionare Internet.
Service
Seleziona Personalizza.
Intervalli porte di destinazione
Immetti *.
Protocollo
selezionare Tutti.
Azione
Seleziona Nega.
Priorità
Immettere 110.
Nome
Immettere deny-internet-all.
Selezionare Aggiungi.
Espandi Impostazioni. Selezionare subnet.
Selezionare Associa.
In Associa subnet immettere o selezionare le informazioni seguenti.
Impostazione
Valore
Rete virtuale
Selezionare vnet-1 (test-rg).
Subnet
Selezionare subnet-1.
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.
Creare un gruppo di sicurezza di rete con New-AzNetworkSecurityGroup. Nell'esempio seguente viene creato un gruppo di sicurezza di rete denominato nsg-1.
Aggiungere il gruppo di sicurezza di rete alla subnet subnet-1 con Set-AzVirtualNetworkSubnetConfig e scrivere la configurazione della subnet nella rete virtuale. L'esempio seguente associa il gruppo di sicurezza di rete nsg-1 alla subnet subnet-1:
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-1.
az network nsg create \
--resource-group test-rg \
--name nsg-1
Associare la subnet del gruppo di sicurezza di rete alla subnet subnet-1 con az network vnet subnet update. L'esempio seguente associa il gruppo di sicurezza di rete nsg-1 alla subnet subnet-1:
Creare le regole di sicurezza con az network nsg rule create. La regola che segue 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.
Limitare l'accesso alla rete degli account Archiviazione di Azure
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.
Nella casella di ricerca del portale immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
Selezionare + Crea per creare un nuovo account di archiviazione.
In Crea un account di archiviazione 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 account di archiviazione
Immettere allowedaccount(random-number). Nota: Il nome dell'account di archiviazione deve essere univoco. Aggiungere un numero casuale alla fine del nome allowedaccount.
Paese
Selezionare Stati Uniti occidentali 2.
Prestazioni
Selezionare Standard.
Ridondanza
Selezionare Archiviazione con ridondanza locale.
Selezionare Avanti fino a raggiungere la scheda Protezione dati.
In Ripristino deselezionare tutte le opzioni.
Selezionare Rivedi e crea.
Seleziona Crea.
Ripetere i passaggi precedenti per creare un altro account di archiviazione con le informazioni seguenti.
Nella casella di ricerca del portale immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
Selezionare allowedaccount(random-number).
Espandere la sezione Archiviazione dati e selezionare Condivisioni file.
Selezionare + Condivisione file.
In Nuova condivisione file immettere o selezionare le informazioni seguenti.
Impostazione
valore
Nome
Immettere file-share.
Lasciare invariate le altre impostazioni predefinite e selezionare Rivedi e crea.
Seleziona Crea.
Ripetere i passaggi precedenti per creare una condivisione file in deniedaccount(random-number).
Creare una condivisione file dell'account di archiviazione consentito
Usare Get-AzStorageAccountKey per ottenere la chiave dell'account di archiviazione per l'account di archiviazione consentito. Questa chiave verrà usata nel passaggio successivo per creare una condivisione file nell'account di archiviazione consentito.
Creare un contesto per l'account di archiviazione e la relativa chiave con New-AzStorageContext. Il contesto include il nome dell'account di archiviazione e la chiave dell'account.
Creare una condivisione file dell'account di archiviazione negato
Usare Get-AzStorageAccountKey per ottenere la chiave dell'account di archiviazione per l'account di archiviazione consentito. Questa chiave verrà usata nel passaggio successivo per creare una condivisione file nell'account di archiviazione negato.
Creare un contesto per l'account di archiviazione e la relativa chiave con New-AzStorageContext. Il contesto include il nome dell'account di archiviazione e la chiave dell'account.
Creare una condivisione file dell'account di archiviazione consentito
Recuperare la stringa di connessione per gli 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.
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.
Creare una condivisione file dell'account di archiviazione negato
Recuperare la stringa di connessione per gli 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.
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.
Rifiutare l'accesso di rete agli account di archiviazione
Per impostazione predefinita, gli account di archiviazione accettano connessioni di rete dai client in qualsiasi rete. Per limitare l'accesso di rete agli account di archiviazione, è possibile configurare l'account di archiviazione in modo che accetti solo connessioni da reti specifiche. In questo esempio viene configurato l'account di archiviazione in modo che accetti solo connessioni dalla subnet di rete virtuale creata in precedenza.
Nella casella di ricerca del portale immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
Selezionare allowedaccount(random-number).
Espandere Sicurezza e rete e selezionare Rete.
In Firewall e reti virtuali, in Accesso reti pubbliche selezionare Abilitato da reti virtuali e indirizzi IP selezionati.
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-1.
Selezionare Aggiungi.
Seleziona Salva.
Ripetere i passaggi precedenti per negare l'accesso alla rete a deniedaccount(random-number).
Usare Update-AzStorageAccountNetworkRuleSet per negare l'accesso agli account di archiviazione, ad eccezione della rete virtuale e della subnet create in precedenza. 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.
Applicare i criteri per consentire l'accesso all'account di archiviazione valido
È possibile creare un criterio di endpoint di servizio Il criterio garantisce che gli utenti della rete virtuale possano accedere solo agli account di archiviazione di Azure sicuri e consentiti. Questo criterio contiene un elenco degli account di archiviazione consentiti applicato alla subnet della rete virtuale connessa all'archiviazione tramite endpoint servizio.
Creare un criterio di endpoint di servizio
Questa sezione crea la definizione dei criteri con l'elenco delle risorse consentite per l'accesso tramite l'endpoint di servizio.
I criteri degli endpoint servizio vengono applicati agli endpoint servizio. Per iniziare, creare un criterio dell'endpoint servizio. Creare quindi le definizioni dei criteri in questo criterio per gli account di archiviazione di Azure da approvare per questa subnet
Usare az storage account show per ottenere l'ID risorsa dell'account di archiviazione consentito.
serviceResourceId=$(az storage account show --name allowedaccount --query id --output tsv)
Associare un criterio di endpoint di servizio a una subnet
Dopo aver creato i criteri dell'endpoint di servizio, verrà associato alla subnet di destinazione con la configurazione dell'endpoint di servizio per Archiviazione di Azure.
Assicurarsi che tutte le risorse a cui si accede dalla subnet vengano aggiunte alla definizione dei criteri prima di associare i criteri alla subnet specificata. Dopo aver associato i criteri, l'accesso alle risorse consentite elencate sarà permesso solo sugli endpoint servizio.
Assicurarsi che non esistano servizi di Azure gestiti nella subnet associata ai criteri dell'endpoint servizio.
L'accesso alle risorse di Archiviazione di Azure in tutte le aree verrà limitato in base ai criteri degli endpoint servizio di questa subnet.
Convalidare la restrizione di accesso agli account di Archiviazione di Azure
Per testare l'accesso di rete a un account di archiviazione, distribuire una VM nella subnet.
Nella casella di ricerca nel portale di Azure immettere Macchine virtuali. Selezionare Macchine virtuali nei risultati della ricerca.
Nella scheda Informazioni di base della pagina 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) Stati Uniti occidentali 2.
Opzioni di disponibilità
Selezionare La ridondanza dell'infrastruttura non è richiesta.
Tipo di sicurezza
Selezionare Standard.
Image
Selezionare Windows Server 2022 Datacenter - x64 Gen2.
Dimensione
Selezionare una dimensione.
Account amministratore
Username
Immettere un nome utente.
Password
Immettere una password.
Conferma password
Immettere di nuovo la password.
Regole porta in ingresso
Selezionare Avanti: Dischi, quindi Avanti: Rete.
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
Selezionare Nessuno.
Lasciare invariate le altre impostazioni predefinite e selezionare Rivedi e crea.
Seleziona Crea.
Creare una macchina virtuale nella subnet subnet-1 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.
Nella casella di ricerca del portale immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
Selezionare allowedaccount(random-number).
Espandere Sicurezza e rete e selezionare Chiavi di accesso.
Copiare il valore key1. Usare questa chiave per eseguire il mapping di un'unità all'account di archiviazione della macchina virtuale creata in precedenza.
Nella casella di ricerca nel portale di Azure immettere Macchine virtuali. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-1.
Espandere Operazioni. Selezionare Esegui comando.
Selezionare RunPowerShellScript.
Incollare lo script seguente in Esegui script comando.
## Enter the storage account key for the allowed storage account that you recorded earlier.
$storageAcctKey1 = (pasted from procedure above)
$acctKey = ConvertTo-SecureString -String $storageAcctKey1 -AsPlainText -Force
## Replace the login account with the name of the storage account you created.
$credential = New-Object System.Management.Automation.PSCredential -ArgumentList ("Azure\allowedaccount"), $acctKey
## Replace the storage account name with the name of the storage account you created.
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\allowedaccount.file.core.windows.net\file-share" -Credential $credential
Selezionare Esegui.
Se la mappa delle unità ha esito positivo, l'output nella casella Output è simile all'esempio seguente:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\allowedaccount.file.core.windows.net\fil..
Verificare che l'accesso venga negato all'account di archiviazione negato
Nella casella di ricerca del portale immettere Account di archiviazione. Selezionare Account di archiviazione, nei risultati della ricerca.
Selezionare deniedaccount(random-number).
Espandere Sicurezza e rete e selezionare Chiavi di accesso.
Copiare il valore key1. Usare questa chiave per eseguire il mapping di un'unità all'account di archiviazione della macchina virtuale creata in precedenza.
Nella casella di ricerca nel portale di Azure immettere Macchine virtuali. Selezionare Macchine virtuali nei risultati della ricerca.
Selezionare vm-1.
Espandere Operazioni. Selezionare Esegui comando.
Selezionare RunPowerShellScript.
Incollare lo script seguente in Esegui script comando.
## Enter the storage account key for the denied storage account that you recorded earlier.
$storageAcctKey2 = (pasted from procedure above)
$acctKey = ConvertTo-SecureString -String $storageAcctKey2 -AsPlainText -Force
## Replace the login account with the name of the storage account you created.
$credential = New-Object System.Management.Automation.PSCredential -ArgumentList ("Azure\deniedaccount"), $acctKey
## Replace the storage account name with the name of the storage account you created.
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\deniedaccount.file.core.windows.net\file-share" -Credential $credential
Selezionare Esegui.
Nella casella Output viene visualizzato il messaggio di errore seguente:
New-PSDrive : Access is denied
At line:1 char:1
+ New-PSDrive -Name Z -PSProvider FileSystem -Root "\\deniedaccount8675 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Z:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
La mappa delle unità viene negata a causa dei criteri dell'endpoint servizio che limitano l'accesso all'account di archiviazione.
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:
$params = @{
Name = "test-rg"
Force = $true
}
Remove-AzResourceGroup @params
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
In questa esercitazione è stato creato un criterio di endpoint di servizio per poi associarlo a una subnet. Per altre informazioni sui criteri degli endpoint di servizio, vedere Panoramica dei criteri degli endpoint di servizio.