Penarikan Gambar Azure Container Apps dengan identitas terkelola

Anda dapat menarik gambar dari repositori privat di Microsoft Azure Container Registry menggunakan identitas terkelola untuk autentikasi guna menghindari penggunaan kredensial administratif. Anda dapat menggunakan identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna untuk mengautentikasi dengan Azure Container Registry.

Dengan identitas terkelola yang ditetapkan sistem, identitas dibuat dan dikelola oleh Azure Container Apps. Identitas terkait dengan aplikasi kontainer Anda dan dihapus saat aplikasi Anda dihapus. Dengan identitas terkelola yang ditetapkan pengguna, Anda membuat dan mengelola identitas di luar Azure Container Apps. Ini dapat ditetapkan ke beberapa sumber daya Azure, termasuk Azure Container Apps.

Container Apps memeriksa versi baru gambar setiap kali kontainer dimulai. Dalam terminologi Docker atau Kubernetes, Container Apps mengatur kebijakan penarikan gambar setiap kontainer ke always.

Artikel ini menjelaskan cara menggunakan portal Azure untuk mengonfigurasi aplikasi kontainer Anda untuk menggunakan identitas terkelola yang ditetapkan pengguna dan ditetapkan sistem untuk menarik gambar dari repositori Azure Container Registry privat.

Identitas terkelola yang ditetapkan pengguna

Langkah-langkah berikut menjelaskan proses untuk mengonfigurasi aplikasi kontainer Anda untuk menggunakan identitas terkelola yang ditetapkan pengguna untuk menarik gambar dari repositori Azure Container Registry privat.

  1. Buat aplikasi kontainer dengan gambar publik.
  2. Tambahkan identitas terkelola yang ditetapkan pengguna ke aplikasi kontainer.
  3. Buat revisi aplikasi kontainer dengan gambar privat dan identitas terkelola yang ditetapkan pengguna.

Prasyarat

  • Akun Azure dengan langganan aktif.

  • Azure Container Registry privat yang berisi gambar yang ingin Anda tarik.

  • Azure Container Registry Anda harus mengizinkan token audiens ARM untuk autentikasi agar dapat menggunakan identitas terkelola untuk menarik gambar. Gunakan perintah berikut untuk memeriksa apakah token ARM diizinkan untuk mengakses ACR Anda:

    az acr config authentication-as-arm show -r <REGISTRY>
    

    Jika token ARM tidak diizinkan, Anda dapat mengizinkannya dengan perintah berikut:

    az acr config authentication-as-arm update -r <REGISTRY> --status enabled
    
  • Buat identitas terkelola yang ditetapkan pengguna. Untuk informasi selengkapnya, lihat Membuat identitas terkelola yang ditetapkan pengguna.

Membuat aplikasi kontainer

Gunakan langkah-langkah berikut untuk membuat aplikasi kontainer dengan gambar mulai cepat default.

  1. Navigasi ke halaman Beranda portal.

  2. Cari Aplikasi Kontainer di bilah pencarian teratas.

  3. Pilih Aplikasi Kontainer di hasil pencarian.

  4. Pilih tombol Buat.

  5. Pada tab Dasar, lakukan hal berikut.

    Pengaturan Tindakan
    Langganan Pilih langganan Azure Anda.
    Grup sumber daya Pilih grup sumber daya yang sudah ada atau buat yang baru.
    Nama aplikasi kontainer Masukkan nama aplikasi kontainer.
    Location Pilih lokasi.
    Membuat Lingkungan Aplikasi Kontainer Buat baru atau pilih lingkungan yang sudah ada.
  6. Pilih tombol Tinjau + Buat di bagian bawah halaman Buat Aplikasi Kontainer.

  7. Pilih tombol Buat di bagian bawah jendela Buat Aplikasi Kontainer.

Izinkan beberapa menit agar penyebaran aplikasi kontainer selesai. Setelah penyebaran selesai, pilih Kembali ke sumber daya.

Menambahkan identitas terkelola yang ditetapkan pengguna

  1. Pilih Identitas dari menu sebelah kiri.
  2. Memilih tab Pengguna yang ditetapkan.
  3. Pilih tombol Tambahkan identitas terkelola yang ditetapkan pengguna.
  4. Pilih langganan Anda.
  5. Pilih identitas yang Anda buat.
  6. Pilih Tambahkan.

Membuat revisi aplikasi kontainer

