Konfigurasi aturan untuk mengakses registrasi kontainer Azure dari balik firewall

Artikel ini menjelaskan tentang cara mengkonfigurasi aturan di firewall Anda untuk mengizinkan akses ke registri kontainer Azure. Misalnya, perangkat Azure IoT Edge di balik firewall atau server proxy mungkin perlu mengakses registri kontainer untuk menarik gambar kontainer. Atau, server yang dikunci dalam jaringan lokal mungkin memerlukan akses untuk mendorong gambar.

Jika Anda ingin mengkonfigurasi akses jaringan masuk ke registri kontainer hanya dalam jaringan virtual Azure, lihat Mengkonfigurasi Azure Private Link untuk registri kontainer Azure.

Tentang titik akhir registri

Untuk menarik atau mendorong gambar atau artefak lain ke registri kontainer Azure, klien seperti daemon Docker perlu berinteraksi melalui HTTPS dengan dua titik akhir yang berbeda. Untuk klien yang mengakses registri dari balik firewall, Anda perlu mengkonfigurasi aturan akses untuk kedua titik akhir. Kedua titik akhir dicapai melalui port 443.

  • Registri titik akhir REST API - Operasi manajemen autentikasi dan registri ditangani melalui registri titik akhir REST API publik. Titik akhir ini adalah nama server login registri. Contoh: myregistry.azurecr.io

    • Titik akhir REST API registri untuk sertifikat - Registri kontainer Azure menggunakan sertifikat SSL wildcard untuk semua subdomain. Saat menyambungkan ke registri kontainer Azure menggunakan SSL, klien harus dapat mengunduh sertifikat untuk jabat tangan TLS. Dalam kasus seperti itu, azurecr.io juga harus dapat diakses.
  • Titik akhir penyimpanan (data) - Azure mengalokasikan penyimpanan blob di akun Azure Storage atas nama setiap registri untuk mengelola data untuk gambar kontainer dan artefak lainnya. Saat klien mengakses lapisan gambar di registri kontainer Azure, klien akan membuat permintaan menggunakan titik akhir akun penyimpanan yang disediakan oleh registri.

Jika registri Anda direplikasi secara geografis, klien mungkin perlu berinteraksi dengan titik akhir data di wilayah tertentu atau di beberapa wilayah yang direplikasi.

Memperbolehkan akses ke REST dan titik akhir data

  • titik akhir REST - Izinkan akses ke nama server login registri yang sepenuhnya memenuhi syarat, <registry-name>.azurecr.io, atau rentang alamat IP terkait
  • Titik akhir penyimpanan (data) - Izinkan akses ke semua akun penyimpanan blob Azure menggunakan wildcard *.blob.core.windows.net, atau rentang alamat IP terkait.

Catatan

Azure Container Registry memperkenalkan titik akhir data khusus, memungkinkan Anda untuk mencakup aturan firewall klien dengan ketat untuk penyimpanan registri Anda. Secara opsional mengaktifkan titik akhir data di semua wilayah tempat registri berada atau direplikasi, menggunakan formulir <registry-name>.<region>.data.azurecr.io.

Tentang Registri FQDN

Registri memiliki dua FQDN, yaitu url masuk dantitik akhir data.

  • Keduanya baikUrl masuk dan titik akhir data dapat diakses dari dalam jaringan virtual, menggunakan IP privat dengan mengaktifkan tautan privat.
  • Registri yang tidak menggunakan titik akhir data harus mengakses data dari titik akhir formulir *.blob.core.windows.net dan tidak memerlukan isolasi saat mengonfigurasi aturan firewall.
  • Registri yang mengaktifkan link privat mendapatkan titik akhir secara otomatis.
  • Titik akhir data khusus memang dibuat per wilayah untuk registri.
  • Url masuk tetap sama terlepas dari apakah titik akhir data diaktifkan atau dinonaktifkan.

Perbolehkan akses menurut rentang alamat IP

Jika organisasi Anda memiliki kebijakan untuk mengizinkan akses hanya ke alamat IP atau rentang alamat tertentu, unduh Azure IP Ranges dan Service Tags – Public Cloud.

Untuk menemukan rentang IP titik akhir ACR REST yang perlu Anda izinkan aksesnya, cari AzureContainerRegistry dalam file JSON.

Penting

Rentang alamat IP untuk layanan Azure dapat berubah, dan pembaruan diterbitkan setiap minggu. Unduh file JSON secara teratur, dan buat pembaruan yang diperlukan dalam aturan akses Anda. Jika skenario Anda melibatkan konfigurasi aturan grup keamanan jaringan di jaringan virtual Azure atau Anda menggunakan Azure Firewall, gunakan tag layananAzureContainerRegistry sebagai gantinya.

Alamat IP REST untuk semua wilayah

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

Alamat IP REST untuk wilayah tertentu

Cari wilayah tertentu, seperti AzureContainerRegistry.AustraliaEast.

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

Alamat IP penyimpanan untuk semua wilayah

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

Alamat IP penyimpanan untuk wilayah tertentu

Cari wilayah tertentu, seperti Storage.AustraliaCentral.

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

Memperbolehkan akses menurut tag layanan

Di jaringan virtual Azure, gunakan aturan keamanan jaringan untuk memfilter lalu lintas dari sumber daya seperti komputer virtual ke registri kontainer. Untuk menyederhanakan pembuatan aturan jaringan Azure, gunakan tag layananAzureContainerRegistry. Tag layanan mewakili sekelompok awalan alamat IP untuk mengakses layanan Azure secara global atau per wilayah Azure. Tag diperbarui secara otomatis saat alamat berubah.

Misalnya, buat aturan grup keamanan jaringan keluar dengan tujuan AzureContainerRegistry untuk memungkinkan lalu lintas ke registri kontainer Azure. Untuk mengizinkan akses ke tag layanan hanya di wilayah tertentu, tentukan wilayah dalam format berikut: AzureContainerRegistry.[nama wilayah].

Mengaktifkan titik akhir data khusus

Peringatan

Jika sebelumnya Anda mengonfigurasi akses firewall klien ke titik akhir *.blob.core.windows.net yang telah ada, beralih ke titik akhir data khusus akan berdampak pada konektivitas klien, menyebabkan kegagalan penarikan. Untuk memastikan klien memiliki akses yang konsisten, tambahkan aturan titik akhir data baru ke aturan firewall klien. Setelah selesai, aktifkan titik akhir data khusus untuk registri Anda menggunakan Azure CLI atau alat lainnya.

Titik akhir data khusus adalah fitur opsional dari tingkat layanan registri kontainer Premium. Untuk informasi tentang tingkat dan batas layanan registri, lihat tingkat layanan Azure Container Registry.

Anda dapat mengaktifkan titik akhir data khusus menggunakan portal Microsoft Azure atau Azure CLI. Titik akhir data mengikuti pola kawasan, <registry-name>.<region>.data.azurecr.io. Dalam registri yang direplikasi secara geografis, mengaktifkan titik akhir data memungkinkan titik akhir di semua wilayah replika.

Portal

Untuk mengaktifkan titik akhir data menggunakan portal:

  1. Navigasikan ke registri kontainer Anda.
  2. Pilih Penjaringan>Akses publik.
  3. Pilih kotak centang Aktifkan titik akhir data khusus.
  4. Pilih Simpan.

Titik akhir data atau titik akhir muncul di portal.

Titik akhir data khusus di portal

Azure CLI

Untuk mengaktifkan titik akhir data menggunakan Azure CLI, gunakan Azure CLI versi 2.4.0 atau yang lebih tinggi. Jika Anda perlu memasang atau memutakhirkan, lihat Memasang Azure CLI.

Perintah pembaruan az acr berikut memungkinkan titik akhir data khusus pada registri myregistry.

az acr update --name myregistry --data-endpoint-enabled

Untuk melihat titik akhir data, gunakan perintah az acr show-endpoints:

az acr show-endpoints --name myregistry

Output untuk tujuan demonstrasi menunjukkan dua titik akhir regional

{
    "loginServer": "myregistry.azurecr.io",
    "dataEndpoints": [
        {
            "region": "eastus",
            "endpoint": "myregistry.eastus.data.azurecr.io",
        },
        {
            "region": "westus",
            "endpoint": "myregistry.westus.data.azurecr.io",
        }
    ]
}

Setelah Anda menyiapkan titik akhir data khusus untuk registri Anda, Anda dapat mengaktifkan aturan akses firewall klien untuk titik akhir data. Aktifkan aturan akses titik akhir data untuk semua wilayah registri yang diperlukan.

Mengkonfigurasi aturan firewall klien untuk MCR

Jika Anda perlu mengakses Microsoft Container Registry (MCR) dari balik firewall, lihat panduan untuk mengkonfigurasi aturan firewall klien MCR. MCR adalah registri utama untuk semua gambar docker yang diterbitkan Microsoft, seperti gambar Windows Server.

Langkah berikutnya