الاتصال بشكل خاص إلى Azure Container Registry باستخدام ارتباط Azure الخاص

تقييد الوصول إلى سجل عن طريق تعيين عناوين IP خاصة للشبكة الظاهرية لنقاط نهاية التسجيل واستخدام Azure Private Link. تمر حركة مرور الشبكة بين العملاء على الشبكة الظاهرية ونقاط النهاية الخاصة بالسجل عبر الشبكة الظاهرية ورابط خاص على شبكة Microsoft الأساسية، مما يلغي التعرض للإنترنت العام. يتيح Private Link أيضا الوصول إلى السجل الخاص من أماكن العمل من خلال Azure ExpressRoute أو التناظر الخاص أو بوابة VPN.

يمكنك تكوين إعدادات DNS لنقاط النهاية الخاصة بالسجل، بحيث يتم تحليل الإعدادات إلى عنوان IP الخاص المخصص للسجل. باستخدام تكوين DNS، يمكن للعملاء والخدمات في الشبكة الاستمرار في الوصول إلى السجل عند اسم المجال المؤهل بالكامل للسجل، مثل myregistry.azurecr.io.

توضح هذه المقالة كيفية تكوين نقطة نهاية خاصة للسجل الخاص بك باستخدام مدخل Microsoft Azure (موصى به) أو Azure CLI. تتوفر هذه الميزة في مستوى خدمة تسجيل الحاويات المميزة. للحصول على معلومات حول مستويات وحدود خدمة التسجيل، راجع طبقات Azure Container Registry.

هام

قد تكون بعض الوظائف غير متوفرة أو تتطلب مزيداً من التكوين في سجل الحاوية الذي يقيد الوصول إلى نقاط النهاية الخاصة أو الشبكات الفرعية المحددة أو عناوين IP.

  • عندما يتم تعطيل وصول الشبكة العامة إلى السجل، فإن الوصول إلى السجل عن طريق بعض الخدمات الموثوقة بما في ذلك مركز أمان Azure يتطلب تمكين إعداد الشبكة لتجاوز قواعد الشبكة.
  • بمجرد تعطيل الوصول إلى الشبكة العامة، لا تتمكن مثيلات بعض خدمات Azure بما في ذلك خدمات Azure DevOps حاليا من الوصول إلى سجل الحاوية.
  • نقاط النهاية الخاصة غير مدعومة حاليا مع عوامل Azure DevOps المدارة. ستحتاج إلى استخدام عامل مستضاف ذاتيا مع خط رؤية الشبكة إلى نقطة النهاية الخاصة.
  • إذا كان السجل يحتوي على نقطة نهاية خاصة معتمدة، وتم تعطيل الوصول إلى الشبكة العامة، فلا يمكن إدراج المستودعات والعلامات خارج الشبكة الظاهرية باستخدام مدخل Azure أو واجهة سطر الأوامر في Azure أو أدوات أخرى.

إشعار

بدءا من أكتوبر 2021، تسمح سجلات الحاويات الجديدة بحد أقصى 200 نقطة نهاية خاصة. تسمح السجلات التي تم إنشاؤها سابقًا بحد أقصى 10 نقاط نهاية خاصة. استخدم الأمر az acr show-usage لمعرفة حد السجل الخاص بك. يرجى فتح تذكرة دعم لزيادة الحد الأقصى إلى 200 نقطة نهاية خاصة.

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

  • شبكة ظاهرية وشبكة فرعية لإعداد نقطة النهاية الخاصة. إذا لزم الأمر، أنشئ شبكة ظاهرية جديدة وشبكة فرعية.
  • للاختبار، يوصى بإعداد جهاز ظاهري في الشبكة الظاهرية. للحصول على خطوات إنشاء جهاز ظاهري تجريبي للوصول إلى السجل، راجع إنشاء جهاز ظاهري يدعم Docker.
  • لاستخدام خطوات Azure CLI في هذه المقالة، يوصى بالإصدار 2.6.0 من Azure CLI أو إصدار أحدث. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI. أو شغّله في Azure Cloud Shell.
  • إذا لم يكن لديك سجل حاوية بالفعل، فأنشئ واحدًا (المستوى المميز مطلوب) واستورد نموذجًا لصورة عامة مثل mcr.microsoft.com/hello-world من Microsoft Container Registry. على سبيل المثال، استخدم مدخل Microsoft Azure أو Azure CLI لإنشاء سجل.

