Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memperlihatkan kepada Anda cara menyebarkan aplikasi Java Spring Boot dengan masuk oleh akun Microsoft Entra ke Azure Container Apps.
Artikel ini mengasumsikan bahwa Anda menyelesaikan salah satu artikel berikut ini hanya menggunakan tab Jalankan secara lokal, dan sekarang Anda ingin menyebarkan ke Azure. Instruksi ini sama dengan yang ada di tab Sebarkan ke Azure di artikel ini:
- Mengamankan aplikasi Java Spring Boot menggunakan ID Microsoft Entra
- Mengamankan aplikasi Java Spring Boot menggunakan Azure Active Directory B2C
- Mengaktifkan aplikasi Java Spring Boot untuk memasukkan pengguna dan mengakses Microsoft Graph
- Mengamankan aplikasi Java Spring Boot menggunakan peran dan klaim peran
- Mengamankan aplikasi Java Spring Boot menggunakan klaim grup dan grup
Prasyarat
- Akun Azure. Jika Anda tidak memilikinya, buat akun gratis. Anda memerlukan izin
ContributoratauOwnerpada langganan Azure untuk melanjutkan. Untuk informasi selengkapnya, lihat Menetapkan peran Azure menggunakan portal Azure. - Azure CLI.
- Ekstensi CLI Azure Container Apps, versi
0.3.47atau yang lebih tinggi. Untuk menginstal versi terbaru, gunakanaz extension add --name containerapp --upgrade --allow-previewperintah . - Java Development Kit, versi 17 atau yang lebih tinggi.
- Maven.
Menyiapkan proyek Spring
Gunakan langkah-langkah berikut untuk menyiapkan proyek:
Gunakan perintah Maven berikut untuk membangun proyek:
mvn clean verifyJalankan proyek sampel secara lokal dengan menggunakan perintah berikut:
mvn spring-boot:run
Siapkan
Untuk masuk ke Azure dari CLI, jalankan perintah berikut dan ikuti perintah untuk menyelesaikan proses autentikasi.
az login
Untuk memastikan Anda menjalankan CLI versi terbaru, jalankan perintah peningkatan.
az upgrade
Selanjutnya, instal atau perbarui ekstensi Azure Container Apps untuk CLI.
Jika Anda menerima kesalahan tentang parameter yang hilang saat menjalankan az containerapp perintah di Azure CLI, pastikan Anda memiliki versi terbaru ekstensi Azure Container Apps yang terinstal.
az extension add --name containerapp --upgrade
Catatan
Mulai Mei 2024, ekstensi Azure CLI tidak lagi mengaktifkan fitur pratinjau secara default. Untuk mengakses fitur pratinjau Container Apps, instal ekstensi Container Apps dengan --allow-preview true.
az extension add --name containerapp --upgrade --allow-preview true
Sekarang setelah ekstensi atau modul saat ini diinstal, daftarkan Microsoft.App namespace layanan dan Microsoft.OperationalInsights .
Catatan
Sumber daya Azure Container Apps telah bermigrasi dari namespace layanan Microsoft.Web ke namespace layanan Microsoft.App. Lihat Migrasi Namespace layanan dari Microsoft.Web ke Microsoft.App pada bulan Maret 2022 untuk detail selengkapnya.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Membuat lingkungan Azure Container Apps
Setelah penyiapan Azure CLI selesai, Anda dapat menentukan variabel lingkungan yang digunakan di seluruh artikel ini.
Tentukan variabel berikut dalam shell bash Anda.
export RESOURCE_GROUP="ms-identity-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-ms-identity-containerapps"
export API_NAME="ms-identity-api"
export JAR_FILE_PATH_AND_NAME="./target/ms-identity-spring-boot-webapp-0.0.1-SNAPSHOT.jar"
Buat grup sumber daya.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION \
Buat lingkungan dengan ruang kerja Analitik Log yang dibuat secara otomatis.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Tampilkan domain default lingkungan aplikasi kontainer. Catat domain ini untuk digunakan di bagian selanjutnya.
az containerapp env show \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--query properties.defaultDomain
Menyiapkan aplikasi untuk penyebaran
Saat Anda menyebarkan aplikasi ke Azure Container Apps, URL pengalihan Anda berubah ke URL pengalihan instans aplikasi yang anda sebarkan di Azure Container Apps. Gunakan langkah-langkah berikut untuk mengubah pengaturan ini di file application.yml Anda:
Navigasi ke file src\main\resources\application.yml aplikasi Anda dan ubah nilai
post-logout-redirect-urike nama domain aplikasi yang Disebarkan, seperti yang ditunjukkan dalam contoh berikut. Pastikan untuk mengganti<API_NAME>dan<default-domain-of-container-app-environment>dengan nilai aktual Anda. Misalnya, dengan domain default untuk lingkungan Azure Container App Anda dari langkah sebelumnya danms-identity-apiuntuk nama aplikasi Anda, Anda akan menggunakanhttps://ms-identity-api.<default-domain>untuk nilai tersebutpost-logout-redirect-uri.post-logout-redirect-uri: https://<API_NAME>.<default-domain-of-container-app-environment>Setelah menyimpan file ini, gunakan perintah berikut untuk membangun kembali aplikasi Anda:
mvn clean package
Penting
File application.yml aplikasi saat ini menyimpan nilai rahasia klien Anda dalam client-secret parameter . Tidak baik untuk menyimpan nilai ini dalam file ini. Anda mungkin juga mengambil risiko jika Anda menerapkan file ke repositori Git. Untuk pendekatan yang direkomendasikan, lihat Mengelola rahasia di Azure Container Apps.
Memperbarui pendaftaran aplikasi ID Microsoft Entra Anda
Karena URI pengalihan berubah ke aplikasi yang disebarkan di Azure Container Apps, Anda juga perlu mengubah URI pengalihan di pendaftaran aplikasi ID Microsoft Entra Anda. Gunakan langkah-langkah berikut untuk membuat perubahan ini:
Navigasikan ke halaman platform identitas Microsoft untuk pengembang Pendaftaran aplikasi.
Gunakan kotak pencarian untuk mencari pendaftaran aplikasi Anda - misalnya,
java-servlet-webapp-authentication.Buka pendaftaran aplikasi Anda dengan memilih namanya.
Pilih Autentikasi dari menu.
Di bagian URI Pengalihan Web - , pilih Tambahkan URI.
Isi URI aplikasi Anda, tambahkan
/login/oauth2/code/- misalnya,https://<containerapp-name>.<default domain of container app environment>/login/oauth2/code/.Pilih Simpan.
Menyebarkan aplikasi
Sebarkan paket JAR ke Azure Container Apps.
Catatan
Jika perlu, Anda dapat menentukan versi JDK di variabel lingkungan build Java. Untuk informasi selengkapnya, lihat Membangun variabel lingkungan untuk Java di Azure Container Apps.
Sekarang Anda dapat menyebarkan file WAR Anda dengan az containerapp up perintah CLI.
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Catatan
Versi JDK default adalah 17. Jika Anda perlu mengubah versi JDK untuk kompatibilitas dengan aplikasi, Anda dapat menggunakan --build-env-vars BP_JVM_VERSION=<YOUR_JDK_VERSION> argumen untuk menyesuaikan nomor versi.
Untuk variabel lingkungan build lainnya, lihat Membangun variabel lingkungan untuk Java di Azure Container Apps.
Memvalidasi aplikasi
Dalam contoh ini, containerapp up perintah menyertakan --query properties.configuration.ingress.fqdn argumen, yang mengembalikan nama domain yang sepenuhnya memenuhi syarat (FQDN), juga dikenal sebagai URL aplikasi. Gunakan langkah-langkah berikut untuk memeriksa log aplikasi untuk menyelidiki masalah penyebaran apa pun:
Akses URL aplikasi output dari halaman Output di bagian Penyebaran .
Dari panel navigasi halaman Gambaran Umum instans Azure Container Apps, pilih Log untuk memeriksa log aplikasi.
Informasi selengkapnya
- platform identitas Microsoft (ID Microsoft Entra untuk pengembang)
- Gambaran umum Microsoft Authentication Library (MSAL)
- Mulai cepat: Mendaftarkan aplikasi di platform identitas Microsoft
- Mulai cepat: Mengonfigurasi aplikasi klien untuk mengakses API web
- Memahami pengalaman persetujuan aplikasi ID Microsoft Entra
- Memahami persetujuan pengguna dan admin
- Objek perwakilan layanan dan aplikasi di Microsoft Entra ID
- Cloud Nasional
- Sampel kode MSAL
- Pustaka klien Microsoft Entra ID Spring Boot Starter untuk Java
- Pustaka Autentikasi Microsoft untuk Java (MSAL4J)
- MSAL4J Wiki
- Token ID
- Token akses dalam Platform identitas Microsoft
Langkah berikutnya
Untuk informasi selengkapnya dan opsi penyebaran lainnya, lihat artikel berikut ini: