خدمة 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 وجميع الموارد الفرعية باستخدام القالب

نشر في Azure
يوضح هذا القالب كيفية إنشاء خدمة APIM وتكوين الكيانات الفرعية
توزيع APIM باستخدام Azure Cache خارجي ل Redis

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في طبقة الاستهلاك باستخدام مثيل Azure Cache for Redis خارجي كذاكرة تخزين مؤقت خارجية لإدارة واجهة برمجة التطبيقات.
نشر APIM في VNet الخارجي باستخدام IP العام

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في الطبقة Premium داخل الشبكة الفرعية للشبكة الظاهرية في الوضع الخارجي وتكوين قواعد NSG الموصى بها على الشبكة الفرعية. يتم نشر المثيل في منطقتين للتوفر. يقوم القالب أيضا بتكوين عنوان IP عام من اشتراكك.
إنشاء مثيل APIM باستخدام أسماء المضيفين المخصصة

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management مع اسم مضيف مخصص للمدخل وأسماء مضيف مخصصة متعددة للوكيل
إنشاء إدارة واجهة برمجة التطبيقات في VNet الداخلية باستخدام بوابة التطبيق

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management على شبكة خاصة محمية بواسطة بوابة تطبيق Azure.
نشر APIM في VNet الداخلية باستخدام IP العام

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في المستوى المتميز داخل الشبكة الفرعية للشبكة الظاهرية في الوضع الداخلي وتكوين قواعد NSG الموصى بها على الشبكة الفرعية. يتم نشر المثيل في منطقتين للتوفر. يقوم القالب أيضا بتكوين عنوان IP عام من اشتراكك.
إنشاء مثيل APIM له هوية MSI

نشر في Azure
ينشئ هذا القالب مثيل مطور لإدارة واجهة برمجة تطبيقات Azure التي لها هوية MSI
إنشاء مثيل إدارة API لطبقة Premium متعددة المناطق

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل APIM بمواقع إضافية. الموقع الأساسي هو نفس موقع مجموعة الموارد. بالنسبة للمواقع الإضافية، يعرض القالب NorthCentralUs و East US2. يجب أن يكون الموقع الأساسي مختلفا عن المواقع الإضافية.
إنشاء APIM باستخدام ssl للوكيل المخصص باستخدام KeyVault

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management وتكوين اسم مضيف مخصص للوكيل مع شهادة ssl من keyvault.
إنشاء خدمة APIM باستخدام SSL من KeyVault

نشر في Azure
ينشر هذا القالب خدمة إدارة واجهة برمجة التطبيقات التي تم تكوينها باستخدام الهوية المعينة من قبل المستخدم. يستخدم هذه الهوية لجلب شهادة SSL من KeyVault ويحافظ على تحديثها عن طريق التحقق كل 4 ساعات.
إنشاء مثيل APIM ومراقبته

نشر في Azure
ينشئ هذا القالب مثيلا لخدمة Azure API Management ومساحة عمل Log Analytics وإعداد المراقبة لخدمة APIM باستخدام Log Analytics
إنشاء خدمة APIM بنقطة نهاية خاصة

نشر في Azure
سيقوم هذا القالب بإنشاء خدمة APIM وشبكة ظاهرية ونقطة نهاية خاصة تعرض خدمة APIM للشبكة الظاهرية.
توزيع إدارة واجهة برمجة التطبيقات في مناطق التوفر

نشر في Azure
ينشئ هذا القالب مثيلا متميزا من Azure API Management وينشر في منطقة توافر الخدمات
إنشاء مثيل APIM باستخدام قالب

نشر في Azure
ينشئ هذا القالب مثيل مطور من Azure API Management
Front Door Standard/Premium مع أصل APIM

نشر في Azure
ينشئ هذا القالب Front Door Premium ومثيل APIM، ويستخدم NSG ونهج إدارة واجهة برمجة التطبيقات العمومي للتحقق من أن نسبة استخدام الشبكة قد جاءت من خلال أصل Front Door.
إنشاء Azure Front Door أمام إدارة واجهة برمجة تطبيقات Azure

نشر في Azure
يوضح هذا النموذج كيفية استخدام Azure Front Door كموازن تحميل عمومي أمام Azure API Management.
بوابة التطبيق مع إدارة واجهة برمجة التطبيقات الداخلية وتطبيق الويب

نشر في Azure
توجيه حركة مرور الإنترنت إلى مثيل 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 وجميع الموارد الفرعية باستخدام القالب

