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 JBoss EAP dengan masuk oleh akun Microsoft Entra ke Azure App Service.
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 dalam artikel ini:
- Aktifkan masuk untuk aplikasi Java JBoss EAP menggunakan Microsoft Entra ID
- Aktifkan log masuk untuk aplikasi Java JBoss EAP menggunakan MSAL4J dengan Azure Active Directory B2C
- Mengaktifkan aplikasi Java JBoss EAP untuk memasukkan pengguna dan mengakses Microsoft Graph
- Amankan aplikasi Java JBoss EAP menggunakan peran dan klaim peran
- Mengamankan aplikasi Java JBoss EAP menggunakan grup dan klaim grup
Prasyarat
Maven Plugin untuk aplikasi Azure App Service
Jika Maven bukan alat pengembangan pilihan Anda, lihat tutorial serupa berikut yang menggunakan alat lain:
- IntelliJ IDEA
- Gerhana
- Visual Studio Code
Mengkonfigurasi plugin Maven
Proses penyebaran ke Azure App Service menggunakan kredensial Azure Anda dari Azure CLI secara otomatis. Jika Azure CLI tidak diinstal secara lokal, maka plugin Maven mengautentikasi dengan OAuth atau masuk perangkat. Untuk informasi selengkapnya, lihat autentikasi dengan plugin Maven.
Gunakan langkah-langkah berikut untuk mengonfigurasi plugin:
Jalankan perintah Maven yang ditampilkan di samping untuk mengonfigurasi penyebaran. Perintah ini membantu Anda menyiapkan sistem operasi App Service, versi Java, dan versi Tomcat.
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:configUntuk Buat konfigurasi eksekusi baru, tekan Y, lalu tekan Enter.
Untuk Tentukan nilai untuk OS, tekan 2 untuk Linux, lalu tekan Enter.
Untuk Tentukan nilai untuk javaVersion, tekan 2 untuk Java 11, lalu tekan Enter.
Untuk Tentukan nilai untuk webContainer, tekan 1 untuk JBosseap7, lalu tekan Enter.
Untuk Tetapkan nilai untukpricingTier, tekan Enter untuk memilih tingkat default P1v3.
Untuk Konfirmasi, tekan Y, lalu tekan Enter.
Contoh berikut menunjukkan output proses penyebaran:
Please confirm webapp properties
AppName : msal4j-servlet-auth-1707220080695
ResourceGroup : msal4j-servlet-auth-1707220080695-rg
Region : centralus
PricingTier : P1v3
OS : Linux
Java Version: Java 11
Web server stack: JBosseap 7
Deploy to slot : false
Confirm (Y/N) [Y]:
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26.196 s
[INFO] Finished at: 2024-02-06T11:48:16Z
[INFO] ------------------------------------------------------------------------
Setelah mengonfirmasi pilihan Anda, plugin menambahkan konfigurasi plugin dan pengaturan yang diperlukan ke file pom.xml proyek Anda untuk mengonfigurasi aplikasi Anda agar berjalan di Azure App Service.
Bagian yang relevan dari file pom.xml akan terlihat mirip dengan contoh berikut:
<build>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>>azure-webapp-maven-plugin</artifactId>
<version>x.xx.x</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<resourceGroup>your-resourcegroup-name</resourceGroup>
<appName>your-app-name</appName>
...
</configuration>
</plugin>
</plugins>
</build>
Anda dapat mengubah konfigurasi untuk App Service langsung di pom.xmlAnda. Beberapa konfigurasi umum tercantum dalam tabel berikut:
| Harta benda | Diperlukan | Deskripsi | Versi |
|---|---|---|---|
schemaVersion |
palsu | Versi skema konfigurasi. Nilai yang didukung adalah v1 dan v2. |
1.5.2 |
subscriptionId |
palsu | ID langganan. | 0.1.0+ |
resourceGroup |
benar | Grup sumber daya Azure untuk aplikasi Anda. | 0.1.0+ |
appName |
benar | Nama aplikasi Anda. | 0.1.0+ |
region |
palsu | Wilayah tempat menghosting aplikasi Anda. Nilai defaultnya adalah centralus. Untuk wilayah yang valid, lihat Wilayah yang Didukung. |
0.1.0+ |
pricingTier |
palsu | Tingkat harga untuk aplikasi Anda. Nilai defaultnya adalah P1v2 untuk beban kerja produksi. Nilai minimum yang direkomendasikan untuk pengembangan dan pengujian Java adalah B2. Untuk informasi selengkapnya, lihat Harga Layanan Aplikasi |
0.1.0+ |
runtime |
palsu | Konfigurasi lingkungan eksekusi. Untuk informasi selengkapnya, lihat detail konfigurasi . | 0.1.0+ |
deployment |
palsu | Konfigurasi penyebaran. Untuk informasi selengkapnya, lihat detail konfigurasi . | 0.1.0+ |
Untuk daftar lengkap konfigurasi, lihat dokumentasi referensi plugin. Semua plugin Azure Maven berbagi serangkaian konfigurasi umum. Untuk konfigurasi ini, lihat Common Configurations. Untuk konfigurasi khusus untuk Azure App Service, lihat aplikasi Azure : Detail Konfigurasi.
Pastikan untuk menyimpan terlebih dahulu nilai appName dan resourceGroup untuk digunakan nanti.
Menyiapkan aplikasi untuk penyebaran
Saat Anda menyebarkan aplikasi ke App Service, URL pengalihan Anda berubah ke URL pengalihan instans aplikasi yang Anda sebarkan. Gunakan langkah-langkah berikut untuk mengubah pengaturan ini di file properti Anda:
Navigasikan ke file
authentication.properties aplikasi Anda dan ubah nilai ke nama domain aplikasi yang Disebarkan, seperti yang ditunjukkan dalam contoh berikut. Misalnya, jika Anda memilih example-domainuntuk nama aplikasi di langkah sebelumnya, Anda sekarang harus menggunakanhttps://example-domain.azurewebsites.netuntuk nilaiapp.homePage. Pastikan Anda juga telah mengubah protokol darihttpkehttps.# app.homePage is by default set to dev server address and app context path on the server # for apps deployed to azure, use https://your-sub-domain.azurewebsites.net app.homePage=https://<your-app-name>.azurewebsites.netSetelah menyimpan file ini, gunakan perintah berikut untuk membangun kembali aplikasi Anda:
mvn clean package
Memperbarui pendaftaran aplikasi ID Microsoft Entra Anda
Karena URI pengalihan berubah ke aplikasi yang disebarkan ke Azure App Service, Anda juga perlu mengubah URI pengalihan di pendaftaran aplikasi ID Microsoft Entra Anda. Gunakan langkah-langkah berikut untuk membuat perubahan ini:
Navigasikan ke platform identitas Microsoft untuk pengembang halaman 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
/auth/redirect- misalnya,https://<your-app-name>.azurewebsites.net/auth/redirect.Pilih Simpan.
Menyebarkan aplikasi
Anda sekarang siap untuk menyebarkan aplikasi Anda ke Azure App Service. Gunakan perintah berikut untuk memastikan Anda masuk ke lingkungan Azure Anda untuk menjalankan penyebaran:
az login
Dengan semua konfigurasi yang siap di file pom.xml, Anda sekarang dapat menggunakan perintah berikut untuk menyebarkan aplikasi Java Anda ke Azure:
mvn package azure-webapp:deploy
Setelah penyebaran selesai, aplikasi Anda siap pada http://<your-app-name>.azurewebsites.net/. Buka URL dengan browser web lokal Anda, di mana Anda akan melihat halaman awal aplikasi msal4j-servlet-auth.
Menghapus nilai rahasia
File authentication.properties aplikasi saat ini memuat nilai rahasia klien Anda dalam parameter aad.secret. Tidak baik untuk menyimpan nilai ini dalam file ini. Anda mungkin juga mengambil risiko jika Anda menerapkannya ke repositori Git.
Sebagai langkah tambahan keamanan, Anda dapat menyimpan nilai ini di Azure Key Vault dan menggunakan referensi Key Vault untuk membuatnya tersedia di aplikasi Anda.
Gunakan langkah-langkah berikut untuk memindahkan nilai aad.secret ke Key Vault dan gunakan dalam kode Anda:
Gunakan perintah berikut untuk membuat instans Azure Key Vault:
export RESOURCE_GROUP=<your-resource-group-name> export KEY_VAULT=<your-key-vault-name> az keyvault create \ --resource-group $RESOURCE_GROUP \ --name $KEY_VAULTGunakan perintah berikut untuk menambahkan nilai rahasia
aad.secretke brankas kunci Anda sebagai rahasia baru:az keyvault secret set \ --vault-name $KEY_VAULT \ --name "AADSECRET" \ --value "<the-value-of-your-client-secret>"Anda sekarang perlu memberikan akses aplikasi ke brankas kunci Anda. Untuk melakukan tugas ini, pertama-tama buat identitas baru untuk aplikasi Anda dengan menggunakan perintah berikut:
export WEB_APP_NAME=<your-web-app-name> az webapp identity assign \ --resource-group $RESOURCE_GROUP \ --name $WEB_APP_NAMEGunakan perintah berikut untuk memberikan identitas
getdanlistizin atas rahasia dalam Key Vault Anda.export IDENTITY=$(az webapp identity show \ --resource-group $RESOURCE_GROUP \ --name $WEB_APP_NAME \ --query principalId \ --output tsv) az keyvault set-policy \ --resource-group $RESOURCE_GROUP \ --name $KEY_VAULT \ --secret-permissions get list \ --object-id $IDENTITYGunakan perintah berikut untuk membuat setelan aplikasi di aplikasi Anda yang menggunakan referensi ke rahasia di dalam brankas kunci Anda. Pengaturan ini membuat nilai rahasia tersedia untuk aplikasi Anda sebagai variabel lingkungan.
az webapp config appsettings set \ --resource-group $RESOURCE_GROUP \ --name $WEB_APP_NAME \ --settings AADSECRET='@Microsoft.KeyVault(VaultName=$KEY_VAULT;SecretName=AADSECRET)'Gunakan kode berikut untuk memuat nilai ini dari variabel lingkungan. Dalam file \src\main\java\com\microsoft\azuresamples\msal4j\helpers\Config.java, pada baris 41, ubah pernyataan saat ini ke baris berikut:
public static final String SECRET = System.getenv("AADSECRET");Sekarang Anda dapat menghapus kunci dan nilai
dari file authentication.properties. Bangun ulang kode dengan menggunakan perintah berikut:
mvn clean packageSebarkan ulang aplikasi dengan menggunakan perintah berikut:
mvn package azure-webapp:deploy
Deployment Anda sekarang sudah selesai.
Informasi selengkapnya
- Microsoft Authentication Library (MSAL) untuk Java
- platform identitas Microsoft
- Mulai Cepat: Mendaftarkan aplikasi dengan platform identitas Microsoft
- Memahami pengalaman persetujuan aplikasi ID Microsoft Entra
- Memahami persetujuan pengguna dan admin
- contoh kode MSAL