تسجيل سجل الحاوية لموفر الموارد

لتكوين الوصول إلى التسجيل باستخدام ارتباط خاص في اشتراك أو مستأجر Azure مختلف، أنت في حاجة إلى تسجيل موفر المورد لـ Azure Container Registry في ذلك الاشتراك. استخدم مدخل Microsoft Azure أو Azure CLI أو أدوات أخرى.

مثال:

az account set --subscription <Name or ID of subscription of private link>

az provider register --namespace Microsoft.ContainerRegistry

قم بإعداد نقطة نهاية خاصة عند إنشاء سجل أو إضافة نقطة نهاية خاصة إلى سجل موجود.

إنشاء نقطة نهاية خاصة - سجل جديد

  1. عند إنشاء سجل في المدخل، في علامة التبويب الأساسيات، في وحدة حفظ المخزون، حدد مميز.

  2. حدد علامة التبويب Networking

  3. في اتصال الشبكة، حدد نقطة نهاية خاصة> + إضافة.

  4. أدخل المعلومات التالية أو حددها:

    الإعداد القيمة‬
    الوصف حدد Subscription الخاص بك.
    مجموعة الموارد أدخل اسم مجموعة موجودة أو أنشئ مجموعة جديدة.
    الاسم أدخل اسمًا فريدًا.
    مصدر فرعي للسجل حدد السجل
    التواصل الشبكي
    الشبكة الظاهرية حدد الشبكة الظاهرية لنقطة النهاية الخاصة. مثال: myDockerVMVNET.
    الشبكة الفرعية حدد الشبكة الفرعية لنقطة النهاية الخاصة. مثال: myDockerVMSubnet.
    تكامل DNS الخاص
    التكامل مع منطقة DNS الخاصة حدد نعم.
    منطقة DNS الخاصة حدد (New) privatelink.azurecr.io
  5. قم بتكوين إعدادات التسجيل المتبقية، ثم حدد مراجعة + إنشاء.

Create registry with private endpoint

تم تكوين الارتباط التشعبي الخاص الآن وأصبح جاهزًا للاستخدام.

إنشاء نقطة نهاية خاصة - سجل موجود

  1. في المدخل، انتقل إلى سجل الحاوية الخاص بك.

  2. ضمن الإعدادات، حدد الشبكات.

  3. في علامة التبويب نقاط النهاية الخاصة، حدد + نقطة نهاية خاصة. Add private endpoint to registry

  4. في علامة التبويب الأساسيات، أدخل المعلومات التالية أو حددها:

    الإعداد القيمة‬
    تفاصيل المشروع
    الوصف حدد Subscription الخاص بك.
    مجموعة الموارد أدخل اسم مجموعة موجودة أو أنشئ مجموعة جديدة.
    تفاصيل المثيل
    الاسم أدخل اسمًا.
    المنطقة حدد المنطقة.
  5. حدد «التالي: المورد».

  6. أدخل المعلومات التالية أو حددها:

    الإعداد القيمة‬
    طريقة التوصيل في هذا المثال، حدد الاتصال بمورد Azure في دليلي.
    الوصف حدد Subscription الخاص بك.
    نوع المورد حدد Microsoft.ContainerRegistry/registries.
    Resource حدد اسم السجل الخاص بك
    مصدر الهدف الفرعي حدد السجل
  7. اختر Next: Configuration.

  8. أدخل المعلومات أو حددها:

    الإعداد القيمة‬
    التواصل الشبكي
    الشبكة الظاهرية تحديد الشبكة الظاهرية لنقطة النهاية الخاصة
    الشبكة الفرعية تحديد الشبكة الفرعية لنقطة النهاية الخاصة
    تكامل DNS الخاص
    التكامل مع منطقة DNS الخاصة حدد نعم.
    منطقة DNS الخاصة حدد (New) privatelink.azurecr.io
  9. حدد "Review + create". سوف تُنقل إلى صفحة مراجعة + إنشاء حيث يتحقق Azure من صحة التكوين الخاص بك.

  10. عندما ترى رسالة تم التحقق من الصحة، حدد إنشاء.