نشر في Azure
يوضح هذا القالب كيفية إنشاء خدمة APIM وتكوين الكيانات الفرعية
توزيع APIM باستخدام Azure Cache خارجي ل Redis

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في طبقة الاستهلاك باستخدام مثيل Azure Cache for Redis خارجي كذاكرة تخزين مؤقت خارجية لإدارة واجهة برمجة التطبيقات.
نشر إدارة واجهة برمجة التطبيقات في VNet الخارجية باستخدام IP العام

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في المستوى المتميز داخل الشبكة الفرعية للشبكة الظاهرية في الوضع الخارجي وتكوين قواعد NSG الموصى بها على الشبكة الفرعية. يتم نشر المثيل في منطقتين للتوفر. يقوم القالب أيضا بتكوين عنوان IP عام من اشتراكك.
إنشاء مثيل APIM باستخدام أسماء المضيفين المخصصة

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management مع اسم مضيف مخصص للمدخل وأسماء مضيف مخصصة متعددة للوكيل
إنشاء إدارة واجهة برمجة التطبيقات في VNet الداخلية باستخدام بوابة التطبيق

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management على شبكة خاصة محمية بواسطة بوابة تطبيق Azure.
نشر APIM في VNet الداخلية باستخدام IP العام

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management في المستوى المتميز داخل الشبكة الفرعية للشبكة الظاهرية في الوضع الداخلي وتكوين قواعد NSG الموصى بها على الشبكة الفرعية. يتم نشر المثيل في منطقتين للتوفر. يقوم القالب أيضا بتكوين عنوان IP عام من اشتراكك.
إنشاء مثيل APIM له هوية MSI

نشر في Azure
ينشئ هذا القالب مثيل مطور لإدارة واجهة برمجة تطبيقات Azure التي لها هوية MSI
إنشاء مثيل إدارة API لطبقة Premium متعددة المناطق

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل APIM بمواقع إضافية. الموقع الأساسي هو نفس موقع مجموعة الموارد. بالنسبة للمواقع الإضافية، يعرض القالب NorthCentralUs و East US2. يجب أن يكون الموقع الأساسي مختلفا عن المواقع الإضافية.
إنشاء APIM باستخدام ssl للوكيل المخصص باستخدام KeyVault

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management وتكوين اسم مضيف مخصص للوكيل مع شهادة ssl من keyvault.
إنشاء خدمة APIM باستخدام SSL من KeyVault

نشر في Azure
ينشر هذا القالب خدمة إدارة واجهة برمجة التطبيقات التي تم تكوينها باستخدام الهوية المعينة من قبل المستخدم. يستخدم هذه الهوية لجلب شهادة SSL من KeyVault ويحافظ على تحديثها عن طريق التحقق كل 4 ساعات.
إنشاء مثيل APIM ومراقبته

نشر في Azure
ينشئ هذا القالب مثيلا لخدمة Azure API Management ومساحة عمل Log Analytics وإعداد المراقبة لخدمة APIM باستخدام Log Analytics
إنشاء خدمة APIM بنقطة نهاية خاصة

نشر في Azure
سيقوم هذا القالب بإنشاء خدمة APIM وشبكة ظاهرية ونقطة نهاية خاصة تعرض خدمة APIM للشبكة الظاهرية.
توزيع إدارة واجهة برمجة التطبيقات في مناطق التوفر

نشر في Azure
ينشئ هذا القالب مثيلا متميزا من Azure API Management وينشر في منطقة توافر الخدمات
إنشاء مثيل APIM باستخدام قالب

نشر في Azure
ينشئ هذا القالب مثيل مطور من Azure API Management
Front Door Standard/Premium مع أصل APIM

نشر في Azure
ينشئ هذا القالب Front Door Premium ومثيل APIM، ويستخدم NSG ونهج إدارة واجهة برمجة التطبيقات العمومي للتحقق من أن نسبة استخدام الشبكة قد جاءت من خلال أصل Front Door.
إنشاء Azure Front Door أمام إدارة واجهة برمجة تطبيقات Azure

نشر في Azure
يوضح هذا النموذج كيفية استخدام Azure Front Door كموازن تحميل عمومي أمام Azure API Management.
بوابة التطبيق مع إدارة واجهة برمجة التطبيقات الداخلية وتطبيق الويب

نشر في Azure
توجيه حركة مرور الإنترنت إلى مثيل 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

الاسم الوصف القيمة
الإجراءات مطلوبة رسالة تشير إلى ما إذا كانت التغييرات على موفر الخدمة تتطلب أي تحديثات على المستهلك. سلسلة
الوصف سبب الموافقة/رفض الاتصال. سلسلة
الحالة يشير إلى ما إذا كان الاتصال قد تمت الموافقة عليه/رفضه/إزالته من قبل مالك الخدمة. "تمت الموافقة"
"معلق"
"مرفوض"