استخدام هوية مدارة لتوصيل قاعدة بيانات Azure SQL بتطبيق تم نشره في Azure Spring Apps

إشعار

يعد Azure Spring Apps هو الاسم الجديد لخدمة Azure Spring Cloud. رغم أن الخدمة تحمل اسماً جديداً، سترى الاسم القديم في بعض الأماكن لفترة من الوقت بينما نعمل على تحديث الأصول مثل لقطات الشاشة، ومقاطع الفيديو، والرسوم التخطيطية.

تنطبق هذه المقالة على: ✔️ Java ✔️ C#‎

تنطبق هذه المقالة على: ✔️ Basic/Standard ✔️ Enterprise

توضح هذه المقالة كيفية إنشاء هوية مدارة لتطبيق تم نشره في Azure Spring Apps واستخدامه للوصول إلى قاعدة بيانات Azure SQL.

قاعدة بيانات Azure SQLهي خدمة قاعدة بيانات ذكية وقابلة للتطوير وعلائقية تم إنشاؤها للسحابة. إنه دائمًا محدث، بميزات آلية تعمل بالذكاء الاصطناعي تعمل على تحسين الأداء والمتانة. تعمل خيارات الحوسبة بلا خادم وتخزين Hyperscale على توسيع نطاق الموارد تلقائيًا حسب الطلب، بحيث يمكنك التركيز على إنشاء تطبيقات جديدة دون القلق بشأن حجم التخزين أو إدارة الموارد.

المتطلبات الأساسية

الاتصال إلى قاعدة بيانات Azure SQL بهوية مدارة

يمكنك توصيل التطبيق الخاص بك بقاعدة بيانات Azure SQL بهوية مدارة باتباع الخطوات اليدوية أو باستخدام Service الاتصال or.

منح الإذن للهوية المدارة

اتصل بخادم SQL الخاص بك وشغل استعلام SQL التالي:

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

تتبع قيمة <managed-identity-name> العنصر النائب القاعدة <service-instance-name>/apps/<app-name>؛ على سبيل المثال: myspringcloud/apps/sqldemo. يمكنك أيضا استخدام الأمر التالي للاستعلام عن اسم الهوية المدارة باستخدام Azure CLI:

az ad sp show --id <identity-object-ID> --query displayName

تكوين تطبيق Java لاستخدام هوية مدارة

افتح ملف src/main/resources/application.properties ، ثم أضف Authentication=ActiveDirectoryMSI; في نهاية spring.datasource.url السطر، كما هو موضح في المثال التالي. تأكد من استخدام القيمة الصحيحة لمتغير $AZ_DATABASE_NAME.

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;

إنشاء التطبيق وتوزيعه في Azure Spring Apps

أعد إنشاء التطبيق وانشره في Azure Spring Apps المتوفرة في نقطة التعداد النقطي الثانية ضمن المتطلبات الأساسية. لديك الآن تطبيق Spring Boot مصادق عليه بواسطة هوية مدارة تستخدم JPA لتخزين البيانات واستردادها من قاعدة بيانات Azure SQL في Azure Spring Apps.

الخطوات التالية