Mulai cepat: Mengonfigurasi akses menyeluruh untuk aplikasi menggunakan paket Azure Spring Apps Enterprise
Catatan
Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.
Artikel ini berlaku untuk:❌ Basic/Standard ✔️ Enterprise
Mulai cepat ini menunjukkan kepada Anda cara mengonfigurasi akses menyeluruh untuk aplikasi yang berjalan pada paket Azure Spring Apps Enterprise.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Lisensi untuk paket Azure Spring Apps Enterprise. Untuk informasi selengkapnya, lihat Paket perusahaan di Marketplace Azure.
- Azure CLI versi 2.45.0 atau yang lebih tinggi.
- Git.
- jq
- Ekstensi paket Azure Spring Apps Enterprise. Gunakan perintah berikut untuk menghapus versi sebelumnya dan menginstal ekstensi paket Enterprise terbaru. Jika sebelumnya Anda menginstal ekstensi
spring-cloud
, hapus instalannya untuk menghindari ketidakcocokan konfigurasi dan versi.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Selesaikan langkah-langkah dalam Membangun dan menyebarkan aplikasi ke Azure Spring Apps menggunakan paket Enterprise.
Menyiapkan kredensial akses menyeluruh
Untuk mengonfigurasi akses menyeluruh untuk aplikasi, Anda perlu menyiapkan kredensial. Bagian berikut menjelaskan langkah-langkah untuk menggunakan penyedia yang sudah ada atau memprovisikan pendaftaran aplikasi dengan ID Microsoft Entra.
Menggunakan penyedia yang sudah ada
Ikuti langkah-langkah ini untuk mengonfigurasi akses menyeluruh menggunakan Penyedia Identitas yang ada. Jika Anda menyediakan Pendaftaran Aplikasi Microsoft Entra, lewati ke bagian berikut, Buat dan konfigurasikan pendaftaran aplikasi dengan ID Microsoft Entra.
Konfigurasikan idP Anda yang ada untuk memungkinkan pengalihan kembali ke Spring Cloud Gateway untuk VMware Tanzu dan portal API untuk VMware Tanzu. Spring Cloud Gateway memiliki satu URI untuk memungkinkan masuk kembali ke gateway. Portal API memiliki dua URI untuk mendukung antarmuka pengguna dan API yang mendasar. Perintah berikut mengambil URI ini yang Anda tambahkan ke konfigurasi penyedia akses menyeluruh Anda.
export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') export PORTAL_URL=$(az spring api-portal show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') echo "https://${GATEWAY_URL}/login/oauth2/code/sso" echo "https://${PORTAL_URL}/oauth2-redirect.html" echo "https://${PORTAL_URL}/login/oauth2/code/sso"
Client ID
Dapatkan danClient Secret
untuk IdP Anda.Issuer URI
Dapatkan untuk idP Anda. Anda harus mengonfigurasi penyedia dengan URI penerbit, yang merupakan URI yang dinyatakannya sebagai Pengenal Pengeluar Sertifikatnya. Misalnya, jikaissuer-uri
yang disediakan adalahhttps://example.com
, maka Permintaan Konfigurasi Penyedia OpenID dibuat kehttps://example.com/.well-known/openid-configuration
. Hasilnya diharapkan menjadi Respons Konfigurasi Penyedia OpenID.Catatan
Anda hanya dapat menggunakan server otorisasi yang mendukung protokol OpenID Koneksi Discovery.
JWK URI
Dapatkan untuk penyedia identitas Anda untuk digunakan nanti. biasanyaJWK URI
mengambil formulir${ISSUER_URI}/keys
atau${ISSUER_URI}/<version>/keys
. Aplikasi Identity Service menggunakan JSON Web Keys (JWK) publik untuk memverifikasi JSON Web Tokens (JWT) yang dikeluarkan oleh server otorisasi penyedia identitas akses menyeluruh Anda.
Membuat dan mengonfigurasi pendaftaran aplikasi dengan ID Microsoft Entra
Untuk mendaftarkan aplikasi dengan ID Microsoft Entra, ikuti langkah-langkah ini. Jika Anda menggunakan kredensial penyedia yang ada, lewati ke bagian berikut, Sebarkan aplikasi Layanan Identitas.
Gunakan perintah berikut untuk membuat pendaftaran aplikasi dengan MICROSOFT Entra ID dan simpan output:
az ad app create --display-name <app-registration-name> > ad.json
Gunakan perintah berikut untuk mengambil ID aplikasi dan mengumpulkan rahasia klien:
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') az ad app credential reset --id ${APPLICATION_ID} --append > sso.json
Gunakan perintah berikut untuk menetapkan Perwakilan Layanan ke pendaftaran aplikasi:
az ad sp create --id ${APPLICATION_ID}
Gunakan perintah berikut untuk mengambil URL untuk Gateway Spring Cloud dan portal API, dan tambahkan URL Balasan yang diperlukan ke Pendaftaran Aplikasi Direktori Aktif.
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') export PORTAL_URL=$(az spring api-portal show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') az ad app update \ --id ${APPLICATION_ID} \ --web-redirect-uris "https://${GATEWAY_URL}/login/oauth2/code/sso" "https://${PORTAL_URL}/oauth2-redirect.html" "https://${PORTAL_URL}/login/oauth2/code/sso"
Gunakan perintah berikut untuk mengambil aplikasi
Client ID
. Simpan output untuk digunakan nanti dalam mulai cepat ini.cat sso.json | jq -r '.appId'
Gunakan perintah berikut untuk mengambil aplikasi
Client Secret
. Simpan output untuk digunakan nanti dalam mulai cepat ini.cat sso.json | jq -r '.password'
Gunakan perintah berikut untuk mengambil
Issuer URI
. Simpan output untuk digunakan nanti dalam mulai cepat ini.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/v2.0"
JWK URI
Ambil dari output perintah berikut. Aplikasi Identity Service menggunakan JSON Web Keys (JWK) publik untuk memverifikasi JSON Web Tokens (JWT) yang dikeluarkan oleh Active Directory.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys"
Menyebarkan aplikasi Layanan Identitas
Untuk menyelesaikan pengalaman akses menyeluruh, gunakan langkah-langkah berikut untuk menyebarkan aplikasi Layanan Identitas. Aplikasi Layanan Identitas menyediakan satu rute untuk membantu mengidentifikasi pengguna.
Navigasi ke folder proyek.
Gunakan perintah berikut untuk membuat
identity-service
aplikasi:az spring app create \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Gunakan perintah berikut untuk mengaktifkan konfigurasi eksternal untuk layanan identitas dengan mengikat ke Application Configuration Service:
az spring application-configuration-service bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Gunakan perintah berikut untuk mengaktifkan penemuan layanan dan pendaftaran untuk layanan identitas dengan mengikat ke Service Registry:
az spring service-registry bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Gunakan perintah berikut untuk menyebarkan layanan identitas:
az spring app deploy \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name> \ --config-file-pattern identity/default \ --source-path apps/acme-identity \ --build-env BP_JVM_VERSION=17 \ --env "JWK_URI=<jwk-uri>"
Gunakan perintah berikut untuk merutekan permintaan ke layanan identitas:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --name identity-routes \ --service <Azure-Spring-Apps-service-instance-name> \ --app-name identity-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/identity-service.json
Mengonfigurasi akses menyeluruh untuk Spring Cloud Gateway
Anda dapat mengonfigurasi Spring Cloud Gateway untuk mengautentikasi permintaan menggunakan akses menyeluruh. Untuk mengonfigurasi Spring Cloud Gateway untuk menggunakan akses menyeluruh, ikuti langkah-langkah berikut:
Gunakan perintah berikut untuk mengonfigurasi Spring Cloud Gateway untuk menggunakan akses menyeluruh:
export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') az spring gateway update \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --api-description "Fitness Store API" \ --api-title "Fitness Store" \ --api-version "v1.0" \ --server-url "https://${GATEWAY_URL}" \ --allowed-origins "*" \ --client-id <client-id> \ --client-secret <client-secret> \ --scope "openid,profile" \ --issuer-uri <issuer-uri>
Instruksikan aplikasi layanan keranjang untuk menggunakan Spring Cloud Gateway untuk autentikasi. Gunakan perintah berikut untuk menyediakan variabel lingkungan yang diperlukan:
az spring app update \ --resource-group <resource-group-name> \ --name cart-service \ --service <Azure-Spring-Apps-service-instance-name> \ --env "AUTH_URL=https://${GATEWAY_URL}" "CART_PORT=8080"
Instruksikan aplikasi layanan pesanan untuk menggunakan Spring Cloud Gateway untuk autentikasi. Gunakan perintah berikut untuk menyediakan variabel lingkungan yang diperlukan:
az spring app update \ --resource-group <resource-group-name> \ --name order-service \ --service <Azure-Spring-Apps-service-instance-name> \ --env "AcmeServiceSettings__AuthUrl=https://${GATEWAY_URL}"
Gunakan perintah berikut untuk mengambil URL untuk Spring Cloud Gateway:
echo "https://${GATEWAY_URL}"
Anda dapat membuka URL output di browser untuk menjelajahi aplikasi yang diperbarui. Fungsi Masuk sekarang beroperasi, memungkinkan Anda menambahkan item ke kelir dan melakukan pemesanan. Setelah Anda masuk, tombol informasi pelanggan menampilkan nama pengguna yang masuk.
Mengonfigurasi akses menyeluruh untuk portal API
Anda dapat mengonfigurasi portal API untuk VMware Tanzu untuk menggunakan akses menyeluruh untuk memerlukan autentikasi sebelum menjelajahi API. Gunakan perintah berikut untuk mengonfigurasi akses menyeluruh untuk portal API:
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
az spring api-portal update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--client-id <client-id> \
--client-secret <client-secret> \
--scope "openid,profile,email" \
--issuer-uri <issuer-uri>
Gunakan perintah berikut untuk mengambil URL untuk portal API:
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
echo "https://${PORTAL_URL}"
Anda bisa membuka URL output di browser untuk menjelajahi API aplikasi. Anda diarahkan untuk masuk sebelum menjelajahi API.
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan mulai cepat dan tutorial berikutnya, biarkan sumber daya ini tetap di tempatnya. Jika tidak lagi diperlukan, hapus grup sumber daya yang juga akan menghapus sumber daya di grup sumber daya. Untuk menghapus grup sumber daya dengan menggunakan Azure CLI, gunakan perintah berikut:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Langkah berikutnya
Lanjutkan ke salah satu mulai cepat opsional berikut: