Configurare le regole per accedere a un registro contenitori di Azure dietro un firewall

Questo articolo illustra come configurare le regole nel firewall per consentire l'accesso a un registro contenitori di Azure. Ad esempio, un dispositivo Azure IoT Edge dietro un firewall o un server proxy potrebbe dover accedere a un registro contenitori per eseguire il pull di un'immagine del contenitore. In alternativa, un server bloccato in una rete locale potrebbe dover accedere per eseguire il push di un'immagine.

Per configurare l'accesso alla rete in ingresso a un registro contenitori solo all'interno di una rete virtuale di Azure, vedere Configurare il collegamento privato di Azure per un registro contenitori di Azure.

Informazioni sugli endpoint del registro

Per eseguire il pull o il push di immagini o altri artefatti in un registro contenitori Azure, un client come un daemon Docker deve interagire tramite HTTPS con due o più endpoint distinti. Per i client che accedono a un registro da dietro un firewall, è necessario configurare le regole di accesso per ogni endpoint. Tutti gli endpoint vengono raggiunti sulla porta 443.

  • Endpoint globale (API REST): le operazioni di autenticazione e gestione del Registro di sistema vengono gestite tramite l'endpoint DELL'API REST pubblico del Registro di sistema. Questo endpoint è il nome del server di accesso del registro. Esempio: myregistry.azurecr.io

    • Endpoint API REST del registro per i certificati — Il Registro Contenitori di Azure usa un certificato SSL wildcard per tutti i sottodomini. Quando ci si connette al Registro Azure Container tramite SSL, il client deve essere in grado di scaricare il certificato per l'handshake TLS. In questi casi, azurecr.io deve anche essere accessibile.
  • Endpoint di archiviazione (dati) — Azure alloca l'archiviazione di BLOB negli account di Archiviazione di Azure per conto di ogni registro per gestire i dati relativi alle immagini del container e ad altri artefatti. Quando un client accede a livelli immagine in un registro contenitori di Azure, effettua richieste usando un endpoint dell'account di archiviazione fornito dal registro.

Se si tratta di un registro con replica geografica, un client potrebbe dover interagire con l'endpoint dati in un'area specifica o in più aree replicate.

  • Endpoint a livello di area (se abilitato): quando gli endpoint a livello di area sono abilitati per un registro con SKU Premium, ogni replica geografica ottiene un endpoint a livello di area nel formato <registry-name>.<region>.geo.azurecr.io. Gli endpoint a livello di area consentono ai client di connettersi direttamente a una replica geografica specifica per le operazioni di autenticazione e push/pull/eliminazione, ignorando l'endpoint globale. Se si usano regole del firewall, è necessario consentire l'accesso all'endpoint a livello di area per ogni replica geografica a cui si connettono i client.

Per l'elenco completo dei tipi di endpoint e dei modelli FQDN, vedere le informazioni di riferimento sull'endpoint.

Consentire l'accesso agli endpoint REST e di dati

  • Endpoint REST: consentire l'accesso al nome del server di accesso completamente qualificato al registro <registry-name>.azurecr.io o a un intervallo di indirizzi IP associato
  • Endpoint di archiviazione (dati): consentire l'accesso a tutti gli account di archiviazione BLOB di Azure usando il carattere jolly *.blob.core.windows.net o un intervallo di indirizzi IP associato.

Note

Registro Azure Container supporta endpoint di dati dedicati, consentendo di definire rigorosamente l'ambito delle regole del firewall del client per l'archiviazione del registro. Facoltativamente, è possibile abilitare gli endpoint di dati in tutte le aree in cui il registro viene individuato o replicato usando il modulo <registry-name>.<region>.data.azurecr.io.

Se sono abilitati anche gli endpoint regionali, consenti l'accesso a <registry-name>.<region>.geo.azurecr.io per ogni replica geografica a cui si connettono i client.

Se gli endpoint dual stack IPv6 sono abilitati, gli endpoint del Registro di sistema vengono risolti sia su IPv4 che su IPv6. Le regole del firewall basate sui nomi di dominio completi precedenti continuano a funzionare invariate. Se si consente l'accesso tramite intervalli di indirizzi IP anziché FQDN, tenere conto del traffico IPv6 nelle regole.

Informazioni sui nomi di dominio completi (FQDN) del Registro Azure Container

Registro Azure Container utilizza due nomi di dominio completi: l'URL di accesso e l'endpoint dati.

  • Sia l'URL di accesso che l'endpoint dati sono accessibili dall'interno della rete virtuale, usando indirizzi IP privati abilitando un collegamento privato.
  • Un registro che non usa gli endpoint di dati deve accedere ai dati da un endpoint del formato *.blob.core.windows.net. Questo non fornisce l'isolamento necessario durante la configurazione delle regole del firewall.
  • Un registro con un collegamento privato abilitato ottiene automaticamente l'endpoint dati dedicato.
  • Viene creato un endpoint dati dedicato per ogni regione per un registro.
  • L'URL di accesso rimane invariato se l'endpoint dati dedicato è abilitato o disabilitato.

Consentire l'accesso in base all'intervallo di indirizzi IP

Se l'organizzazione dispone di criteri per consentire l'accesso solo a specifici indirizzi IP o intervalli di indirizzi, scaricare la versione più recente degli intervalli IP di Azure e dei tag di servizio - Cloud pubblico.

Per trovare gli intervalli IP dell'endpoint REST del Registro Azure Container per i quali è necessario consentire l'accesso, cercare AzureContainerRegistry nel file JSON.

Importante

Gli intervalli di indirizzi IP per i servizi di Azure possono cambiare e gli aggiornamenti vengono pubblicati settimanalmente. Scaricare regolarmente il file JSON e apportare gli aggiornamenti necessari nelle regole di accesso. Se lo scenario prevede la configurazione di regole del gruppo di sicurezza di rete in una rete virtuale di Azure o si usa il Firewall di Azure, usare invece il tag di servizioAzureContainerRegistry.

Indirizzi IP REST per tutte le aree

{
  "name": "AzureContainerRegistry",
  "id": "AzureContainerRegistry",
  "properties": {
    "changeNumber": 10,
    "region": "",
    "platform": "Azure",
    "systemService": "AzureContainerRegistry",
    "addressPrefixes": [
      "13.66.140.72/29",
    [...]

Indirizzi IP REST per un'area specifica

Cercare l'area specifica, ad esempio AzureContainerRegistry.AustraliaEast.

{
  "name": "AzureContainerRegistry.AustraliaEast",
  "id": "AzureContainerRegistry.AustraliaEast",
  "properties": {
    "changeNumber": 1,
    "region": "australiaeast",
    "platform": "Azure",
    "systemService": "AzureContainerRegistry",
    "addressPrefixes": [
      "13.70.72.136/29",
    [...]

Indirizzi IP di archiviazione per tutte le aree

{
  "name": "Storage",
  "id": "Storage",
  "properties": {
    "changeNumber": 19,
    "region": "",
    "platform": "Azure",
    "systemService": "AzureStorage",
    "addressPrefixes": [
      "13.65.107.32/28",
    [...]

Indirizzi IP di archiviazione per aree specifiche

Cercare l'area specifica, ad esempio storage.AustraliaCentral.

{
  "name": "Storage.AustraliaCentral",
  "id": "Storage.AustraliaCentral",
  "properties": {
    "changeNumber": 1,
    "region": "australiacentral",
    "platform": "Azure",
    "systemService": "AzureStorage",
    "addressPrefixes": [
      "52.239.216.0/23"
    [...]

Consentire l'accesso in base ai tag del servizio

In una rete virtuale di Azure, usare le regole di sicurezza di rete per filtrare il traffico da una risorsa, ad esempio una macchina virtuale, a un registro contenitori. Per semplificare la creazione di regole di rete di Azure, usare il tag del servizioAzureContainerRegistry. Un tag di servizio rappresenta un gruppo di prefissi di indirizzi IP per accedere a un servizio di Azure a livello globale o per area di Azure. Il tag viene aggiornato automaticamente in caso di modifica degli indirizzi.

Ad esempio, creare una regola del gruppo di sicurezza di rete in uscita con destinazione AzureContainerRegistry per consentire il traffico verso un registro contenitori di Azure. Per consentire l'accesso al tag di servizio solo in un'area specifica, specificare l'area nel formato seguente: AzureContainerRegistry.[region name].

Abilitare endpoint dati dedicati

Per i passaggi necessari per abilitare gli endpoint dati dedicati tramite il portale di Azure o interfaccia della riga di comando di Azure, vedere Endpoint dati dedicati in Registro Azure Container.

Dopo avere configurato gli endpoint dati dedicati per il registro, è possibile abilitare le regole di accesso del firewall client per gli endpoint dati. Attivare le regole di accesso all'endpoint dati per tutte le regioni del registro richieste.

Configurare le regole del firewall per il client per MCR

Per accedere a Microsoft Container Registry (MCR) da dietro un firewall, vedere le indicazioni per configurare le regole del firewall client MCR. MCR è il registro di sistema principale per tutte le immagini Docker pubblicate da Microsoft, ad esempio le immagini di Windows Server.

Passaggi successivi