أكد تكوين نقطة النهاية

بعد إنشاء نقطة النهاية الخاصة، تظهر إعدادات DNS في المنطقة الخاصة مع إعدادات نقاط النهاية الخاصة في المدخل الإلكتروني:

  1. في المدخل، انتقل إلى سجل الحاوية وحدد Settings > الشبكة.
  2. في علامة التبويب نقاط النهاية الخاصة، حدد نقطة النهاية الخاصة التي قمت بإنشائها.
  3. حدد تكوين DNS.
  4. راجع إعدادات الارتباط التشعبي وإعدادات DNS المخصصة.

Endpoint DNS settings in portal

قم بإعداد نقطة نهاية خاصة - CLI

تستخدم أمثلة Azure CLI في هذه المقالة متغيرات البيئة التالية. ستحتاج إلى أسماء سجل حاوية موجود وشبكة ظاهرية وشبكة فرعية لإعداد نقطة نهاية خاصة. قيم بديلة مناسبة لبيئتك. تم تنسيق جميع الأمثلة لـ Bash shell:

REGISTRY_NAME=<container-registry-name>
REGISTRY_LOCATION=<container-registry-location> # Azure region such as westeurope where registry created
RESOURCE_GROUP=<resource-group-name> # Resource group for your existing virtual network and subnet
NETWORK_NAME=<virtual-network-name>
SUBNET_NAME=<subnet-name>

عطّل نُهج الشبكة في الشبكة الفرعية

تعطيل نُهج الشبكة مثل مجموعات أمان الشبكة في الشبكة الفرعية لنقطة النهاية الخاصة. حدّث تكوين الشبكة الفرعية الخاصة بك عن طريق تحديث الشبكة الفرعية لشبكة vnet من az:

az network vnet subnet update \
 --name $SUBNET_NAME \
 --vnet-name $NETWORK_NAME \
 --resource-group $RESOURCE_GROUP \
 --disable-private-endpoint-network-policies

قم بتكوين منطقة خادم أسماء المجالات الخاصة

أنشئ منطقة Azure DNS خاصة لمجال Azure Container Registry الخاص. في الخطوات اللاحقة، تقوم بإنشاء سجلات DNS لمجال التسجيل الخاص بك في منطقة DNS هذه. للحصول على مزيدٍ من المعلومات، راجع خيارات تكوين DNS ، لاحقًا في هذه المقالة.

لاستخدام منطقة خاصة لتجاوز حل DNS الافتراضي لسجل حاوية Azure، يجب تسمية المنطقة باسم privatelink.azurecr.io. شغّل الأمر التالي az network private-dns zone create لإنشاء منطقة خاصة:

az network private-dns zone create \
  --resource-group $RESOURCE_GROUP \
  --name "privatelink.azurecr.io"

تشغيل الأمر az network private-dns link vnet create لربط منطقتك الخاصة بالشبكة الظاهرية. يقوم هذا المثال بإنشاء الارتباط التشعبي الذي يُعرف باسم myDNSLink.

az network private-dns link vnet create \
  --resource-group $RESOURCE_GROUP \
  --zone-name "privatelink.azurecr.io" \
  --name MyDNSLink \
  --virtual-network $NETWORK_NAME \
  --registration-enabled false

أنشئ نقطة نهاية السجل الخاص

