Azure SQL Veritabanı Azure Spring Apps'e dağıtılan bir uygulamaya bağlanmak için yönetilen kimlik kullanma
Not
Temel, Standart ve Kurumsal planları, 3 yıllık kullanımdan kaldırma süresiyle Mart 2025 ortasından itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.
Standart tüketim ve ayrılmış plan, altı ay sonra tamamen kapatılarak 30 Eylül 2024'den itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps Standart tüketimini ve ayrılmış planı Azure Container Apps'e geçirme.
Bu makale şunlar için geçerlidir:✅ Java ✅ C#
Bu makale şunlar için geçerlidir:✅ Temel/Standart ✅ Kurumsal
Bu makalede, Azure Spring Apps'e dağıtılan bir uygulama için yönetilen kimlik oluşturma ve bu kimliği kullanarak Azure SQL Veritabanı erişme adımları gösterilmektedir.
Azure SQL Veritabanı bulut için oluşturulmuş akıllı, ölçeklenebilir, ilişkisel veritabanı hizmetidir. Performansı ve dayanıklılığı en iyi duruma getiren yapay zeka destekli ve otomatik özelliklerle her zaman günceldir. Sunucusuz işlem ve Hiper Ölçek depolama alanı seçenekleri, kaynakları talebe göre otomatik olarak ölçeklendirir. Bu sayede depolama alanı boyutu veya kaynak yönetimi hakkında endişelenmeden yeni uygulamalar oluşturmaya odaklanabilirsiniz.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Azure CLI sürüm 2.45.0 veya üzeri.
- Bir Azure SQL Veritabanı sağlamak ve yerel olarak bir Java uygulamasıyla çalışmasını sağlamak için Spring Data JPA öğreticisini izleyin.
- Azure Spring Apps'te yönetilen kimlik etkin bir uygulama sağlamak için Azure Spring Apps sistem tarafından atanan yönetilen kimlik öğreticisini izleyin.
Yönetilen kimlikle Azure SQL Veritabanı bağlanma
El ile uygulanan adımları izleyerek veya Hizmet Bağlayıcısı'nı kullanarak uygulamanızı yönetilen kimlikle bir Azure SQL Veritabanı bağlayabilirsiniz.
Yönetilen kimliğe izin verme
SQL sunucunuza bağlanın ve aşağıdaki SQL sorgusunu çalıştırın:
CREATE USER [<managed-identity-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<managed-identity-name>];
ALTER ROLE db_datawriter ADD MEMBER [<managed-identity-name>];
ALTER ROLE db_ddladmin ADD MEMBER [<managed-identity-name>];
GO
Yer tutucunun <managed-identity-name>
değeri kuralı <service-instance-name>/apps/<app-name>
izler; örneğin: myspringcloud/apps/sqldemo
. Yönetilen kimlik adını Azure CLI ile sorgulamak için aşağıdaki komutu da kullanabilirsiniz:
az ad sp show --id <identity-object-ID> --query displayName
Java uygulamanızı yönetilen kimlik kullanacak şekilde yapılandırma
Aşağıdaki örnekte gösterildiği gibi src/main/resources/application.properties dosyasını açın ve satırın spring.datasource.url
sonuna ekleyinAuthentication=ActiveDirectoryMSI;
. $AZ_DATABASE_NAME değişkeni için doğru değeri kullandığınızdan emin olun.
spring.datasource.url=jdbc:sqlserver://$AZ_DATABASE_NAME.database.windows.net:1433;database=demo;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;Authentication=ActiveDirectoryMSI;
Uygulamayı derleme ve Azure Spring Apps'e dağıtma
Uygulamayı yeniden derleyin ve Önkoşullar altındaki ikinci madde işareti noktasında sağlanan Azure Spring Apps'e dağıtın. Artık Azure Spring Apps'te bir Azure SQL Veritabanı depolamak ve veri almak için JPA kullanan yönetilen kimlik tarafından kimliği doğrulanmış bir Spring Boot uygulamanız var.