Buat revisi aplikasi kontainer dengan gambar privat dan identitas terkelola yang ditetapkan sistem.

  1. Pilih Manajemen Revisi dari menu sebelah kiri.

  2. Pilih Buat revisi baru.

  3. Pilih gambar kontainer dari tabel Gambar Kontainer.

  4. Masukkan informasi dalam dialog Edit kontainer .

    Bidang Perbuatan
    Nama Masukkan nama untuk kontainer.
    Sumber gambar Pilih Azure Container Registry.
    Autentikasi Pilih Identitas Terkelola.
    Identitas Pilih identitas yang Anda buat dari menu drop-down.
    Registri Pilih registri yang ingin Anda gunakan dari menu drop-down.
    Gambar Masukkan nama gambar yang ingin Anda gunakan.
    Tag Gambar Masukkan nama dan tag gambar yang ingin Anda tarik.

    Screen shot of the Edit a container dialog entering user assigned managed identity.

    Catatan

    Jika kredensial administratif tidak diaktifkan pada registri Azure Container Registry Anda, Anda akan melihat pesan peringatan ditampilkan dan Anda harus memasukkan nama gambar dan informasi tag secara manual.

  5. Pilih Simpan.

  6. Pilih Buat dari halaman Buat dan sebarkan revisi baru.

Revisi baru akan dibuat dan disebarkan. Portal akan secara otomatis mencoba menambahkan acrpull peran ke identitas terkelola yang ditetapkan pengguna. Jika peran tidak ditambahkan, Anda dapat menambahkannya secara manual.

Anda dapat memverifikasi bahwa peran ditambahkan dengan memeriksa identitas dari panel Identitas halaman aplikasi kontainer.

  1. Pilih Identitas dari menu sebelah kiri.
  2. Memilih tab Pengguna yang ditetapkan.
  3. Pilih identitas terkelola yang ditetapkan pengguna.
  4. Pilih Penetapan peran Azure dari menu di halaman sumber daya identitas terkelola.
  5. Verifikasi bahwa acrpull peran ditetapkan ke identitas terkelola yang ditetapkan pengguna.

Membuat aplikasi kontainer dengan gambar privat

Jika Anda tidak ingin memulai dengan membuat aplikasi kontainer dengan gambar publik, Anda juga dapat melakukan hal berikut.

  1. Buat identitas terkelola yang ditetapkan pengguna.
  2. acrpull Tambahkan peran ke identitas terkelola yang ditetapkan pengguna.
  3. Buat aplikasi kontainer dengan gambar privat dan identitas terkelola yang ditetapkan pengguna.

Metode ini khas dalam skenario Infrastruktur sebagai Kode (IaC).

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan aplikasi ini, Anda dapat menghapus instans Aplikasi Kontainer Azure dan semua layanan terkait dengan menghapus grup sumber daya.

Peringatan

Menghapus grup sumber daya akan menghapus semua sumber daya dalam grup. Jika Anda memiliki sumber daya lain dalam grup, sumber daya tersebut juga akan dihapus. Jika ingin menyimpan sumber daya, Anda dapat menghapus instans aplikasi kontainer dan lingkungan aplikasi kontainer.

  1. Pilih grup sumber daya Anda dari bagian Gambaran Umum .
  2. Pilih tombol Hapus grup sumber daya di bagian atas Gambaran Umum grup sumber daya.
  3. Masukkan nama grup sumber daya dalam dialog konfirmasi.
  4. Pilih Hapus.
    Proses untuk menghapus grup sumber daya mungkin memerlukan waktu beberapa menit untuk diselesaikan.

Identitas terkelola yang ditetapkan sistem

Metode untuk mengonfigurasi identitas terkelola yang ditetapkan sistem di portal Azure sama dengan mengonfigurasi identitas terkelola yang ditetapkan pengguna. Satu-satunya perbedaan adalah Anda tidak perlu membuat identitas terkelola yang ditetapkan pengguna. Sebagai gantinya, identitas terkelola yang ditetapkan sistem dibuat saat Anda membuat aplikasi kontainer.

Metode untuk mengonfigurasi identitas terkelola yang ditetapkan sistem dalam portal Azure adalah:

  1. Buat aplikasi kontainer dengan gambar publik.
  2. Buat revisi aplikasi kontainer dengan gambar privat dan identitas terkelola yang ditetapkan sistem.

Prasyarat

Membuat aplikasi kontainer

Ikuti langkah-langkah ini untuk membuat aplikasi kontainer dengan gambar mulai cepat default.

  1. Navigasi ke halaman Beranda portal.

  2. Cari Aplikasi Kontainer di bilah pencarian teratas.

  3. Pilih Aplikasi Kontainer di hasil pencarian.

  4. Pilih tombol Buat.

  5. Pada tab Dasar, lakukan hal berikut.

    Pengaturan Tindakan
    Langganan Pilih langganan Azure Anda.
    Grup sumber daya Pilih grup sumber daya yang sudah ada atau buat yang baru.
    Nama aplikasi kontainer Masukkan nama aplikasi kontainer.
    Location Pilih lokasi.
    Membuat Lingkungan Aplikasi Kontainer Buat baru atau pilih lingkungan yang sudah ada.
  6. Pilih tombol Tinjau + Buat di bagian bawah halaman Buat Aplikasi Kontainer.

  7. Pilih tombol Buat di bagian bawah halaman Buat Aplikasi Kontainer.

