استخدام هوية مدارة لتوصيل قاعدة بيانات 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 مع اشتراك نشط. أنشئ حساباً مجاناً.
- إصدار Azure CLI 2.45.0 أو أعلى.
- اتبع البرنامج التعليمي Spring Data JPA لتوفير قاعدة بيانات Azure SQL والعمل مع تطبيق Java محليا.
- اتبع البرنامج التعليمي للهوية المدارة المعين من قبل نظام Azure Spring Apps لتوفير تطبيق في Azure Spring Apps مع تمكين الهوية المدارة.
الاتصال إلى قاعدة بيانات 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.