خدمة Microsoft.ApiManagement
تعريف مورد Bicep
يمكن نشر نوع مورد الخدمة مع العمليات التي تستهدف:
- مجموعات الموارد - راجع أوامر نشر مجموعة الموارد
للحصول على قائمة بالخصائص التي تم تغييرها في كل إصدار من إصدارات واجهة برمجة التطبيقات، راجع سجل التغيير.
تنسيق المورد
لإنشاء مورد Microsoft.ApiManagement/service، أضف Bicep التالي إلى القالب الخاص بك.
resource symbolicname 'Microsoft.ApiManagement/service@2023-05-01-preview' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
{customized property}: 'string'
sku: {
capacity: int
name: 'string'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {
clientId: 'string'
principalId: 'string'
}
}
}
properties: {
additionalLocations: [
{
disableGateway: bool
location: 'string'
natGatewayState: 'string'
publicIpAddressId: 'string'
sku: {
capacity: int
name: 'string'
}
virtualNetworkConfiguration: {
subnetResourceId: 'string'
}
zones: [
'string'
]
}
]
apiVersionConstraint: {
minApiVersion: 'string'
}
certificates: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
encodedCertificate: 'string'
storeName: 'string'
}
]
configurationApi: {
legacyApi: 'string'
}
customProperties: {
{customized property}: 'string'
}
developerPortalStatus: 'string'
disableGateway: bool
enableClientCertificate: bool
hostnameConfigurations: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
certificateSource: 'string'
certificateStatus: 'string'
defaultSslBinding: bool
encodedCertificate: 'string'
hostName: 'string'
identityClientId: 'string'
keyVaultId: 'string'
negotiateClientCertificate: bool
type: 'string'
}
]
legacyPortalStatus: 'string'
natGatewayState: 'string'
notificationSenderEmail: 'string'
privateEndpointConnections: [
{
id: 'string'
name: 'string'
properties: {
privateEndpoint: {}
privateLinkServiceConnectionState: {
actionsRequired: 'string'
description: 'string'
status: 'string'
}
}
type: 'string'
}
]
publicIpAddressId: 'string'
publicNetworkAccess: 'string'
publisherEmail: 'string'
publisherName: 'string'
restore: bool
virtualNetworkConfiguration: {
subnetResourceId: 'string'
}
virtualNetworkType: 'string'
}
zones: [
'string'
]
}
قيم Property
الخدمة
الاسم | الوصف | القيمة |
---|---|---|
الاسم | اسم المورد | سلسلة (مطلوبة) حد الحرف: 1-50 الأحرف الصالحة: الأبجدية الرقمية والواصلات. يبدأ بالحرف وينتهي بالأبجدية الرقمية. يجب أن يكون اسم المورد فريدا عبر Azure. |
الموقع | الموقع الخاص بالمورد. | سلسلة (مطلوبة) |
العلامات | علامات الموارد. | قاموس أسماء العلامات والقيم. راجع العلامات في القوالب |
sku | خصائص SKU لخدمة APIM. | ApiManagementServiceSkuProperties (مطلوب) |
الهوية | هوية الخدمة المدارة لخدمة APIM. | ApiManagementServiceIdentity |
خصائص | خصائص خدمة APIM. | ApiManagementServiceProperties (مطلوب) |
المناطق | قائمة بمناطق التوفر التي تشير إلى المكان الذي يجب أن يأتي منه المورد. | سلسلة [] |
ApiManagementServiceIdentity
الاسم | الوصف | القيمة |
---|---|---|
النوع | نوع الهوية المستخدمة للمورد. يشتمل النوع "SystemAssigned، UserAssigned" على كل من هوية تم إنشاؤها ضمنيّاً ومجموعة من الهويات المعينة من قِبل المستخدم. سيقوم النوع "بلا" بإزالة أي هويات من الخدمة. | 'بلا' 'SystemAssigned' 'SystemAssigned, UserAssigned' "UserAssigned" (مطلوب) |
userAssignedIdentities | قائمة هويات المستخدم المقترنة بالمورد. هوية المستخدم ستكون مراجع مفاتيح القاموس معرفات موارد ARM في النموذج: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
الاسم | الوصف | القيمة |
---|---|---|
{خاصية مخصصة} | خصائص معرف المستخدم |
خصائص معرف المستخدم
الاسم | الوصف | القيمة |
---|---|---|
clientId | معرف العميل للهوية المعينة من قبل المستخدم. | سلسلة |
معرف أساسي | المعرف الأساسي للهوية المعينة من قبل المستخدم. | سلسلة |
ApiManagementServiceProperties
الاسم | الوصف | القيمة |
---|---|---|
مواقع إضافية | مواقع مركز بيانات إضافية لخدمة APIM. | AdditionalLocation[] |
apiVersionConstraint | قيد إصدار وحدة التحكم Apis لخدمة APIM. | ApiVersionConstraint |
الشهادات | قائمة الشهادات التي يجب تثبيتها في خدمة APIM. الحد الأقصى للشهادات المدعومة التي يمكن تثبيتها هو 10. | تكوين الشهادة[] |
configurationApi | تكوين API التكوين لخدمة APIM. | ConfigurationApi |
خصائص مخصصة | الخصائص المخصصة لخدمة APIM. سيؤدي الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 إلى تعطيل TLS_RSA_WITH_3DES_EDE_CBC_SHA التشفير لجميع TLS (1.0 و1.1 و1.2).يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 لتعطيل TLS 1.1 فقط.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 لتعطيل TLS 1.0 على خدمة APIM.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 لتعطيل TLS 1.1 فقط للاتصالات مع الخلفيات.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 لتعطيل TLS 1.0 للاتصالات مع الخلفيات.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 لتمكين بروتوكول HTTP2 على خدمة APIM.سيؤدي عدم تحديد أي من هذه الخصائص في عملية PATCH إلى إعادة تعيين قيم الخصائص المحذفة إلى الإعدادات الافتراضية الخاصة بها. بالنسبة لجميع الإعدادات باستثناء Http2، تكون القيمة الافتراضية هي True إذا تم إنشاء الخدمة في 1 أبريل 2018 أو قبله وبخلاف False ذلك. القيمة الافتراضية لإعداد Http2 هي False .يمكنك تعطيل أي من الشفرات التالية باستخدام الإعدادات Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA، TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA، TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA، TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA، TLS_RSA_WITH_AES_128_GCM_SHA256، TLS_RSA_WITH_AES_256_CBC_SHA256، TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA على سبيل المثال، Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . القيمة الافتراضية هي true لهم.ملاحظة: لا يمكن تعطيل الشفرات التالية لأنها مطلوبة من قبل مكونات النظام الأساسي الداخلية: TLS_AES_256_GCM_SHA384،TLS_AES_128_GCM_SHA256،TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384،TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256،TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384،TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256، TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384، TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256، TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384، TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
ApiManagementServiceBasePropertiesCustomProperties |
developerPortalStatus | حالة مدخل المطور في خدمة APIM هذه. | "معطل" "ممكن" |
تعطيلGateway | الخاصية صالحة فقط لخدمة APIM المنشورة في مواقع متعددة. يمكن استخدام هذا لتعطيل البوابة في المنطقة الرئيسية. | Bool |
enableClientCertificate | خاصية تهدف فقط إلى استخدامها لخدمة SKU الاستهلاك. يفرض هذا شهادة عميل ليتم تقديمها على كل طلب إلى البوابة. وهذا يتيح أيضا القدرة على مصادقة الشهادة في النهج على البوابة. | Bool |
تكوينات اسم المضيف | تكوين اسم المضيف المخصص لخدمة APIM. | HostnameConfiguration[] |
legacyPortalStatus | حالة المدخل القديم في خدمة APIM. | "معطل" "ممكن" |
natGatewayState | يمكن استخدام الخاصية لتمكين بوابة NAT لخدمة APIM هذه. | "معطل" "ممكن" |
notificationSenderEmail | عنوان البريد الإلكتروني الذي سيتم إرسال الإعلام منه. | سلسلة |
اتصالات نقطة النهاية الخاصة | قائمة اتصالات نقطة النهاية الخاصة لهذه الخدمة. | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | عنوان IP المستند إلى SKU IP V4 القياسي العام ليتم إقرانه بالخدمة الموزعة للشبكة الظاهرية في المنطقة. مدعوم فقط للمطور وPremium SKU الذي يتم نشره في الشبكة الظاهرية. | سلسلة |
publicNetworkAccess | ما إذا كان يسمح بالوصول إلى نقطة النهاية العامة لخدمة APIM هذه أم لا. القيمة اختيارية ولكن إذا تم تمريرها، يجب أن تكون "ممكنة" أو "معطل". إذا كانت "معطل"، فإن نقاط النهاية الخاصة هي أسلوب الوصول الحصري. القيمة الافتراضية هي "ممكن" | "معطل" "ممكن" |
publisherEmail | البريد الإلكتروني للناشر. | سلسلة (مطلوبة) |
publisherName | اسم الناشر. | سلسلة (مطلوبة) |
الاستعادة | إلغاء حذف خدمة إدارة واجهة برمجة التطبيقات إذا تم حذفها مبدئيا مسبقا. إذا تم تحديد هذه العلامة وتعيينها إلى True، فسيتم تجاهل جميع الخصائص الأخرى. | Bool |
تكوين الشبكة الظاهرية | تكوين الشبكة الظاهرية لخدمة APIM. | تكوين الشبكة الظاهرية |
نوع الشبكة الظاهرية | نوع VPN الذي يجب تكوين خدمة APIM فيه. لا شيء (القيمة الافتراضية) يعني أن خدمة APIM ليست جزءا من أي شبكة ظاهرية، ويعني خارجي أنه تم إعداد توزيع APIM داخل شبكة ظاهرية تحتوي على نقطة نهاية مواجهة للإنترنت، ويعني داخلي أن توزيع APIM يتم إعداده داخل شبكة ظاهرية تحتوي على نقطة نهاية مواجهة إنترانت فقط. | "خارجي" "داخلي" 'بلا' |
الموقع الإضافي
الاسم | الوصف | القيمة |
---|---|---|
تعطيلGateway | الخاصية صالحة فقط لخدمة APIM المنشورة في مواقع متعددة. يمكن استخدام هذا لتعطيل البوابة في هذا الموقع الإضافي. | Bool |
الموقع | اسم موقع المنطقة الإضافية بين مناطق مركز بيانات Azure. | سلسلة (مطلوبة) |
natGatewayState | يمكن استخدام الخاصية لتمكين بوابة NAT لخدمة APIM هذه. | "معطل" "ممكن" |
publicIpAddressId | عنوان IP المستند إلى SKU IP V4 القياسي العام ليتم إقرانه بخدمة الشبكة الظاهرية المنشورة في الموقع. مدعوم فقط ل Premium SKU الذي يتم نشره في الشبكة الظاهرية. | سلسلة |
sku | خصائص SKU لخدمة APIM. | ApiManagementServiceSkuProperties (مطلوب) |
تكوين الشبكة الظاهرية | تكوين الشبكة الظاهرية للموقع. | تكوين الشبكة الظاهرية |
المناطق | قائمة بمناطق التوفر التي تدل على المكان الذي يجب أن يأتي منه المورد. | سلسلة [] |
ApiManagementServiceSkuProperties
الاسم | الوصف | القيمة |
---|---|---|
السعة | سعة SKU (عدد الوحدات المنشورة من SKU). بالنسبة إلى سعة وحدة SKU للاستهلاك يجب تحديدها على أنها 0. | int (مطلوب) |
الاسم | اسم Sku. | "أساسي" 'BasicV2' "الاستهلاك" "المطور" "معزول" 'Premium' 'قياسي' 'StandardV2' (مطلوب) |
تكوين الشبكة الظاهرية
الاسم | الوصف | القيمة |
---|---|---|
subnetResourceId | معرف المورد الكامل لشبكة فرعية في شبكة ظاهرية لنشر خدمة APIM فيها. | سلسلة |
ApiVersionConstraint
الاسم | الوصف | القيمة |
---|---|---|
minApiVersion | تقييد استدعاءات واجهة برمجة تطبيقات مستوى التحكم إلى خدمة APIM مع إصدار يساوي أو أحدث من هذه القيمة. | سلسلة |
تكوين الشهادة
الاسم | الوصف | القيمة |
---|---|---|
الشهادة | معلومات الشهادة. | نموذج الشهادة |
certificatePassword | كلمة مرور الشهادة. | سلسلة |
ترميزCertificate | شهادة ترميز Base64. | سلسلة |
storeName | موقع مخزن شهادات System.Security.Cryptography.x509certificates.StoreName. الجذر و CertificateAuthority هما الموقعان الصالحان فقط. | 'CertificateAuthority' 'الجذر' (مطلوب) |
نموذج الشهادة
الاسم | الوصف | القيمة |
---|---|---|
تاريخ انتهاء الصلاحية | تاريخ انتهاء صلاحية الشهادة. يتوافق التاريخ مع التنسيق التالي: yyyy-MM-ddTHH:mm:ssZ كما هو محدد بواسطة معيار ISO 8601. |
سلسلة (مطلوب) |
الموضوع | موضوع الشهادة. | سلسلة (مطلوب) |
بصمة الإبهام | بصمة إبهام الشهادة. | سلسلة (مطلوب) |
ConfigurationApi
الاسم | الوصف | القيمة |
---|---|---|
legacyApi | الإشارة إلى ما إذا كان يجب عرض واجهة برمجة تطبيقات التكوين القديمة (v1) على خدمة APIM أم لا. القيمة اختيارية ولكن يجب أن تكون "ممكنة" أو "معطل". إذا كانت "معطل"، فلن تتوفر واجهة برمجة تطبيقات التكوين القديمة (v1) للبوابات المستضافة ذاتيا. القيمة الافتراضية هي "ممكن" | "معطل" "ممكن" |
ApiManagementServiceBasePropertiesCustomProperties
الاسم | الوصف | القيمة |
---|---|---|
{خاصية مخصصة} | سلسلة |
تكوين اسم المضيف
الاسم | الوصف | القيمة |
---|---|---|
الشهادة | معلومات الشهادة. | نموذج الشهادة |
certificatePassword | كلمة مرور الشهادة. | سلسلة |
مصدر الشهادة | مصدر الشهادة. | 'BuiltIn' "مخصص" 'KeyVault' "مدار" |
certificateStatus | حالة الشهادة. | "مكتمل" "فشل" "InProgress" |
defaultSslBinding | حدد true لإعداد الشهادة المقترنة باسم المضيف هذا كشهادة SSL الافتراضية. إذا لم يرسل العميل عنوان SNI، فستكون هذه هي الشهادة التي سيتم تحديها. الخاصية مفيدة إذا تم تمكين اسم مضيف مخصص متعدد للخدمة وتحتاج إلى اتخاذ قرار بشأن شهادة ssl الافتراضية. يتم تطبيق الإعداد فقط على نوع اسم المضيف للبوابة. | Bool |
ترميزCertificate | شهادة ترميز Base64. | سلسلة |
hostName | اسم المضيف للتكوين على خدمة APIM. | سلسلة (مطلوب) |
معرف الهوية | معرف عميل الهوية المدارة المعين من قبل النظام أو المستخدم كما تم إنشاؤه بواسطة Azure AD، والذي لديه حق الوصول إلى keyVault الذي يحتوي على شهادة SSL. | سلسلة |
keyVaultId | Url إلى KeyVault Secret الذي يحتوي على شهادة Ssl. إذا تم توفير عنوان URL مطلق يحتوي على إصدار، فلن يعمل التحديث التلقائي لشهادة ssl. يتطلب هذا تكوين خدمة APIM باستخدام aka.ms/apimmsi. يجب أن يكون السر من نوع application/x-pkcs12 | سلسلة |
negotiateClientCertificate | حدد true للتفاوض دائما على شهادة العميل على اسم المضيف. القيمة الافتراضية خاطئة. | Bool |
النوع | نوع اسم المضيف. | "ConfigurationApi" "DeveloperPortal" "الإدارة" "المدخل" "الوكيل" 'Scm' (مطلوب) |
RemotePrivateEndpointConnectionWrapper
الاسم | الوصف | القيمة |
---|---|---|
المعرف | معرف مورد اتصال نقطة النهاية الخاصة | سلسلة |
الاسم | اسم اتصال نقطة النهاية الخاصة | سلسلة |
خصائص | خصائص المورد. | PrivateEndpointConnectionWrapperProperties |
النوع | نوع مورد اتصال نقطة النهاية الخاصة | سلسلة |
PrivateEndpointConnectionWrapperProperties
الاسم | الوصف | القيمة |
---|---|---|
نقطة النهاية الخاصة | مورد نقطة النهاية الخاصة. | ArmIdWrapper |
privateLinkServiceConnectionState | مجموعة من المعلومات حول حالة الاتصال بين مستهلك الخدمة والموفر. | PrivateLinkServiceConnectionState (مطلوب) |
ArmIdWrapper
لا يحتوي هذا الكائن على أي خصائص لتعيينها أثناء التوزيع. جميع الخصائص هي ReadOnly.
PrivateLinkServiceConnectionState
الاسم | الوصف | القيمة |
---|---|---|
الإجراءات مطلوبة | رسالة تشير إلى ما إذا كانت التغييرات على موفر الخدمة تتطلب أي تحديثات على المستهلك. | سلسلة |
الوصف | سبب الموافقة/رفض الاتصال. | سلسلة |
الحالة | يشير إلى ما إذا كان الاتصال قد تمت الموافقة عليه/رفضه/إزالته من قبل مالك الخدمة. | "تمت الموافقة" "معلق" "مرفوض" |
قوالب التشغيل السريع
تنشر قوالب التشغيل السريع التالية نوع المورد هذا.
قالب | الوصف |
---|---|
إنشاء مثيل APIM وجميع الموارد الفرعية باستخدام القالب |
يوضح هذا القالب كيفية إنشاء خدمة APIM وتكوين الكيانات الفرعية |
توزيع APIM باستخدام Azure Cache خارجي ل Redis |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في طبقة الاستهلاك باستخدام مثيل Azure Cache for Redis خارجي كذاكرة تخزين مؤقت خارجية لإدارة واجهة برمجة التطبيقات. |
نشر APIM في VNet الخارجي باستخدام IP العام |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في الطبقة Premium داخل الشبكة الفرعية للشبكة الظاهرية في الوضع الخارجي وتكوين قواعد NSG الموصى بها على الشبكة الفرعية. يتم نشر المثيل في منطقتين للتوفر. يقوم القالب أيضا بتكوين عنوان IP عام من اشتراكك. |
إنشاء مثيل APIM باستخدام أسماء المضيفين المخصصة |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management مع اسم مضيف مخصص للمدخل وأسماء مضيف مخصصة متعددة للوكيل |
إنشاء إدارة واجهة برمجة التطبيقات في VNet الداخلية باستخدام بوابة التطبيق |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management على شبكة خاصة محمية بواسطة بوابة تطبيق Azure. |
نشر APIM في VNet الداخلية باستخدام IP العام |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في المستوى المتميز داخل الشبكة الفرعية للشبكة الظاهرية في الوضع الداخلي وتكوين قواعد NSG الموصى بها على الشبكة الفرعية. يتم نشر المثيل في منطقتين للتوفر. يقوم القالب أيضا بتكوين عنوان IP عام من اشتراكك. |
إنشاء مثيل APIM له هوية MSI |
ينشئ هذا القالب مثيل مطور لإدارة واجهة برمجة تطبيقات Azure التي لها هوية MSI |
إنشاء مثيل إدارة API لطبقة Premium متعددة المناطق |
يوضح هذا القالب كيفية إنشاء مثيل APIM بمواقع إضافية. الموقع الأساسي هو نفس موقع مجموعة الموارد. بالنسبة للمواقع الإضافية، يعرض القالب NorthCentralUs و East US2. يجب أن يكون الموقع الأساسي مختلفا عن المواقع الإضافية. |
إنشاء APIM باستخدام ssl للوكيل المخصص باستخدام KeyVault |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management وتكوين اسم مضيف مخصص للوكيل مع شهادة ssl من keyvault. |
إنشاء خدمة APIM باستخدام SSL من KeyVault |
ينشر هذا القالب خدمة إدارة واجهة برمجة التطبيقات التي تم تكوينها باستخدام الهوية المعينة من قبل المستخدم. يستخدم هذه الهوية لجلب شهادة SSL من KeyVault ويحافظ على تحديثها عن طريق التحقق كل 4 ساعات. |
إنشاء مثيل APIM ومراقبته |
ينشئ هذا القالب مثيلا لخدمة Azure API Management ومساحة عمل Log Analytics وإعداد المراقبة لخدمة APIM باستخدام Log Analytics |
إنشاء خدمة APIM بنقطة نهاية خاصة |
سيقوم هذا القالب بإنشاء خدمة APIM وشبكة ظاهرية ونقطة نهاية خاصة تعرض خدمة APIM للشبكة الظاهرية. |
توزيع إدارة واجهة برمجة التطبيقات في مناطق التوفر |
ينشئ هذا القالب مثيلا متميزا من Azure API Management وينشر في منطقة توافر الخدمات |
إنشاء مثيل APIM باستخدام قالب |
ينشئ هذا القالب مثيل مطور من Azure API Management |
Front Door Standard/Premium مع أصل APIM |
ينشئ هذا القالب Front Door Premium ومثيل APIM، ويستخدم NSG ونهج إدارة واجهة برمجة التطبيقات العمومي للتحقق من أن نسبة استخدام الشبكة قد جاءت من خلال أصل Front Door. |
إنشاء Azure Front Door أمام إدارة واجهة برمجة تطبيقات Azure |
يوضح هذا النموذج كيفية استخدام Azure Front Door كموازن تحميل عمومي أمام Azure API Management. |
بوابة التطبيق مع إدارة واجهة برمجة التطبيقات الداخلية وتطبيق الويب |
توجيه حركة مرور الإنترنت إلى مثيل APIM للشبكة الظاهرية (الوضع الداخلي) الذي يقوم بخدمات واجهة برمجة تطبيقات الويب المستضافة في Azure Web App. |
تعريف مورد قالب ARM
يمكن نشر نوع مورد الخدمة مع العمليات التي تستهدف:
- مجموعات الموارد - راجع أوامر نشر مجموعة الموارد
للحصول على قائمة بالخصائص التي تم تغييرها في كل إصدار من إصدارات واجهة برمجة التطبيقات، راجع سجل التغيير.
تنسيق المورد
لإنشاء مورد Microsoft.ApiManagement/service، أضف JSON التالي إلى القالب الخاص بك.
{
"type": "Microsoft.ApiManagement/service",
"apiVersion": "2023-05-01-preview",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"{customized property}": "string"
"sku": {
"capacity": "int",
"name": "string"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
"clientId": "string",
"principalId": "string"
}
}
},
"properties": {
"additionalLocations": [
{
"disableGateway": "bool",
"location": "string",
"natGatewayState": "string",
"publicIpAddressId": "string",
"sku": {
"capacity": "int",
"name": "string"
},
"virtualNetworkConfiguration": {
"subnetResourceId": "string"
},
"zones": [ "string" ]
}
],
"apiVersionConstraint": {
"minApiVersion": "string"
},
"certificates": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"encodedCertificate": "string",
"storeName": "string"
}
],
"configurationApi": {
"legacyApi": "string"
},
"customProperties": {
"{customized property}": "string"
},
"developerPortalStatus": "string",
"disableGateway": "bool",
"enableClientCertificate": "bool",
"hostnameConfigurations": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"certificateSource": "string",
"certificateStatus": "string",
"defaultSslBinding": "bool",
"encodedCertificate": "string",
"hostName": "string",
"identityClientId": "string",
"keyVaultId": "string",
"negotiateClientCertificate": "bool",
"type": "string"
}
],
"legacyPortalStatus": "string",
"natGatewayState": "string",
"notificationSenderEmail": "string",
"privateEndpointConnections": [
{
"id": "string",
"name": "string",
"properties": {
"privateEndpoint": {},
"privateLinkServiceConnectionState": {
"actionsRequired": "string",
"description": "string",
"status": "string"
}
},
"type": "string"
}
],
"publicIpAddressId": "string",
"publicNetworkAccess": "string",
"publisherEmail": "string",
"publisherName": "string",
"restore": "bool",
"virtualNetworkConfiguration": {
"subnetResourceId": "string"
},
"virtualNetworkType": "string"
},
"zones": [ "string" ]
}
قيم Property
الخدمة
الاسم | الوصف | القيمة |
---|---|---|
النوع | نوع المورد | 'Microsoft.ApiManagement/service' |
apiVersion | إصدار واجهة برمجة تطبيقات المورد | 'معاينة 2023-05-01' |
الاسم | اسم المورد | سلسلة (مطلوبة) حد الحرف: 1-50 الأحرف الصالحة: الأبجدية الرقمية والواصلات. يبدأ بالحرف وينتهي بالأبجدية الرقمية. يجب أن يكون اسم المورد فريدا عبر Azure. |
الموقع | الموقع الخاص بالمورد. | سلسلة (مطلوبة) |
العلامات | علامات الموارد. | قاموس أسماء العلامات والقيم. راجع العلامات في القوالب |
sku | خصائص SKU لخدمة APIM. | ApiManagementServiceSkuProperties (مطلوب) |
الهوية | هوية الخدمة المدارة لخدمة APIM. | ApiManagementServiceIdentity |
خصائص | خصائص خدمة APIM. | ApiManagementServiceProperties (مطلوب) |
المناطق | قائمة بمناطق التوفر التي تشير إلى المكان الذي يجب أن يأتي منه المورد. | سلسلة [] |
ApiManagementServiceIdentity
الاسم | الوصف | القيمة |
---|---|---|
النوع | نوع الهوية المستخدمة للمورد. يشتمل النوع "SystemAssigned، UserAssigned" على كل من هوية تم إنشاؤها ضمنيّاً ومجموعة من الهويات المعينة من قِبل المستخدم. سيقوم النوع "بلا" بإزالة أي هويات من الخدمة. | 'بلا' 'SystemAssigned' 'SystemAssigned, UserAssigned' "UserAssigned" (مطلوب) |
userAssignedIdentities | قائمة هويات المستخدم المقترنة بالمورد. هوية المستخدم ستكون مراجع مفتاح القاموس معرفات موارد ARM في النموذج: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
الاسم | الوصف | القيمة |
---|---|---|
{خاصية مخصصة} | UserIdentityProperties |
UserIdentityProperties
الاسم | الوصف | القيمة |
---|---|---|
clientId | معرف العميل للهوية المعينة من قبل المستخدم. | سلسلة |
معرف أساسي | المعرف الأساسي للهوية المعينة من قبل المستخدم. | سلسلة |
ApiManagementServiceProperties
الاسم | الوصف | القيمة |
---|---|---|
مواقع إضافية | مواقع مركز بيانات إضافية لخدمة APIM. | AdditionalLocation[] |
apiVersionConstraint | قيد إصدار وحدة التحكم Apis لخدمة APIM. | ApiVersionConstraint |
الشهادات | قائمة الشهادات التي يجب تثبيتها في خدمة APIM. الحد الأقصى للشهادات المدعومة التي يمكن تثبيتها هو 10. | CertificateConfiguration[] |
configurationApi | تكوين واجهة برمجة تطبيقات التكوين لخدمة APIM. | ConfigurationApi |
الخصائص المخصصة | الخصائص المخصصة لخدمة APIM. سيقوم الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 بتعطيل TLS_RSA_WITH_3DES_EDE_CBC_SHA التشفير لجميع TLS(1.0 و1.1 و1.2).يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 لتعطيل TLS 1.1 فقط.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 لتعطيل TLS 1.0 على خدمة APIM.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 لتعطيل TLS 1.1 فقط للاتصالات مع الخلفيات.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 لتعطيل TLS 1.0 للاتصالات مع الخلفيات.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 لتمكين بروتوكول HTTP2 على خدمة APIM.سيؤدي عدم تحديد أي من هذه الخصائص في عملية PATCH إلى إعادة تعيين قيم الخصائص المحذفة إلى الإعدادات الافتراضية الخاصة بها. بالنسبة لجميع الإعدادات باستثناء Http2، تكون القيمة الافتراضية هي True إذا تم إنشاء الخدمة في 1 أبريل 2018 أو قبل ذلك أو False قبل ذلك. القيمة الافتراضية لإعداد Http2 هي False .يمكنك تعطيل أي من الشفرات التالية باستخدام الإعدادات Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA، TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA، TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA، TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA، TLS_RSA_WITH_AES_128_GCM_SHA256، TLS_RSA_WITH_AES_256_CBC_SHA256، TLS_RSA_WITH_AES_128_CBC_SHA256، TLS_RSA_WITH_AES_256_CBC_SHA، TLS_RSA_WITH_AES_128_CBC_SHA. على سبيل المثال، Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . القيمة الافتراضية هي true لهم.ملاحظة: لا يمكن تعطيل الشفرات التالية لأنها مطلوبة بواسطة مكونات النظام الأساسي الداخلية: TLS_AES_256_GCM_SHA384، TLS_AES_128_GCM_SHA256، TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384، TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256، TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384، TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256، TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384، TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256، TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384، TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
ApiManagementServiceBasePropertiesCustomProperties |
developerPortalStatus | حالة مدخل المطور في خدمة APIM هذه. | "معطل" "ممكن" |
تعطيلGateway | الخاصية صالحة فقط لخدمة APIM المنشورة في مواقع متعددة. يمكن استخدام هذا لتعطيل البوابة في المنطقة الرئيسية. | Bool |
enableClientCertificate | الخاصية التي تهدف فقط إلى استخدامها لخدمة SKU الاستهلاك. يفرض هذا شهادة عميل ليتم تقديمها على كل طلب إلى البوابة. يتيح هذا أيضا القدرة على مصادقة الشهادة في النهج على البوابة. | Bool |
تكوينات اسم المضيف | تكوين اسم المضيف المخصص لخدمة APIM. | HostnameConfiguration[] |
legacyPortalStatus | حالة المدخل القديم في خدمة APIM. | "معطل" "ممكن" |
natGatewayState | يمكن استخدام الخاصية لتمكين بوابة NAT لخدمة APIM هذه. | "معطل" "ممكن" |
notificationSenderEmail | عنوان البريد الإلكتروني الذي سيتم إرسال الإعلام منه. | سلسلة |
اتصالات نقطة النهاية الخاصة | قائمة اتصالات نقطة النهاية الخاصة لهذه الخدمة. | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | عنوان IP المستند إلى SKU IP V4 القياسي العام ليتم إقرانه بالخدمة الموزعة للشبكة الظاهرية في المنطقة. مدعوم فقط للمطور وPremium SKU الذي يتم نشره في الشبكة الظاهرية. | سلسلة |
publicNetworkAccess | ما إذا كان يسمح بالوصول إلى نقطة النهاية العامة لخدمة APIM هذه أم لا. القيمة اختيارية ولكن إذا تم تمريرها، يجب أن تكون "ممكنة" أو "معطل". إذا كانت "معطل"، فإن نقاط النهاية الخاصة هي أسلوب الوصول الحصري. القيمة الافتراضية هي "ممكن" | "معطل" "ممكن" |
publisherEmail | البريد الإلكتروني للناشر. | سلسلة (مطلوب) |
publisherName | اسم الناشر. | سلسلة (مطلوب) |
الاستعادة | إلغاء حذف خدمة APIM إذا تم حذفها مبدئيا مسبقا. إذا تم تحديد هذه العلامة وتعيينها إلى True سيتم تجاهل جميع الخصائص الأخرى. | Bool |
تكوين الشبكة الظاهرية | تكوين الشبكة الظاهرية لخدمة APIM. | تكوين الشبكة الظاهرية |
نوع الشبكة الظاهرية | نوع VPN الذي يجب تكوين خدمة APIM فيه. لا شيء (القيمة الافتراضية) يعني أن خدمة إدارة واجهة برمجة التطبيقات ليست جزءا من أي شبكة ظاهرية، ويعني خارجي أنه تم إعداد نشر APIM داخل شبكة ظاهرية تحتوي على نقطة نهاية مواجهة للإنترنت، ويعني داخلي أن نشر APIM يتم إعداده داخل شبكة ظاهرية تحتوي على نقطة نهاية مواجهة إنترانت فقط. | "خارجي" "داخلي" 'بلا' |
تخصيص إضافي
الاسم | الوصف | القيمة |
---|---|---|
تعطيلGateway | الخاصية صالحة فقط لخدمة APIM المنشورة في مواقع متعددة. يمكن استخدام هذا لتعطيل البوابة في هذا الموقع الإضافي. | Bool |
الموقع | اسم موقع المنطقة الإضافية بين مناطق مركز بيانات Azure. | سلسلة (مطلوب) |
natGatewayState | يمكن استخدام الخاصية لتمكين بوابة NAT لخدمة APIM هذه. | "معطل" "ممكن" |
publicIpAddressId | عنوان IP المستند إلى SKU IP V4 القياسي العام ليتم إقرانه بخدمة الشبكة الظاهرية المنشورة في الموقع. مدعوم فقط ل Premium SKU الذي يتم نشره في الشبكة الظاهرية. | سلسلة |
sku | خصائص SKU لخدمة APIM. | ApiManagementServiceSkuProperties (مطلوب) |
تكوين الشبكة الظاهرية | تكوين الشبكة الظاهرية للموقع. | تكوين الشبكة الظاهرية |
المناطق | قائمة بمناطق التوفر التي تدل على المكان الذي يجب أن يأتي منه المورد. | سلسلة [] |
ApiManagementServiceSkuProperties
الاسم | الوصف | القيمة |
---|---|---|
السعة | سعة SKU (عدد الوحدات المنشورة من SKU). بالنسبة إلى سعة وحدة SKU للاستهلاك يجب تحديدها على أنها 0. | int (مطلوب) |
الاسم | اسم Sku. | "أساسي" 'BasicV2' "الاستهلاك" "المطور" "معزول" 'Premium' 'قياسي' 'StandardV2' (مطلوب) |
تكوين الشبكة الظاهرية
الاسم | الوصف | القيمة |
---|---|---|
subnetResourceId | معرف المورد الكامل لشبكة فرعية في شبكة ظاهرية لنشر خدمة APIM فيها. | سلسلة |
ApiVersionConstraint
الاسم | الوصف | القيمة |
---|---|---|
minApiVersion | تقييد استدعاءات واجهة برمجة تطبيقات مستوى التحكم إلى خدمة APIM مع إصدار يساوي أو أحدث من هذه القيمة. | سلسلة |
تكوين الشهادة
الاسم | الوصف | القيمة |
---|---|---|
الشهادة | معلومات الشهادة. | نموذج الشهادة |
certificatePassword | كلمة مرور الشهادة. | سلسلة |
ترميزCertificate | شهادة ترميز Base64. | سلسلة |
storeName | موقع مخزن شهادات System.Security.Cryptography.x509certificates.StoreName. الجذر و CertificateAuthority هما الموقعان الصالحان فقط. | 'CertificateAuthority' 'الجذر' (مطلوب) |
نموذج الشهادة
الاسم | الوصف | القيمة |
---|---|---|
تاريخ انتهاء الصلاحية | تاريخ انتهاء صلاحية الشهادة. يتوافق التاريخ مع التنسيق التالي: yyyy-MM-ddTHH:mm:ssZ كما هو محدد بواسطة معيار ISO 8601. |
سلسلة (مطلوبة) |
الموضوع | موضوع الشهادة. | سلسلة (مطلوبة) |
بصمة الإبهام | بصمة إبهام الشهادة. | سلسلة (مطلوبة) |
ConfigurationApi
الاسم | الوصف | القيمة |
---|---|---|
legacyApi | الإشارة إلى ما إذا كان يجب عرض واجهة برمجة تطبيقات التكوين القديمة (v1) على خدمة APIM أم لا. القيمة اختيارية ولكن يجب أن تكون "ممكنة" أو "معطل". إذا كانت "معطل"، فلن تتوفر واجهة برمجة تطبيقات التكوين القديمة (v1) للبوابات المستضافة ذاتيا. القيمة الافتراضية هي "ممكن" | "معطل" "ممكن" |
ApiManagementServiceBasePropertiesCustomProperties
الاسم | الوصف | القيمة |
---|---|---|
{خاصية مخصصة} | سلسلة |
تكوين اسم المضيف
الاسم | الوصف | القيمة |
---|---|---|
الشهادة | معلومات الشهادة. | معلومات الشهادة |
certificatePassword | كلمة مرور الشهادة. | سلسلة |
مصدر الشهادة | مصدر الشهادة. | 'BuiltIn' "مخصص" "KeyVault" "مدار" |
حالة الشهادات | حالة الشهادة. | "مكتمل" "فشل" "InProgress" |
defaultSslBinding | حدد true لإعداد الشهادة المقترنة باسم المضيف هذا كشهادة SSL الافتراضية. إذا لم يرسل العميل عنوان SNI، فستكون هذه هي الشهادة التي سيتم تحديها. الخاصية مفيدة إذا تم تمكين اسم مضيف مخصص متعدد للخدمة وتحتاج إلى اتخاذ قرار بشأن شهادة ssl الافتراضية. يتم تطبيق الإعداد فقط على نوع اسم المضيف للبوابة. | Bool |
ترميزCertificate | شهادة ترميز Base64. | سلسلة |
hostName | اسم المضيف للتكوين على خدمة APIM. | سلسلة (مطلوبة) |
معرف الهوية | معرف عميل الهوية المدارة المعين من قبل النظام أو المستخدم كما تم إنشاؤه بواسطة Azure AD، والذي لديه حق الوصول إلى keyVault الذي يحتوي على شهادة SSL. | سلسلة |
keyVaultId | Url إلى KeyVault Secret الذي يحتوي على شهادة Ssl. إذا تم توفير عنوان URL مطلق يحتوي على إصدار، فلن يعمل التحديث التلقائي لشهادة ssl. يتطلب ذلك تكوين خدمة APIM باستخدام aka.ms/apimmsi. يجب أن يكون السر من نوع application/x-pkcs12 | سلسلة |
negotiateClientCertificate | حدد true للتفاوض دائما على شهادة العميل على اسم المضيف. القيمة الافتراضية خاطئة. | Bool |
النوع | نوع اسم المضيف. | "ConfigurationApi" "DeveloperPortal" "الإدارة" "المدخل" "الوكيل" 'Scm' (مطلوب) |
RemotePrivateEndpointConnectionWrapper
الاسم | الوصف | القيمة |
---|---|---|
المعرف | معرف مورد اتصال نقطة النهاية الخاصة | سلسلة |
الاسم | اسم اتصال نقطة النهاية الخاصة | سلسلة |
خصائص | خصائص المورد. | PrivateEndpointConnectionWrapperProperties |
النوع | نوع مورد اتصال نقطة النهاية الخاصة | سلسلة |
PrivateEndpointConnectionWrapperProperties
الاسم | الوصف | القيمة |
---|---|---|
نقطة النهاية الخاصة | مورد نقطة النهاية الخاصة. | ArmIdWrapper |
privateLinkServiceConnectionState | مجموعة من المعلومات حول حالة الاتصال بين مستهلك الخدمة والموفر. | PrivateLinkServiceConnectionState (مطلوب) |
ArmIdWrapper
لا يحتوي هذا الكائن على أي خصائص لتعيينها أثناء التوزيع. جميع الخصائص هي ReadOnly.
PrivateLinkServiceConnectionState
الاسم | الوصف | القيمة |
---|---|---|
الإجراءات مطلوبة | رسالة تشير إلى ما إذا كانت التغييرات على موفر الخدمة تتطلب أي تحديثات على المستهلك. | سلسلة |
الوصف | سبب الموافقة/رفض الاتصال. | سلسلة |
الحالة | يشير إلى ما إذا كان الاتصال قد تمت الموافقة عليه/رفضه/إزالته من قبل مالك الخدمة. | "تمت الموافقة" "معلق" "مرفوض" |
قوالب التشغيل السريع
تنشر قوالب التشغيل السريع التالية نوع المورد هذا.
قالب | الوصف |
---|---|
إنشاء مثيل APIM وجميع الموارد الفرعية باستخدام القالب |
يوضح هذا القالب كيفية إنشاء خدمة APIM وتكوين الكيانات الفرعية |
توزيع APIM باستخدام Azure Cache خارجي ل Redis |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في طبقة الاستهلاك باستخدام مثيل Azure Cache for Redis خارجي كذاكرة تخزين مؤقت خارجية لإدارة واجهة برمجة التطبيقات. |
نشر إدارة واجهة برمجة التطبيقات في VNet الخارجية باستخدام IP العام |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في المستوى المتميز داخل الشبكة الفرعية للشبكة الظاهرية في الوضع الخارجي وتكوين قواعد NSG الموصى بها على الشبكة الفرعية. يتم نشر المثيل في منطقتين للتوفر. يقوم القالب أيضا بتكوين عنوان IP عام من اشتراكك. |
إنشاء مثيل APIM باستخدام أسماء المضيفين المخصصة |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management مع اسم مضيف مخصص للمدخل وأسماء مضيف مخصصة متعددة للوكيل |
إنشاء إدارة واجهة برمجة التطبيقات في VNet الداخلية باستخدام بوابة التطبيق |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management على شبكة خاصة محمية بواسطة بوابة تطبيق Azure. |
نشر APIM في VNet الداخلية باستخدام IP العام |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في المستوى المتميز داخل الشبكة الفرعية للشبكة الظاهرية في الوضع الداخلي وتكوين قواعد NSG الموصى بها على الشبكة الفرعية. يتم نشر المثيل في منطقتين للتوفر. يقوم القالب أيضا بتكوين عنوان IP عام من اشتراكك. |
إنشاء مثيل APIM له هوية MSI |
ينشئ هذا القالب مثيل مطور لإدارة واجهة برمجة تطبيقات Azure التي لها هوية MSI |
إنشاء مثيل إدارة API لطبقة Premium متعددة المناطق |
يوضح هذا القالب كيفية إنشاء مثيل APIM بمواقع إضافية. الموقع الأساسي هو نفس موقع مجموعة الموارد. بالنسبة للمواقع الإضافية، يعرض القالب NorthCentralUs و East US2. يجب أن يكون الموقع الأساسي مختلفا عن المواقع الإضافية. |
إنشاء APIM باستخدام ssl للوكيل المخصص باستخدام KeyVault |
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management وتكوين اسم مضيف مخصص للوكيل مع شهادة ssl من keyvault. |
إنشاء خدمة APIM باستخدام SSL من KeyVault |
ينشر هذا القالب خدمة إدارة واجهة برمجة التطبيقات التي تم تكوينها باستخدام الهوية المعينة من قبل المستخدم. يستخدم هذه الهوية لجلب شهادة SSL من KeyVault ويحافظ على تحديثها عن طريق التحقق كل 4 ساعات. |
إنشاء مثيل APIM ومراقبته |
ينشئ هذا القالب مثيلا لخدمة Azure API Management ومساحة عمل Log Analytics وإعداد المراقبة لخدمة APIM باستخدام Log Analytics |
إنشاء خدمة APIM بنقطة نهاية خاصة |
سيقوم هذا القالب بإنشاء خدمة APIM وشبكة ظاهرية ونقطة نهاية خاصة تعرض خدمة APIM للشبكة الظاهرية. |
توزيع إدارة واجهة برمجة التطبيقات في مناطق التوفر |
ينشئ هذا القالب مثيلا متميزا من Azure API Management وينشر في منطقة توافر الخدمات |
إنشاء مثيل APIM باستخدام قالب |
ينشئ هذا القالب مثيل مطور من Azure API Management |
Front Door Standard/Premium مع أصل APIM |
ينشئ هذا القالب Front Door Premium ومثيل APIM، ويستخدم NSG ونهج إدارة واجهة برمجة التطبيقات العمومي للتحقق من أن نسبة استخدام الشبكة قد جاءت من خلال أصل Front Door. |
إنشاء Azure Front Door أمام إدارة واجهة برمجة تطبيقات Azure |
يوضح هذا النموذج كيفية استخدام Azure Front Door كموازن تحميل عمومي أمام Azure API Management. |
بوابة التطبيق مع إدارة واجهة برمجة التطبيقات الداخلية وتطبيق الويب |
توجيه حركة مرور الإنترنت إلى مثيل APIM للشبكة الظاهرية (الوضع الداخلي) الذي يقوم بخدمات واجهة برمجة تطبيقات الويب المستضافة في Azure Web App. |
تعريف مورد Terraform (موفر AzAPI)
يمكن نشر نوع مورد الخدمة مع العمليات التي تستهدف:
- مجموعات الموارد
للحصول على قائمة بالخصائص التي تم تغييرها في كل إصدار من إصدارات واجهة برمجة التطبيقات، راجع سجل التغيير.
تنسيق المورد
لإنشاء مورد Microsoft.ApiManagement/service، أضف Terraform التالي إلى القالب الخاص بك.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service@2023-05-01-preview"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
{customized property} = "string"
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
additionalLocations = [
{
disableGateway = bool
location = "string"
natGatewayState = "string"
publicIpAddressId = "string"
sku = {
capacity = int
name = "string"
}
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
zones = [
"string"
]
}
]
apiVersionConstraint = {
minApiVersion = "string"
}
certificates = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
encodedCertificate = "string"
storeName = "string"
}
]
configurationApi = {
legacyApi = "string"
}
customProperties = {
{customized property} = "string"
}
developerPortalStatus = "string"
disableGateway = bool
enableClientCertificate = bool
hostnameConfigurations = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
certificateSource = "string"
certificateStatus = "string"
defaultSslBinding = bool
encodedCertificate = "string"
hostName = "string"
identityClientId = "string"
keyVaultId = "string"
negotiateClientCertificate = bool
type = "string"
}
]
legacyPortalStatus = "string"
natGatewayState = "string"
notificationSenderEmail = "string"
privateEndpointConnections = [
{
id = "string"
name = "string"
properties = {
privateEndpoint = {}
privateLinkServiceConnectionState = {
actionsRequired = "string"
description = "string"
status = "string"
}
}
type = "string"
}
]
publicIpAddressId = "string"
publicNetworkAccess = "string"
publisherEmail = "string"
publisherName = "string"
restore = bool
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
virtualNetworkType = "string"
}
zones = [
"string"
]
sku = {
capacity = int
name = "string"
}
})
}
قيم Property
الخدمة
الاسم | الوصف | القيمة |
---|---|---|
النوع | نوع المورد | "Microsoft.ApiManagement/service@2023-05-01-preview" |
الاسم | اسم المورد | سلسلة (مطلوبة) حد الحرف: 1-50 الأحرف الصالحة: الأبجدية الرقمية والواصلات. يبدأ بالحرف وينتهي بالأبجدية الرقمية. يجب أن يكون اسم المورد فريدا عبر Azure. |
الموقع | الموقع الخاص بالمورد. | سلسلة (مطلوبة) |
parent_id | للنشر إلى مجموعة موارد، استخدم معرف مجموعة الموارد هذه. | سلسلة (مطلوبة) |
العلامات | علامات الموارد. | قاموس أسماء العلامات والقيم. |
sku | خصائص SKU لخدمة APIM. | ApiManagementServiceSkuProperties (مطلوب) |
الهوية | هوية الخدمة المدارة لخدمة APIM. | ApiManagementServiceIdentity |
خصائص | خصائص خدمة APIM. | ApiManagementServiceProperties (مطلوب) |
المناطق | قائمة بمناطق التوفر التي تشير إلى المكان الذي يجب أن يأتي منه المورد. | سلسلة [] |
ApiManagementServiceIdentity
الاسم | الوصف | القيمة |
---|---|---|
النوع | نوع الهوية المستخدمة للمورد. يشتمل النوع "SystemAssigned، UserAssigned" على كل من هوية تم إنشاؤها ضمنيّاً ومجموعة من الهويات المعينة من قِبل المستخدم. سيقوم النوع "بلا" بإزالة أي هويات من الخدمة. | "SystemAssigned" "SystemAssigned, UserAssigned" "UserAssigned" (مطلوب) |
identity_ids | قائمة هويات المستخدم المقترنة بالمورد. هوية المستخدم ستكون مراجع مفاتيح القاموس معرفات موارد ARM في النموذج: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
صفيف معرفات هوية المستخدم. |
ApiManagementServiceIdentityUserAssignedIdentities
الاسم | الوصف | القيمة |
---|---|---|
{خاصية مخصصة} | خصائص معرف المستخدم |
خصائص معرف المستخدم
الاسم | الوصف | القيمة |
---|---|---|
clientId | معرف العميل للهوية المعينة من قبل المستخدم. | سلسلة |
معرف أساسي | المعرف الأساسي للهوية المعينة من قبل المستخدم. | سلسلة |
ApiManagementServiceProperties
الاسم | الوصف | القيمة |
---|---|---|
مواقع إضافية | مواقع مركز بيانات إضافية لخدمة APIM. | AdditionalLocation[] |
apiVersionConstraint | قيد إصدار وحدة التحكم Apis لخدمة APIM. | ApiVersionConstraint |
الشهادات | قائمة الشهادات التي يجب تثبيتها في خدمة APIM. الحد الأقصى للشهادات المدعومة التي يمكن تثبيتها هو 10. | تكوين الشهادة[] |
configurationApi | تكوين API التكوين لخدمة APIM. | ConfigurationApi |
خصائص مخصصة | الخصائص المخصصة لخدمة APIM. سيؤدي الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 إلى تعطيل TLS_RSA_WITH_3DES_EDE_CBC_SHA التشفير لجميع TLS (1.0 و1.1 و1.2).يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 لتعطيل TLS 1.1 فقط.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 لتعطيل TLS 1.0 على خدمة APIM.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 لتعطيل TLS 1.1 فقط للاتصالات مع الخلفيات.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 لتعطيل TLS 1.0 للاتصالات مع الخلفيات.يمكن استخدام الإعداد Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 لتمكين بروتوكول HTTP2 على خدمة APIM.سيؤدي عدم تحديد أي من هذه الخصائص في عملية PATCH إلى إعادة تعيين قيم الخصائص المحذفة إلى الإعدادات الافتراضية الخاصة بها. بالنسبة لجميع الإعدادات باستثناء Http2، تكون القيمة الافتراضية هي True إذا تم إنشاء الخدمة في 1 أبريل 2018 أو قبله وبخلاف False ذلك. القيمة الافتراضية لإعداد Http2 هي False .يمكنك تعطيل أي من الشفرات التالية باستخدام الإعدادات Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA، TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA، TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA، TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA، TLS_RSA_WITH_AES_128_GCM_SHA256، TLS_RSA_WITH_AES_256_CBC_SHA256، TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA على سبيل المثال، Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . القيمة الافتراضية هي true لهم.ملاحظة: لا يمكن تعطيل الشفرات التالية لأنها مطلوبة من قبل مكونات النظام الأساسي الداخلية: TLS_AES_256_GCM_SHA384،TLS_AES_128_GCM_SHA256،TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384،TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256،TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384،TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256، TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384، TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256، TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384، TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
ApiManagementServiceBasePropertiesCustomProperties |
developerPortalStatus | حالة مدخل المطور في خدمة APIM هذه. | "معطل" "ممكن" |
تعطيلGateway | الخاصية صالحة فقط لخدمة APIM المنشورة في مواقع متعددة. يمكن استخدام هذا لتعطيل البوابة في المنطقة الرئيسية. | Bool |
enableClientCertificate | الخاصية التي تهدف فقط إلى استخدامها لخدمة SKU الاستهلاك. يفرض هذا شهادة عميل ليتم تقديمها على كل طلب إلى البوابة. يتيح هذا أيضا القدرة على مصادقة الشهادة في النهج على البوابة. | Bool |
تكوينات اسم المضيف | تكوين اسم المضيف المخصص لخدمة APIM. | HostnameConfiguration[] |
legacyPortalStatus | حالة المدخل القديم في خدمة APIM. | "معطل" "ممكن" |
natGatewayState | يمكن استخدام الخاصية لتمكين بوابة NAT لخدمة APIM هذه. | "معطل" "ممكن" |
notificationSenderEmail | عنوان البريد الإلكتروني الذي سيتم إرسال الإعلام منه. | سلسلة |
اتصالات نقطة النهاية الخاصة | قائمة اتصالات نقطة النهاية الخاصة لهذه الخدمة. | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | عنوان IP المستند إلى SKU IP V4 القياسي العام ليتم إقرانه بالخدمة الموزعة للشبكة الظاهرية في المنطقة. مدعوم فقط للمطور وPremium SKU الذي يتم نشره في الشبكة الظاهرية. | سلسلة |
publicNetworkAccess | ما إذا كان يسمح بالوصول إلى نقطة النهاية العامة لخدمة APIM هذه أم لا. القيمة اختيارية ولكن إذا تم تمريرها، يجب أن تكون "ممكنة" أو "معطل". إذا كانت "معطل"، فإن نقاط النهاية الخاصة هي أسلوب الوصول الحصري. القيمة الافتراضية هي "ممكن" | "معطل" "ممكن" |
publisherEmail | البريد الإلكتروني للناشر. | سلسلة (مطلوب) |
publisherName | اسم الناشر. | سلسلة (مطلوب) |
الاستعادة | إلغاء حذف خدمة APIM إذا تم حذفها مبدئيا مسبقا. إذا تم تحديد هذه العلامة وتعيينها إلى True سيتم تجاهل جميع الخصائص الأخرى. | Bool |
تكوين الشبكة الظاهرية | تكوين الشبكة الظاهرية لخدمة APIM. | تكوين الشبكة الظاهرية |
نوع الشبكة الظاهرية | نوع VPN الذي يجب تكوين خدمة APIM فيه. لا شيء (القيمة الافتراضية) يعني أن خدمة إدارة واجهة برمجة التطبيقات ليست جزءا من أي شبكة ظاهرية، ويعني خارجي أنه تم إعداد نشر APIM داخل شبكة ظاهرية تحتوي على نقطة نهاية مواجهة للإنترنت، ويعني داخلي أن نشر APIM يتم إعداده داخل شبكة ظاهرية تحتوي على نقطة نهاية مواجهة إنترانت فقط. | "خارجي" "داخلي" "لا أحد" |
تخصيص إضافي
الاسم | الوصف | القيمة |
---|---|---|
تعطيلGateway | الخاصية صالحة فقط لخدمة APIM المنشورة في مواقع متعددة. يمكن استخدام هذا لتعطيل البوابة في هذا الموقع الإضافي. | Bool |
الموقع | اسم موقع المنطقة الإضافية بين مناطق مركز بيانات Azure. | سلسلة (مطلوب) |
natGatewayState | يمكن استخدام الخاصية لتمكين بوابة NAT لخدمة APIM هذه. | "معطل" "ممكن" |
publicIpAddressId | عنوان IP المستند إلى SKU IP V4 القياسي العام ليتم إقرانه بخدمة الشبكة الظاهرية المنشورة في الموقع. مدعوم فقط ل Premium SKU الذي يتم نشره في الشبكة الظاهرية. | سلسلة |
sku | خصائص SKU لخدمة APIM. | ApiManagementServiceSkuProperties (مطلوب) |
تكوين الشبكة الظاهرية | تكوين الشبكة الظاهرية للموقع. | تكوين الشبكة الظاهرية |
المناطق | قائمة بمناطق التوفر التي تدل على المكان الذي يجب أن يأتي منه المورد. | سلسلة [] |
ApiManagementServiceSkuProperties
الاسم | الوصف | القيمة |
---|---|---|
السعة | سعة SKU (عدد الوحدات المنشورة من SKU). بالنسبة إلى سعة وحدة SKU للاستهلاك يجب تحديدها على أنها 0. | int (مطلوب) |
الاسم | اسم Sku. | "أساسي" "BasicV2" "الاستهلاك" "المطور" "معزول" "Premium" "قياسي" "StandardV2" (مطلوب) |
تكوين الشبكة الظاهرية
الاسم | الوصف | القيمة |
---|---|---|
subnetResourceId | معرف المورد الكامل لشبكة فرعية في شبكة ظاهرية لنشر خدمة APIM فيها. | سلسلة |
ApiVersionConstraint
الاسم | الوصف | القيمة |
---|---|---|
minApiVersion | تقييد استدعاءات واجهة برمجة تطبيقات مستوى التحكم إلى خدمة APIM مع إصدار يساوي أو أحدث من هذه القيمة. | سلسلة |
تكوين الشهادة
الاسم | الوصف | القيمة |
---|---|---|
الشهادة | معلومات الشهادة. | نموذج الشهادة |
certificatePassword | كلمة مرور الشهادة. | سلسلة |
ترميزCertificate | شهادة ترميز Base64. | سلسلة |
storeName | موقع مخزن شهادات System.Security.Cryptography.x509certificates.StoreName. الجذر و CertificateAuthority هما الموقعان الصالحان فقط. | "CertificateAuthority" "الجذر" (مطلوب) |
نموذج الشهادة
الاسم | الوصف | القيمة |
---|---|---|
تاريخ انتهاء الصلاحية | تاريخ انتهاء صلاحية الشهادة. يتوافق التاريخ مع التنسيق التالي: yyyy-MM-ddTHH:mm:ssZ كما هو محدد بواسطة معيار ISO 8601. |
سلسلة (مطلوب) |
الموضوع | موضوع الشهادة. | سلسلة (مطلوب) |
بصمة الإبهام | بصمة إبهام الشهادة. | سلسلة (مطلوب) |
ConfigurationApi
الاسم | الوصف | القيمة |
---|---|---|
legacyApi | الإشارة إلى ما إذا كان يجب عرض واجهة برمجة تطبيقات التكوين القديمة (v1) على خدمة APIM أم لا. القيمة اختيارية ولكن يجب أن تكون "ممكنة" أو "معطل". إذا كانت "معطل"، فلن تتوفر واجهة برمجة تطبيقات التكوين القديمة (v1) للبوابات المستضافة ذاتيا. القيمة الافتراضية هي "ممكن" | "معطل" "ممكن" |
ApiManagementServiceBasePropertiesCustomProperties
الاسم | الوصف | القيمة |
---|---|---|
{خاصية مخصصة} | سلسلة |
تكوين اسم المضيف
الاسم | الوصف | القيمة |
---|---|---|
الشهادة | معلومات الشهادة. | نموذج الشهادة |
certificatePassword | كلمة مرور الشهادة. | سلسلة |
مصدر الشهادة | مصدر الشهادة. | "BuiltIn" "مخصص" "KeyVault" "مدار" |
certificateStatus | حالة الشهادة. | "مكتمل" "فشل" "InProgress" |
defaultSslBinding | حدد true لإعداد الشهادة المقترنة باسم المضيف هذا كشهادة SSL الافتراضية. إذا لم يرسل العميل عنوان SNI، فستكون هذه هي الشهادة التي سيتم تحديها. الخاصية مفيدة إذا تم تمكين اسم مضيف مخصص متعدد للخدمة وتحتاج إلى اتخاذ قرار بشأن شهادة ssl الافتراضية. يتم تطبيق الإعداد فقط على نوع اسم المضيف للبوابة. | Bool |
ترميزCertificate | شهادة ترميز Base64. | سلسلة |
hostName | اسم المضيف للتكوين على خدمة APIM. | سلسلة (مطلوب) |
معرف الهوية | معرف عميل الهوية المدارة المعين من قبل النظام أو المستخدم كما تم إنشاؤه بواسطة Azure AD، والذي لديه حق الوصول إلى keyVault الذي يحتوي على شهادة SSL. | سلسلة |
keyVaultId | Url إلى KeyVault Secret الذي يحتوي على شهادة Ssl. إذا تم توفير عنوان URL مطلق يحتوي على إصدار، فلن يعمل التحديث التلقائي لشهادة ssl. يتطلب هذا تكوين خدمة APIM باستخدام aka.ms/apimmsi. يجب أن يكون السر من نوع application/x-pkcs12 | سلسلة |
negotiateClientCertificate | حدد true للتفاوض دائما على شهادة العميل على اسم المضيف. القيمة الافتراضية خاطئة. | Bool |
النوع | نوع اسم المضيف. | "ConfigurationApi" "DeveloperPortal" "الإدارة" "المدخل" "الوكيل" "Scm" (مطلوب) |
RemotePrivateEndpointConnectionWrapper
الاسم | الوصف | القيمة |
---|---|---|
المعرف | معرف مورد اتصال نقطة النهاية الخاصة | سلسلة |
الاسم | اسم اتصال نقطة النهاية الخاصة | سلسلة |
خصائص | خصائص المورد. | PrivateEndpointConnectionWrapperProperties |
النوع | نوع مورد اتصال نقطة النهاية الخاصة | سلسلة |
PrivateEndpointConnectionWrapperProperties
الاسم | الوصف | القيمة |
---|---|---|
نقطة النهاية الخاصة | مورد نقطة النهاية الخاصة. | ArmIdWrapper |
privateLinkServiceConnectionState | مجموعة من المعلومات حول حالة الاتصال بين مستهلك الخدمة والموفر. | PrivateLinkServiceConnectionState (مطلوب) |
ArmIdWrapper
لا يحتوي هذا الكائن على أي خصائص لتعيينها أثناء التوزيع. جميع الخصائص هي ReadOnly.
PrivateLinkServiceConnectionState
الاسم | الوصف | القيمة |
---|---|---|
الإجراءات مطلوبة | رسالة تشير إلى ما إذا كانت التغييرات على موفر الخدمة تتطلب أي تحديثات على المستهلك. | سلسلة |
الوصف | سبب الموافقة/رفض الاتصال. | سلسلة |
الحالة | يشير إلى ما إذا كان الاتصال قد تمت الموافقة عليه/رفضه/إزالته من قبل مالك الخدمة. | "تمت الموافقة" "معلق" "مرفوض" |
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