Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo ti guida nella configurazione di un endpoint di servizio standard utilizzando la interfaccia della riga di comando di Azure. Si crea un indirizzo IP pubblico come identificatore di rete, si associa agli endpoint dei servizi su una subnet, si configura un perimetro di sicurezza di rete e si convalida la connettività.
Importante
L'endpoint standard del servizio è attualmente in anteprima pubblica. Questa anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero avere funzionalità limitate. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.
Prerequisiti
Un account Azure con una sottoscrizione attiva. Se non ne hai uno, crea gratuitamente un account.
Ruolo di Network Contributor o superiore sull'abbonamento. In particolare, è necessario il permesso
Microsoft.Network/publicIPAddresses/joinServiceEndpointNetworkIdentifier/action. Per ulteriori informazioni, consulta i requisiti del controllo degli accessi basato sui ruoli per il perimetro di sicurezza di rete.L'endpoint di servizio standard è attualmente controllato da un feature flag. Prima di configurarlo, registra la funzione AllowServiceEndpointNetworkIdentifier nel tuo abbonamento utilizzando questi comandi self-serve:
az feature register \ --namespace Microsoft.Network \ --name AllowServiceEndpointNetworkIdentifierVerificare lo stato della registrazione:
az feature show \ --namespace Microsoft.Network \ --name AllowServiceEndpointNetworkIdentifier \ --query "properties.state" \ --output tsvAspetta che lo stato mostri Registrato, poi aggiorna la registrazione del fornitore di risorse:
az provider register --namespace Microsoft.Networkinterfaccia della riga di comando di Azure versione 2.x o successiva. Eseguire
az --versionper trovare la versione. Se è necessario installare o aggiornare, vedere Installare interfaccia della riga di comando di Azure.
È possibile utilizzare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione a Azure Cloud Shell.
Se preferisci eseguire localmente i comandi di riferimento della CLI, installa la CLI di Azure. Se si esegue in Windows o macOS, è consigliabile eseguire interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire il interfaccia della riga di comando di Azure in un contenitore Docker.
Se usi un'installazione locale, accedi all'interfaccia della riga di comando di Azure usando il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Eseguire l'autenticazione ad Azure con l'interfaccia della riga di comando di Azure.
Quando ti viene richiesto, installa l'estensione interfaccia della riga di comando di Azure al primo utilizzo. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con interfaccia della riga di comando di Azure.
Esegui az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, avviare az upgrade.
Creare un gruppo di risorse
Creare un gruppo di risorse con az group create.
az group create \
--name test-rg \
--location eastus2
Creare una rete virtuale
Creare una rete virtuale e una subnet con az network vnet create.
az network vnet create \
--resource-group test-rg \
--name vnet-1 \
--address-prefix 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefix 10.0.0.0/24 \
--location eastus2
Creare un gateway NAT
Crea un NAT gateway v2 e associalo alla subnet-1 per fornire connettività internet in uscita alla macchina virtuale.
Crea un indirizzo IP pubblico per il NAT gateway con az-network public-ip create.
az network public-ip create \ --resource-group test-rg \ --name public-ip-nat \ --sku Standard \ --allocation-method Static \ --location eastus2Crea un NAT gateway con la creazione di un gateway NAT di rete AZ.
az network nat gateway create \ --resource-group test-rg \ --name nat-gateway \ --location eastus2 \ --public-ip-addresses public-ip-nat \ --idle-timeout 4Associa il gateway NAT a subnet-1 utilizzando az network vnet subnet update.
az network vnet subnet update \ --resource-group test-rg \ --vnet-name vnet-1 \ --name subnet-1 \ --nat-gateway nat-gateway
Distribuire Azure Bastion
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 macchine virtuali non necessitano di indirizzi IP pubblici, software client o configurazioni speciali. Per altre informazioni su Azure Bastion, vedere Azure Bastion.
Note
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 come parte di un'esercitazione o di un test, è consigliabile eliminare questa risorsa dopo averla usata.
Creare un host Azure Bastion con az network bastion create.
az network bastion create \
--name bastion \
--resource-group test-rg \
--vnet-name vnet-1 \
--location eastus2 \
--sku Basic
Creare una macchina virtuale
Crea una VM chiamata vm-1 nella rete virtuale. La macchina virtuale viene utilizzata per validare la connettività dopo la configurazione.
Creare una macchina virtuale con az vm create.
az vm create \
--resource-group test-rg \
--name vm-1 \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-address "" \
--nsg nsg-1
Note
Le macchine virtuali in una rete virtuale con un host Azure 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.
Note
Azure fornisce un indirizzo IP di accesso in uscita predefinito per le macchine virtuali a cui non è assegnato un indirizzo IP pubblico o che si trovano nel pool back-end di un servizio di bilanciamento del carico di base interno 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 Gateway NAT di Azure viene assegnata alla subnet della macchina virtuale.
Le macchine virtuali che crei utilizzando set di scalabilità delle macchine virtuali in modalità di orchestrazione flessibile non dispongono di accesso predefinito verso l'esterno.
Per altre informazioni sulle connessioni in uscita in Azure, vedere Accesso in uscita predefinito in Azure e Uso di Source Network Address Translation (SNAT) per le connessioni in uscita.
Installa strumenti sulla macchina virtuale
Installa cifs-utils e interfaccia della riga di comando di Azure sulla macchina virtuale eseguendo uno script shell con az vm run-command invoke.
az vm run-command invoke \
--resource-group test-rg \
--name vm-1 \
--command-id RunShellScript \
--scripts "sudo apt-get update && sudo apt-get install -y cifs-utils && curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash"
Creare un account di archiviazione
Crea un account di archiviazione Azure con una condivisione file da usare come risorsa PaaS per testare la connettività tramite l'endpoint del servizio.
Crea un account di archiviazione con az storage account create. Sostituisci
<storage-account-name>con un nome unico a livello globale.az storage account create \ --name <storage-account-name> \ --resource-group test-rg \ --location eastus2 \ --sku Standard_LRS \ --kind StorageV2Crea una condivisione file con az storage share-rm create.
az storage share-rm create \ --resource-group test-rg \ --storage-account <storage-account-name> \ --name fileshare-1
Crea un prefisso IP pubblico
Crea un prefisso IP pubblico e un'istanza di indirizzo IP pubblico da usare come identificatore di rete.
Crea un prefisso IP pubblico con az network public-ip prefix create.
az network public-ip prefix create \ --resource-group test-rg \ --name public-ip-prefix \ --length 31 \ --location eastus2Crea un indirizzo IP pubblico dal prefisso con az-network public-ip create.
az network public-ip create \ --resource-group test-rg \ --name public-ip-1 \ --public-ip-prefix public-ip-prefix \ --sku Standard \ --allocation-method Static
Configura gli endpoint di servizio con un identificatore di rete
Questo passaggio è la configurazione chiave per un endpoint di servizio standard. Associ un indirizzo IP pubblico come identificatore di rete agli endpoint dei servizi su una subnet.
Un identificatore di rete è un indirizzo IP pubblico che assegni al tuo endpoint di servizio. L'IP pubblico non viene utilizzato per le decisioni di routing di rete. Quando crei un indirizzo IP pubblico all'interno del tuo abbonamento, viene automaticamente assegnato dal pool IP designato del tuo servizio. I servizi all'interno del perimetro di sicurezza di rete utilizzano questo indirizzo IP pubblico per riconoscere il traffico degli endpoint di servizio e configurare le regole di accesso appropriate.
Note
L'indirizzo IP pubblico utilizzato come identificatore di rete deve soddisfare tutti i requisiti seguenti: SKU Standard, metodo di allocazione statico, IPv4, stato di provisioning Succeeded e deve già esistere prima di essere associato a un endpoint di servizio. La NRP respinge la proprietà intellettuale se una di queste condizioni non viene soddisfatta.
Aggiorna la subnet per aggiungere un endpoint di servizio usando l'indirizzo IP pubblico come identificatore di rete, utilizzando az network vnet subnet update.
az network vnet subnet update \
--resource-group test-rg \
--vnet-name vnet-1 \
--name subnet-1 \
--add serviceEndpoints '{"service":"Microsoft.Storage","networkIdentifier":{"id":"/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Network/publicIPAddresses/public-ip-1"}}'
Note
Sostituire <subscription-id> con l'ID della sottoscrizione di Azure. È possibile trovare l'ID sottoscrizione eseguendo az account show --query id --output tsv.
Lo stesso indirizzo IP pubblico può essere assegnato a tutte le subnet di una regione all'interno di un abbonamento. L'identificatore di rete è supportato in tutte le sottoscrizioni durante l'anteprima pubblica.
Creare un perimetro di sicurezza di rete
Crea un perimetro di sicurezza di rete e associa le tue risorse PaaS ad esso.
Crea un perimetro di sicurezza di rete con az network perimeter create.
az network perimeter create \ --name nsp-1 \ --resource-group test-rg \ --location eastus2Crea un profilo all'interno del perimetro di sicurezza di rete con az network perimeter profile create.
az network perimeter profile create \ --perimeter-name nsp-1 \ --resource-group test-rg \ --name profile-1Associare il proprio account di archiviazione al perimetro di sicurezza di rete con az network perimeter association create. Sostituire
<subscription-id>e<storage-account-name>con i propri valori.az network perimeter association create \ --perimeter-name nsp-1 \ --resource-group test-rg \ --association-name assoc-storage \ --access-mode Learning \ --profile "{id:/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Network/networkSecurityPerimeters/nsp-1/profiles/profile-1}" \ --private-link-resource "{id:/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/<storage-account-name>}"
Crea una regola di accesso in entrata per il perimetro di sicurezza di rete
Aggiungi una regola di accesso in entrata basata su IP nel perimetro di sicurezza di rete per autorizzare il traffico dal tuo identificatore di rete. Questa regola corrisponde all'indirizzo IP pubblico per abilitare la connettività dai tuoi endpoint di servizio.
Creare una regola di accesso in ingresso con az network perimeter profile access-rule create. Sostituisci <public-ip-prefix-range> con l'intervallo di indirizzi del prefisso IP pubblico.
az network perimeter profile access-rule create \
--perimeter-name nsp-1 \
--resource-group test-rg \
--profile-name profile-1 \
--access-rule-name allow-se-standard \
--direction Inbound \
--address-prefixes "<public-ip-prefix-range>"
Note
Per trovare l'intervallo di indirizzi del prefisso IP pubblico, esegui az network public-ip prefix show --resource-group test-rg --name public-ip-prefix --query ipPrefix --output tsv.
Convalidare la connettività
Connettiti alla tua macchina virtuale con Azure Bastion e testa la connettività con l'account di archiviazione per verificare che il traffico è autorizzato dalla regola di accesso in entrata del perimetro di sicurezza di rete.
Connettersi alla macchina virtuale
Nel portale Azure cercare e selezionare Macchine virtuali.
Selezionare vm-1.
Selezionare Connetti e quindi Connetti tramite Bastion.
Nella pagina del Bastione , inserisci le seguenti informazioni:
Setting Value Tipo di autenticazione Selezionare Chiave privata SSH da File locale. Nome utente Inserisci azureuser. File locale Seleziona il file vm-1-key.pem che hai scaricato quando hai creato la macchina virtuale. Selezionare Connetti.
Effettuare test di connettività all'account di archiviazione
Nella sessione SSH su vm-1, accedi ad interfaccia della riga di comando di Azure:
az loginMonta la condivisione file Azure per validare la connettività con l'account di archiviazione tramite l'endpoint del servizio. Sostituire
<storage-account-name>con il nome dell'account di archiviazione:sudo mkdir -p /mnt/fileshare-1 STORAGE_KEY=$(az storage account keys list \ --resource-group test-rg \ --account-name <storage-account-name> \ --query "[0].value" -o tsv) sudo mount -t cifs //<storage-account-name>.file.core.windows.net/fileshare-1 /mnt/fileshare-1 \ -o username=<storage-account-name>,password=$STORAGE_KEY,serverino,nosharesock,actimeo=30,mfsymlinksVerifica che la condivisione di file venga montata correttamente:
df -h /mnt/fileshare-1Per confermare che la regola di accesso in entrata funziona, controlla i log diagnosticali del perimetro di sicurezza di rete. Per ulteriori informazioni sui log diagnostici del perimetro di sicurezza di rete, vedere Registrazione diagnostica per il perimetro di sicurezza di rete.
Pulire le risorse
Quando non hai più bisogno delle risorse create in questo articolo, elimina il gruppo risorse:
az group delete --name test-rg --yes --no-wait