في هذا القسم، أنشئ نقطة النهاية الخاصة بالسجل في الشبكة الظاهرية. أولاً، احصل على معرّف المورد الخاص بالسجل الخاص بك:

REGISTRY_ID=$(az acr show --name $REGISTRY_NAME \
  --query 'id' --output tsv)

شغّل الأمر az network private-endpoint create لإنشاء نقطة نهاية خاصة للسجل.

ينشئ المثال التالي نقطة النهاية myPrivateEndpoint واتصال الخدمة myConnection. لتحديد مورد تسجيل حاوية لنقطة النهاية، مرر --group-ids registry:

az network private-endpoint create \
    --name myPrivateEndpoint \
    --resource-group $RESOURCE_GROUP \
    --vnet-name $NETWORK_NAME \
    --subnet $SUBNET_NAME \
    --private-connection-resource-id $REGISTRY_ID \
    --group-ids registry \
    --connection-name myConnection

احصل على تكوين IP لنقطة النهاية

لتكوين سجلات DNS، احصل على تكوين IP لنقطة النهاية الخاصة. مقترن بواجهة الشبكة الخاصة بنقطة النهاية الخاصة في هذا المثال، يوجد عنوانان IP خاصان لسجل الحاوية: أحدهما للسجل نفسه والآخر لنقطة نهاية بيانات السجل. إذا تم نسخ السجل جغرافيًا، فسيتم إقران عنوان IP إضافي بكل نسخة متماثلة.

أولاً، قم بتشغيل أمر az network private-endpoint show للاستعلام عن نقطة النهاية الخاصة لمعرف واجهة الشبكة:

NETWORK_INTERFACE_ID=$(az network private-endpoint show \
  --name myPrivateEndpoint \
  --resource-group $RESOURCE_GROUP \
  --query 'networkInterfaces[0].id' \
  --output tsv)

تحصل أوامر az network nic show التالية على عناوين IP الخاصة وFQDNs لسجل الحاوية ونقطة نهاية بيانات السجل:

REGISTRY_PRIVATE_IP=$(az network nic show \
  --ids $NETWORK_INTERFACE_ID \
  --query "ipConfigurations[?privateLinkConnectionProperties.requiredMemberName=='registry'].privateIpAddress" \
  --output tsv)

DATA_ENDPOINT_PRIVATE_IP=$(az network nic show \
  --ids $NETWORK_INTERFACE_ID \
  --query "ipConfigurations[?privateLinkConnectionProperties.requiredMemberName=='registry_data_$REGISTRY_LOCATION'].privateIpAddress" \
  --output tsv)

# An FQDN is associated with each IP address in the IP configurations

REGISTRY_FQDN=$(az network nic show \
  --ids $NETWORK_INTERFACE_ID \
  --query "ipConfigurations[?privateLinkConnectionProperties.requiredMemberName=='registry'].privateLinkConnectionProperties.fqdns" \
  --output tsv)

DATA_ENDPOINT_FQDN=$(az network nic show \
  --ids $NETWORK_INTERFACE_ID \
  --query "ipConfigurations[?privateLinkConnectionProperties.requiredMemberName=='registry_data_$REGISTRY_LOCATION'].privateLinkConnectionProperties.fqdns" \
  --output tsv)

نقاط نهاية إضافية للنسخ المتماثلة جغرافيًا

إذا كان السجل الخاص بك منسوخًا جغرافيًا، فاستفسر عن نقطة نهاية البيانات الإضافية لكل نسخة متماثلة للسجل. على سبيل المثال، في منطقة eastus:

REPLICA_LOCATION=eastus
GEO_REPLICA_DATA_ENDPOINT_PRIVATE_IP=$(az network nic show \
  --ids $NETWORK_INTERFACE_ID \
  --query "ipConfigurations[?privateLinkConnectionProperties.requiredMemberName=='registry_data_$REPLICA_LOCATION'].privateIpAddress" \
  --output tsv) 

