Azure SQL Veritabanı Azure Spring Apps'e dağıtılan bir uygulamaya bağlanmak için yönetilen kimlik kullanma
Not
Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.
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ğlan
El ile uygulanan adımları izleyerek veya Service Bağlan or kullanarak uygulamanızı yönetilen kimlikle bir Azure SQL Veritabanı bağlayabilirsiniz.
Yönetilen kimliğe izin verme
SQL sunucunuza Bağlan 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.