Izinkan beberapa menit agar penyebaran aplikasi kontainer selesai. Setelah penyebaran selesai, pilih Kembali ke sumber daya.

Mengedit dan menyebarkan revisi

Edit kontainer untuk menggunakan gambar dari Azure Container Registry privat Anda, dan konfigurasikan autentikasi untuk menggunakan identitas yang ditetapkan sistem.

  1. Kontainer dari menu samping di sebelah kiri.

  2. Pilih Edit dan sebarkan.

  3. Pilih kontainer simple-hello-world-container dari daftar.

    Pengaturan Tindakan
    Nama Masukkan nama aplikasi kontainer.
    Sumber gambar Pilih Azure Container Registry.
    Autentikasi Pilih Identitas terkelola.
    Identitas Pilih Sistem yang ditetapkan.
    Registri Masukkan Nama registri.
    Gambar Masukkan nama gambar.
    Tag gambar Masukkan tag.

    Screen shot Edit a container with system-assigned managed identity.

    Catatan

    Jika kredensial administratif tidak diaktifkan pada registri Azure Container Registry Anda, Anda akan melihat pesan peringatan ditampilkan dan Anda harus memasukkan nama gambar dan informasi tag secara manual.

  4. Pilih Simpan di bagian bawah halaman.

  5. Pilih Buat di bagian bawah halaman Buat dan sebarkan revisi baru

  6. Setelah beberapa menit, pilih Refresh pada halaman Manajemen revisi untuk melihat revisi baru.

Revisi baru akan dibuat dan disebarkan. Portal akan secara otomatis mencoba menambahkan acrpull peran ke identitas terkelola yang ditetapkan sistem. Jika peran tidak ditambahkan, Anda dapat menambahkannya secara manual.

Anda dapat memverifikasi bahwa peran telah ditambahkan dengan memeriksa identitas di panel Identitas halaman aplikasi kontainer.

  1. Pilih Identitas dari menu sebelah kiri.
  2. Pilih ke tab Sistem yang ditetapkan.
  3. Pilih penetapan peran Azure.
  4. Verifikasi bahwa acrpull peran ditetapkan ke identitas terkelola yang ditetapkan sistem.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan aplikasi ini, Anda dapat menghapus instans Aplikasi Kontainer Azure dan semua layanan terkait dengan menghapus grup sumber daya.

Peringatan

Menghapus grup sumber daya akan menghapus semua sumber daya dalam grup. Jika Anda memiliki sumber daya lain dalam grup, sumber daya tersebut juga akan dihapus. Jika ingin menyimpan sumber daya, Anda dapat menghapus instans aplikasi kontainer dan lingkungan aplikasi kontainer.

  1. Pilih grup sumber daya Anda dari bagian Gambaran Umum .
  2. Pilih tombol Hapus grup sumber daya di bagian atas Gambaran Umum grup sumber daya.
  3. Masukkan nama grup sumber daya dalam dialog konfirmasi.
  4. Pilih Hapus.
    Proses untuk menghapus grup sumber daya mungkin memerlukan waktu beberapa menit untuk diselesaikan.

Artikel ini menjelaskan cara mengonfigurasi aplikasi kontainer Anda untuk menggunakan identitas terkelola untuk menarik gambar dari repositori Azure Container Registry privat menggunakan Azure CLI dan Azure PowerShell.

Prasyarat

Prasyarat Deskripsi
Akun Azure Akun Azure dengan langganan aktif. Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.
Azure CLI Jika menggunakan Azure CLI, instal Azure CLI di komputer lokal Anda.
Azure PowerShell Jika menggunakan PowerShell, instal Azure PowerShell di komputer lokal Anda. Pastikan bahwa versi terbaru modul Az.App diinstal dengan menjalankan perintah Install-Module -Name Az.App.
Azure Container Registry Azure Container Registry privat yang berisi gambar yang ingin Anda tarik. Mulai cepat: Membuat registri kontainer privat menggunakan Azure CLI atau Mulai Cepat: Membuat registri kontainer privat menggunakan Azure PowerShell

Penyiapan

Pertama, masuk ke Azure dari CLI atau PowerShell. Jalankan perintah berikut, dan ikuti petunjuk untuk menyelesaikan proses autentikasi.

az login

Instal ekstensi Azure Container Apps untuk CLI.

az extension add --name containerapp --upgrade

Sekarang setelah ekstensi atau modul saat ini diinstal, daftarkan Microsoft.App namespace layanan dan Microsoft.OperationalInsights penyedia jika Anda belum mendaftarkannya sebelumnya.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Selanjutnya, atur variabel lingkungan berikut. <Ganti PLACEHOLDERS> dengan nilai Anda sendiri.

