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

إشعار

سيتم إهمال الخطط الأساسية والقياسية والمؤسسة بدءا من منتصف مارس 2025، مع فترة تقاعد 3 سنوات. نوصي بالانتقال إلى Azure Container Apps. لمزيد من المعلومات، راجع إعلان إيقاف Azure Spring Apps.

سيتم إهمال الاستهلاك القياسي والخطة المخصصة بدءا من 30 سبتمبر 2024، مع إيقاف التشغيل الكامل بعد ستة أشهر. نوصي بالانتقال إلى Azure Container Apps. لمزيد من المعلومات، راجع ترحيل استهلاك Azure Spring Apps القياسي وخطة مخصصة إلى Azure Container Apps.

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

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

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

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

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

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

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

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

اتصل بخادم 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.

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