GEO_REPLICA_DATA_ENDPOINT_FQDN=$(az network nic show \
  --ids $NETWORK_INTERFACE_ID \
  --query "ipConfigurations[?privateLinkConnectionProperties.requiredMemberName=='registry_data_$REPLICA_LOCATION'].privateLinkConnectionProperties.fqdns" \
  --output tsv)

بمجرد إضافة نسخ جغرافي جديد، يتم تعيين اتصال نقطة نهاية خاصة ليكون معلقا. للموافقة على اتصال نقطة نهاية خاصة تم تكوينه يدويا قم بتشغيل الأمر az acr private-endpoint-connection approve .

أنشئ سجلات DNS في المنطقة الخاصة

تُنشئ الأوامر التالية سجلات DNS في المنطقة الخاصة لنقطة نهاية السجل ونقطة نهاية البيانات الخاصة به. على سبيل المثال، إذا كان لديك سجل باسم myregistry في منطقة westeurope، فإن أسماء نقاط النهاية هي myregistry.azurecr.io و myregistry.westeurope.data.azurecr.io.

شغّل الأمر az network private-dns record-set a create لأول مرة لإنشاء مجموعات سجلات A فارغة لنقطة نهاية السجل ونقطة نهاية البيانات:

az network private-dns record-set a create \
  --name $REGISTRY_NAME \
  --zone-name privatelink.azurecr.io \
  --resource-group $RESOURCE_GROUP

# Specify registry region in data endpoint name
az network private-dns record-set a create \
  --name ${REGISTRY_NAME}.${REGISTRY_LOCATION}.data \
  --zone-name privatelink.azurecr.io \
  --resource-group $RESOURCE_GROUP

قم بتشغيل الأمر az network private-dns record-set a add-record لإنشاء سجلات "A" لنقطة نهاية السجل ونقطة نهاية البيانات:

az network private-dns record-set a add-record \
  --record-set-name $REGISTRY_NAME \
  --zone-name privatelink.azurecr.io \
  --resource-group $RESOURCE_GROUP \
  --ipv4-address $REGISTRY_PRIVATE_IP

# Specify registry region in data endpoint name
az network private-dns record-set a add-record \
  --record-set-name ${REGISTRY_NAME}.${REGISTRY_LOCATION}.data \
  --zone-name privatelink.azurecr.io \
  --resource-group $RESOURCE_GROUP \
  --ipv4-address $DATA_ENDPOINT_PRIVATE_IP

سجلات إضافية للنسخ المتماثلة جغرافيًا

إذا تم نسخ السجل جغرافيًا، فقم بإنشاء إعدادات DNS إضافية لكل نسخة متماثلة. متابعة المثال في منطقة eastus:

az network private-dns record-set a create \
  --name ${REGISTRY_NAME}.${REPLICA_LOCATION}.data \
  --zone-name privatelink.azurecr.io \
  --resource-group $RESOURCE_GROUP

az network private-dns record-set a add-record \
  --record-set-name ${REGISTRY_NAME}.${REPLICA_LOCATION}.data \
  --zone-name privatelink.azurecr.io \
  --resource-group $RESOURCE_GROUP \
  --ipv4-address $GEO_REPLICA_DATA_ENDPOINT_PRIVATE_IP

تم تكوين الارتباط التشعبي الخاص الآن وأصبح جاهزًا للاستخدام.

تعطيل وصول الجمهور

بالنسبة للعديد من السيناريوهات، عطّل الوصول إلى السجل من الشبكات العامة. يمنع هذا التكوين العملاء خارج الشبكة الظاهرية من الوصول إلى نقاط نهاية التسجيل.

تعطيل الوصول العام - مدخل

  1. في المدخل، انتقل إلى سجل الحاوية وحدد Settings > الشبكة.
  2. في علامة التبويب الوصول العام، في السماح بالوصول إلى الشبكة العامة، حدد معطل. ثم حدد حفظ.

تعطيل الوصول العام - CLI

إشعار

إذا تم تعطيل الوصول العام، فلن تعمل أوامر az acr build بعد الآن.

لتعطيل الوصول العام باستخدام Azure CLI، شغّل تحديث az acr--public-network-enabled وعيّن إلى false.

az acr update --name $REGISTRY_NAME --public-network-enabled false

قم بتنفيذ az acr build بنقطة النهاية الخاصة والتسجيل الخاص

إشعار

بمجرد تعطيل الوصول إلى الشبكة العامة هنا، فلن تعمل أوامر az acr build مرة أخرى. ما لم تكن تستخدم تجمعات وكلاء مخصصة، فإنها تتطلب عادة عنوان IP العام. تحتفظ المهام بمجموعة من عناوين IP العامة في كل منطقة للطلبات الصادرة. إذا لزم الأمر، فلدينا خيار إضافة عناوين IP هذه إلى القائمة المسموح بها لجدار الحماية للاتصال السلس.az acr build يستخدم الأمر نفس مجموعة عناوين IP مثل المهام.

ضع في الاعتبار الخيارات التالية لتنفيذ az acr build بنجاح.

  • عيّن مجموعة وكلاء مخصصة .
  • إذا لم يكن تجمع الوكلاء متوفرا في المنطقة، فأضف IPv4 علامة خدمة سجل حاويات Azure الإقليمية إلى قواعد الوصول إلى جدار الحماية. تحتفظ المهام بمجموعة من عناوين IP العامة في كل منطقة (على سبيل المثال، علامة خدمة AzureContainerRegistry) للطلبات الصادرة. يمكنك اختيار إضافة عناوين IP في القائمة المسموح بها لجدار الحماية.
  • قم بإنشاء مهمة ACR بالهوية المُدارة، وتمكين الخدمات الموثوقة من الوصول إلى ACR المقيد على الشبكة.

تعطيل الوصول إلى سجل الحاوية باستخدام نقطة نهاية الخدمة

هام

لا يدعم سجل الحاوية تمكين كل من الارتباط الخاص وميزات نقطة نهاية الخدمة المكونة من شبكة افتراضية.

بمجرد تعطيل السجل للوصول العام وتكوين ارتباط خاص، يمكنك تعطيل وصول نقطة نهاية الخدمة إلى سجل حاوية من شبكة ظاهرية عن طريق إزالة قواعد الشبكة الظاهرية.

يجب عليك التحقق من أن الموارد الموجودة ضمن الشبكة الفرعية لنقطة النهاية الخاصة تتصل بالسجل الخاص بك عبر عنوان IP خاص، وأن يكون لديك تكامل منطقة DNS الخاص الصحيح.

للتحقق من صحة اتصال الارتباط التشعبي الخاص، اتصل بالجهاز الظاهري الذي أعددته في الشبكة الظاهرية.

قم بتشغيل أداة مساعدة مثل nslookup أو dig للبحث عن عنوان IP الخاص بالسجل عبر الرابط الخاص. على سبيل المثال:

dig $REGISTRY_NAME.azurecr.io

يُظهر مثال الإخراج عنوان IP الخاص بالسجل في مساحة العنوان للشبكة الفرعية:

[...]
; <<>> DiG 9.11.3-1ubuntu1.13-Ubuntu <<>> myregistry.azurecr.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52155
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;myregistry.azurecr.io.         IN      A

;; ANSWER SECTION:
myregistry.azurecr.io.  1783    IN      CNAME   myregistry.privatelink.azurecr.io.
myregistry.privatelink.azurecr.io. 10 IN A      10.0.0.7

[...]

قارن هذه النتيجة بعنوان IP العام في إخراج dig لنفس السجل عبر نقطة نهاية عامة:

[...]
;; ANSWER SECTION:
myregistry.azurecr.io.	2881	IN	CNAME	myregistry.privatelink.azurecr.io.
myregistry.privatelink.azurecr.io. 2881	IN CNAME xxxx.xx.azcr.io.
xxxx.xx.azcr.io.	300	IN	CNAME	xxxx-xxx-reg.trafficmanager.net.
xxxx-xxx-reg.trafficmanager.net. 300 IN	CNAME	xxxx.westeurope.cloudapp.azure.com.
xxxx.westeurope.cloudapp.azure.com. 10	IN A 20.45.122.144

[...]

تحقق أيضًا من أنه يمكنك إجراء عمليات التسجيل من الجهاز الظاهري في الشبكة. قم بإجراء اتصال SSH بجهازك الظاهري، وقم بتشغيل الأمر az acr login لتسجيل الدخول إلى السجل الخاص بك. اعتمادًا على تكوين الجهاز الظاهري الخاص بك، قد تحتاج إلى بادئة الأوامر التالية بـ sudo.

az acr login --name $REGISTRY_NAME

قم بإجراء عمليات التسجيل مثل docker pull لسحب عينة صورة من السجل. استبدل hello-world:v1 بصورة وعلامة مناسبة للسجلك، مسبوقة باسم خادم تسجيل الدخول إلى السجل (كلها بأحرف صغيرة):

docker pull myregistry.azurecr.io/hello-world:v1

يسحب Docker الصورة إلى الجهاز الظاهري بنجاح.

إدارة اتصالات نقطة النهاية الخاصة

إدارة اتصالات نقطة النهاية الخاصة بالسجل باستخدام مدخل Microsoft Azure، أو باستخدام الأوامر في مجموعة أوامر az acr private-endpoint-connection. تتضمن العمليات الموافقة على اتصالات نقطة النهاية الخاصة بالسجل أو حذفها أو سردها أو رفضها أو إظهارها.

على سبيل المثال، لسرد اتصالات نقطة النهاية الخاصة لسجل ما، قم بتشغيل الأمر az acr private-endpoint-connection list. على سبيل المثال:

az acr private-endpoint-connection list \
  --registry-name $REGISTRY_NAME 

عند إعداد اتصال نقطة نهاية خاصة باستخدام الخطوات الواردة في هذه المقالة، يقبل السجل تلقائيًا الاتصالات من العملاء والخدمات التي لديها أذونات التحكم في الوصول استناداً إلى الدور Azure على السجل. يمكنك إعداد نقطة النهاية لطلب الموافقة اليدوية على الاتصالات. للحصول على معلومات حول كيفية قبول ورفض اتصالات نقطة النهاية الخاصة، راجع إدارة اتصال نقطة النهاية الخاصة.

هام

حاليًا، إذا قمت بحذف نقطة نهاية خاصة من سجل، فقد تحتاج أيضًا إلى حذف ارتباط الشبكة الظاهرية إلى المنطقة الخاصة. إذا لم يتم حذف الارتباط التشعبي، فقد ترى خطأً مشابهًا لـ unresolvable host.

خيارات تكوين DNS

تتكامل نقطة النهاية الخاصة في هذا المثال مع منطقة DNS خاصة مرتبطة بشبكة ظاهرية أساسية. يستخدم هذا الإعداد خدمة DNS المقدمة من Azure مباشرةً لحل FQDN العام للسجل إلى عناوين IP الخاصة به في الشبكة الظاهرية.

يدعم الارتباط التشعبي الخاص سيناريوهات تكوين DNS الإضافية التي تستخدم المنطقة الخاصة، بما في ذلك حلول DNS المخصصة. على سبيل المثال، قد يكون لديك حل DNS مخصص تم نشره في الشبكة الظاهرية، أو محليًا في شبكة تتصل بها بالشبكة الظاهرية باستخدام بوابة VPN أو Azure ExpressRoute.

لحل FQDN العام للسجل إلى عنوان IP الخاص في هذه السيناريوهات، تحتاج إلى تكوين معيد توجيه على مستوى الخادم لخدمة Azure DNS (168.63.129.16). تعتمد خيارات وخطوات التكوين الدقيقة على شبكاتك الحالية ونظام أسماء النطاقات. على سبيل المثال، راجع تكوين Azure Private Endpoint DNS.

هام

إذا قمت بإنشاء نقاط نهاية خاصة في عدة مناطق للإتاحة العالية، فإننا نوصي باستخدام مجموعة موارد منفصلة في كل منطقة ووضع الشبكة الافتراضية ومنطقة DNS الخاصة المرتبطة بها. يمنع هذا التكوين أيضًا دقة DNS غير المتوقعة الناتجة عن مشاركة نفس منطقة DNS الخاصة.

كوّن سجلات DNS يدويًا

بالنسبة لبعض السيناريوهات، قد تحتاج إلى تكوين سجلات DNS يدويًا في منطقة خاصة بدلاً من استخدام المنطقة الخاصة التي يوفرها Azure. تأكد من إنشاء سجلات لكل نقطة من نقاط النهاية التالية: نقطة نهاية السجل ونقطة نهاية بيانات السجل ونقطة نهاية البيانات لأي نسخة متماثلة إقليمية إضافية. إذا لم يتم تكوين جميع السجلات، فقد يتعذر الوصول إلى السجل.

هام

إذا أضفت لاحقًا نسخة متماثلة جديدة، فستحتاج إلى إضافة سجل DNS جديد يدويًا لنقطة نهاية البيانات في تلك المنطقة. على سبيل المثال، إذا أنشئت نسخة متماثلة من myregistry في موقع northeurope، أضف سجلاً لـ myregistry.northeurope.data.azurecr.io.

ترتبط FQDNs وعناوين IP الخاصة التي تحتاجها لإنشاء سجلات DNS بواجهة شبكة نقطة النهاية الخاصة. يمكنك الحصول على هذه المعلومات باستخدام مدخل Microsoft Azure أو Azure CLI.

بعد إنشاء سجلات DNS، تأكد من أن FQDNs الخاصة بالتسجيل تتحلل بشكل صحيح إلى عناوين IP الخاصة بكل منها.

تنظيف الموارد

لتنظيف مواردك في المدخل الإلكتروني، انتقل إلى مجموعة الموارد الخاصة بك. بمجرد تحميل مجموعة الموارد، انقر فوق حذف مجموعة الموارد لإزالة مجموعة الموارد والموارد المخزنة هناك.

إذا قمت بإنشاء جميع موارد Azure في نفس مجموعة الموارد ولم تعد بحاجة إليها، فيمكنك حذف الموارد اختياريًا باستخدام أمر واحد az group delete:

az group delete --name $RESOURCE_GROUP

لسحب المحتوى من سجل مع تمكين ارتباط خاص، يجب على العملاء السماح بالوصول إلى نقطة نهاية REST للتسجيل، بالإضافة إلى جميع نقاط نهاية البيانات الإقليمية. يجب أن يسمح وكيل العميل أو جدار الحماية بالوصول إلى

نقطة نهاية REST: {REGISTRY_NAME}.azurecr.io نقطة نهاية (نقاط) البيانات: {REGISTRY_NAME}.{REGISTRY_LOCATION}.data.azurecr.io

بالنسبة إلى السجل المنسوخ جغرافيا، يحتاج العميل إلى تكوين الوصول إلى نقطة نهاية البيانات لكل نسخة متماثلة إقليمية.

يجب عليك تحديث تكوين التوجيه لوكيل العميل وجدار حماية العميل بنقاط نهاية البيانات لمعالجة طلبات السحب بنجاح. سيوفر وكيل العميل التحكم المركزي في نسبة استخدام الشبكة للطلبات الصادرة. لمعالجة حركة المرور المحلية، لا يلزم وجود وكيل عميل، يمكنك إضافة إلى noProxy قسم لتجاوز الوكيل. تعرف على المزيد حول مستند وكيل HTTP للتكامل مع AKS.

لا تتطلب طلبات خادم الرمز المميز عبر اتصال نقطة النهاية الخاصة تكوين نقطة نهاية البيانات.

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