RESOURCE_GROUP="<YOUR_RESOURCE_GROUP_NAME>"
LOCATION="<YOUR_LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<YOUR_ENVIRONMENT_NAME>"
REGISTRY_NAME="<YOUR_REGISTRY_NAME>"
CONTAINERAPP_NAME="<YOUR_CONTAINERAPP_NAME>"
IMAGE_NAME="<YOUR_IMAGE_NAME>"

Jika Anda sudah memiliki grup sumber daya, lewati langkah ini. Jika tidak, buat grup sumber daya.

az group create \
  --name $RESOURCE_GROUP \
  --location $LOCATION

Membuat lingkungan aplikasi kontainer

Jika lingkungan tidak ada, jalankan perintah berikut:

Untuk membuat lingkungan, jalankan perintah berikut:

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION

Lanjutkan ke bagian berikutnya untuk mengonfigurasi identitas terkelola yang ditetapkan pengguna atau lewati ke bagian Identitas terkelola yang ditetapkan sistem.

Identitas terkelola yang ditetapkan pengguna

Ikuti prosedur ini untuk mengonfigurasi identitas terkelola yang ditetapkan pengguna:

  1. Buat identitas terkelola yang ditetapkan pengguna.
  2. Jika Anda menggunakan PowerShell, tetapkan acrpull peran untuk registri Anda ke identitas terkelola. Azure CLI secara otomatis membuat penugasan ini.
  3. Buat aplikasi kontainer dengan gambar dari registri privat yang diautentikasi dengan identitas terkelola yang ditetapkan pengguna.

Membuat identitas terkelola yang ditetapkan pengguna

Buat identitas terkelola yang ditetapkan pengguna. <Ganti PLACEHOLDERS> dengan nama identitas terkelola Anda.

IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \
  --name $IDENTITY \
  --resource-group $RESOURCE_GROUP

Dapatkan ID sumber daya identitas.

IDENTITY_ID=`az identity show \
  --name $IDENTITY \
  --resource-group $RESOURCE_GROUP \
  --query id`

Membuat aplikasi kontainer

Buat aplikasi kontainer Anda dengan gambar Anda dari registri privat yang diautentikasi dengan identitas.

Salin ID sumber daya identitas untuk ditempelkan ke <tempat penampung IDENTITY_ID> dalam perintah di bawah ini. Jika tag gambar Anda tidak latest, ganti 'terbaru' dengan tag Anda.

echo $IDENTITY_ID
az containerapp create \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --user-assigned <IDENTITY_ID> \
  --registry-identity <IDENTITY_ID> \
  --registry-server "$REGISTRY_NAME.azurecr.io" \
  --image "$REGISTRY_NAME.azurecr.io/$IMAGE_NAME:latest"

Penghapusan

Perhatian

Perintah berikut menghapus grup sumber daya yang ditentukan dan semua sumber daya yang terkandung di dalamnya. Jika sumber daya di luar cakupan panduan mulai cepat ini berada di grup sumber daya yang ditentukan, sumber daya tersebut juga akan dihapus.

az group delete --name $RESOURCE_GROUP

Identitas terkelola yang ditetapkan sistem

Untuk mengonfigurasi identitas yang ditetapkan sistem, Anda harus:

  1. Buat aplikasi kontainer dengan gambar publik.
  2. Tetapkan identitas terkelola yang ditetapkan sistem ke aplikasi kontainer.
  3. Perbarui aplikasi kontainer dengan gambar privat.

Membuat aplikasi kontainer

Buat kontainer dengan gambar publik.

az containerapp create \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --image mcr.microsoft.com/k8se/quickstart:latest \
  --target-port 80 \
  --ingress external

Memperbarui aplikasi kontainer

Perbarui aplikasi kontainer dengan gambar dari registri kontainer privat Anda dan tambahkan identitas yang ditetapkan sistem untuk mengautentikasi penarikan Azure Container Registry. Anda juga dapat menyertakan pengaturan lain yang diperlukan untuk aplikasi kontainer Anda, seperti pengaturan masuk, skala, dan Dapr.

Atur server registri dan aktifkan identitas terkelola yang ditetapkan sistem di aplikasi kontainer.

az containerapp registry set \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --identity system \
  --server "$REGISTRY_NAME.azurecr.io"
az containerapp update \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --image "$REGISTRY_NAME.azurecr.io/$IMAGE_NAME:latest"

Penghapusan

Perhatian

Perintah berikut menghapus grup sumber daya yang ditentukan dan semua sumber daya yang terkandung di dalamnya. Jika sumber daya di luar cakupan panduan mulai cepat ini berada di grup sumber daya yang ditentukan, sumber daya tersebut juga akan dihapus.

az group delete --name $RESOURCE_GROUP

Langkah berikutnya