Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Microsoft Entra hesabıyla Azure Container Apps'te oturum açma ile bir Java Spring Boot uygulamasının nasıl dağıtılacağı gösterilmektedir.
Bu makalede, aşağıdaki makalelerden birini yalnızca Yerel olarak çalıştır sekmesini kullanarak tamamladığınız ve şimdi Azure'a dağıtmak istediğiniz varsayılır. Bu yönergeler, şu makalelerdeki Azure'a Dağıt sekmesindeki yönergelerle aynıdır:
- Microsoft Entra Id kullanarak Java Spring Boot uygulamalarının güvenliğini sağlama
- Azure Active Directory B2C kullanarak Java Spring Boot uygulamalarının güvenliğini sağlama
- Kullanıcılarda oturum açmak ve Microsoft Graph'a erişmek için Java Spring Boot uygulamalarını etkinleştirme
- Rolleri ve rol taleplerini kullanarak Java Spring Boot uygulamalarının güvenliğini sağlama
- Grupları ve grup taleplerini kullanarak Java Spring Boot uygulamalarının güvenliğini sağlama
Önkoşullar
- Azure hesabı. Aboneliğiniz yoksa ücretsiz bir hesap oluşturun. Devam etmek için Azure aboneliğinde
ContributorveyaOwneriznine ihtiyacınız vardır. Daha fazla bilgi edinmek için bkz. Azure portal kullanarak Azure rolleri atama. - Azure CLI.
- Azure Container Apps CLI uzantısı, sürümü
0.3.47veya üstü. En son sürümü yüklemek için komutunu kullanınaz extension add --name containerapp --upgrade --allow-preview. - Java Geliştirme Seti, sürüm 17 veya üzeri.
- Maven.
Spring projesini hazırlama
Projeyi hazırlamak için aşağıdaki adımları kullanın:
Projeyi oluşturmak için aşağıdaki Maven komutunu kullanın:
mvn clean verifyAşağıdaki komutu kullanarak örnek projeyi yerel olarak çalıştırın:
mvn spring-boot:run
Ayarlama
CLI'dan Azure'da oturum açmak için aşağıdaki komutu çalıştırın ve istemleri izleyerek kimlik doğrulama işlemini tamamlayın.
az login
CLI'nın en son sürümünü çalıştırdığınızdan emin olmak için yükseltme komutunu çalıştırın.
az upgrade
Ardından CLI için Azure Container Apps uzantısını yükleyin veya güncelleştirin.
Azure CLI'da komut çalıştırırken az containerapp eksik parametrelerle ilgili hatalar alırsanız, Azure Container Apps uzantısının en son sürümünü yüklediğinizden emin olun.
az extension add --name containerapp --upgrade
Not
Mayıs 2024'den itibaren Azure CLI uzantıları artık önizleme özelliklerini varsayılan olarak etkinleştirmez. Container Apps önizleme özelliklerine erişmek için ile --allow-preview trueContainer Apps uzantısını yükleyin.
az extension add --name containerapp --upgrade --allow-preview true
Geçerli uzantı veya modül yüklendikten sonra ve Microsoft.OperationalInsights ad alanlarını kaydedinMicrosoft.App.
Not
Azure Container Apps kaynakları ad alanından Microsoft.Web ad alanına Microsoft.App geçirildi. Daha fazla ayrıntı için Microsoft.Web'den Mart 2022'de Microsoft.App ad alanı geçişi bölümüne bakın.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Azure Container Apps ortamını oluşturma
Azure CLI kurulumunuz tamamlandıktan sonra bu makalenin tamamında kullanılan ortam değişkenlerini tanımlayabilirsiniz.
Bash kabuğunuzda aşağıdaki değişkenleri tanımlayın.
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"
Kaynak grubu oluşturun.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION \
Otomatik olarak oluşturulan log analytics çalışma alanıyla bir ortam oluşturun.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Kapsayıcı uygulaması ortamının varsayılan etki alanını gösterin. Sonraki bölümlerde kullanmak için bu etki alanını not edin.
az containerapp env show \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--query properties.defaultDomain
Uygulamayı dağıtım için hazırlama
Uygulamanızı Azure Container Apps'e dağıttığınızda, yeniden yönlendirme URL'niz Azure Container Apps'te dağıtılan uygulama örneğinizin yeniden yönlendirme URL'sine dönüşür. application.yml dosyanızdaki bu ayarları değiştirmek için aşağıdaki adımları kullanın:
Aşağıdaki örnekte gösterildiği gibi uygulamanızın src\main\resources\application.yml dosyasına gidin ve değerini
post-logout-redirect-uridağıtılan uygulamanızın etki alanı adıyla değiştirin. ve<default-domain-of-container-app-environment>değerlerini gerçek değerlerinizle değiştirmeyi<API_NAME>unutmayın. Örneğin, önceki adımdaki Azure Container App ortamınızın varsayılan etki alanıyla vems-identity-apiuygulama adınız için değeri içinpost-logout-redirect-urikullanabilirsinizhttps://ms-identity-api.<default-domain>.post-logout-redirect-uri: https://<API_NAME>.<default-domain-of-container-app-environment>Bu dosyayı kaydettikten sonra uygulamanızı yeniden derlemek için aşağıdaki komutu kullanın:
mvn clean package
Önemli
Uygulamanın application.yml dosyası şu anda parametresindeki istemci gizli dizinizin değerini barındırıyor client-secret . Bu değeri bu dosyada tutmak iyi bir uygulama değildir. Dosyayı bir Git deposuna işlerseniz de risk alıyor olabilirsiniz. Önerilen yaklaşım için bkz . Azure Container Apps'te gizli dizileri yönetme.
Microsoft Entra ID uygulama kaydınızı güncelleştirme
Azure Container Apps'te yeniden yönlendirme URI'si dağıtılan uygulamanızda değiştiğinden, Microsoft Entra Id uygulama kaydınızda yeniden yönlendirme URI'sini de değiştirmeniz gerekir. Bu değişikliği yapmak için aşağıdaki adımları kullanın:
Geliştiriciler için Microsoft kimlik platformu Uygulama kayıtları sayfasına gidin.
Uygulama kaydınızı aramak için arama kutusunu kullanın; örneğin,
java-servlet-webapp-authentication.Adını seçerek uygulama kaydınızı açın.
Menüden Kimlik Doğrulaması'nı seçin.
Web - Yeniden Yönlendirme URI'leri bölümünde URI Ekle'yi seçin.
Uygulamanızın URI'sini doldurun; örneğin,
https://<containerapp-name>.<default domain of container app environment>/login/oauth2/code/öğesini ekleyerek/login/oauth2/code/.Kaydet'i seçin.
Uygulamayı dağıtma
JAR paketini Azure Container Apps'e dağıtın.
Not
Gerekirse Java derleme ortamı değişkenlerinde JDK sürümünü belirtebilirsiniz. Daha fazla bilgi için bkz . Azure Container Apps'te Java için ortam değişkenleri oluşturma.
Artık CLI komutuyla az containerapp up WAR dosyanızı dağıtabilirsiniz.
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
Not
Varsayılan JDK sürümü 17'dir. Uygulamanızla uyumluluk için JDK sürümünü değiştirmeniz gerekiyorsa, sürüm numarasını ayarlamak için bağımsız değişkenini --build-env-vars BP_JVM_VERSION=<YOUR_JDK_VERSION> kullanabilirsiniz.
Daha fazla derleme ortamı değişkeni için bkz . Azure Container Apps'te Java için ortam değişkenleri oluşturma.
Uygulamayı doğrulama
Bu örnekte komut, containerapp up uygulamanın URL'si olarak da bilinen tam etki alanı adını (FQDN) döndüren bağımsız değişkenini içerir --query properties.configuration.ingress.fqdn . Herhangi bir dağıtım sorununu araştırmak üzere uygulamanın günlüklerini denetlemek için aşağıdaki adımları kullanın:
Dağıtım bölümünün Çıkışlar sayfasından çıkış uygulaması URL'sine erişin.
Azure Container Apps örneğine Genel Bakış sayfasının gezinti bölmesinden Günlükler'i seçerek uygulamanın günlüklerini denetleyin.
Daha Fazla Bilgi
- Microsoft kimlik platformu (Geliştiriciler için Microsoft Entra Id)
- Microsoft Authentication Library'ye (MSAL) genel bakış
- Hızlı Başlangıç: Microsoft kimlik platformu ile uygulama kaydetme
- Hızlı Başlangıç: Web API'lerine erişmek için bir istemci uygulaması yapılandırma
- Microsoft Entra ID uygulama onayı deneyimlerini anlama
- Kullanıcı ve yönetici onaylarını anlama
- Microsoft Entra ID'de uygulama ve hizmet sorumlusu nesnelerine genel bakış
- Ulusal Bulutlar
- MSAL kod örnekleri
- Java için Microsoft Entra ID Spring Boot Starter istemci kitaplığı
- Java için Microsoft Kimlik Doğrulama Kitaplığı (MSAL4J)
- MSAL4J Wiki
- Kimlik belirteçleri
- Microsoft kimlik platformu'nde belirteçlere erişme
Sonraki adımlar
Daha fazla bilgi ve diğer dağıtım seçenekleri için aşağıdaki makalelere bakın: