تمكين ذاكرة التخزين المؤقت للبيانات الاصطناعية في Azure Container Registry باستخدام Azure CLI

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

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

المتطلبات المسبقه

في هذه المقالة، نستخدم مثال مثيل ACR يسمى MyRegistry.

إنشاء بيانات الاعتماد

قبل تكوين بيانات الاعتماد، تأكد من أنك قادر على إنشاء الأسرار وتخزينها في Azure Key Vaultواسترداد الأسرار من Key Vault.

  1. تشغيل az acr credential set create:

    az acr credential-set create 
    -r MyRegistry \
    -n MyDockerHubCredSet \
    -l docker.io \ 
    -u https://MyKeyvault.vault.azure.net/secrets/usernamesecret \
    -p https://MyKeyvault.vault.azure.net/secrets/passwordsecret
    
  2. قم بتشغيل az acr credential set update لتحديث اسم المستخدم أو كلمة المرور Key Vault secret ID في مجموعة بيانات الاعتماد:

    az acr credential-set update -r MyRegistry -n MyDockerHubCredSet -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
    
  3. تشغيل az acr credential-set show لإظهار بيانات الاعتماد:

    az acr credential-set show -r MyRegistry -n MyDockerHubCredSet
    

إنشاء قاعدة ذاكرة التخزين المؤقت

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

  1. لإنشاء قاعدة ذاكرة تخزين مؤقت جديدة، قم بتشغيل az acr cache create:

    az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyDockerHubCredSet
    
  2. لتحديث بيانات الاعتماد على قاعدة ذاكرة التخزين المؤقت، قم بتشغيل az acr cache update:

    az acr cache update -r MyRegistry -n MyRule -c NewCredSet
    

    إذا كنت بحاجة إلى إزالة بيانات الاعتماد، فقم بتشغيل az acr cache update -r MyRegistry -n MyRule --remove-cred-set.

  3. لإظهار قواعد ذاكرة التخزين المؤقت، قم بتشغيل az acr cache show:

     az acr cache show -r MyRegistry -n MyRule
    

مهم

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

تلميح

لإنشاء قاعدة ذاكرة تخزين مؤقت دون استخدام بيانات الاعتماد، استخدم نفس الأمر بدون بيانات اعتماد محددة. على سبيل المثال، az acr cache create --registry Myregistry --name MyRule --source-repo MySourceRepository --target-repo MyTargetRepository بالنسبة لبعض المصادر، مثل Docker Hub، تكون بيانات الاعتماد مطلوبة لإنشاء قاعدة ذاكرة التخزين المؤقت.

تعيين أذونات إلى Key Vault باستخدام Azure RBAC

يمكنك استخدام Azure RBAC لتعيين الأذونات المناسبة للمستخدمين حتى يتمكنوا من الوصول إلى Azure Key Vault.

Microsoft.KeyVault/vaults/secrets/getSecret/action الإذن مطلوب للوصول إلى Key Vault. عادة ما يتم منح الدور المضمن في Azure لمستخدم Key Vault Secrets ، لأنه الدور الأقل امتيازا الذي يتضمن هذا الإجراء. بدلا من ذلك، يمكنك إنشاء دور مخصص يتضمن هذا الإذن.

تختلف الخطوات المستخدمة بناء على ما إذا كنت تستخدم Azure CLI أو Bash.

  • Azure CLI
  • Bash
  1. احصل على المعرف الأساسي لهوية النظام المستخدمة للوصول إلى Key Vault:

    az acr credential-set show --name MyCredentialSet --registry MyRegistry 
    

    دون قيمة المعرف الأساسي، حيث ستحتاج إليها في الخطوة 3.

  2. عرض خصائص Key Vault للحصول على معرف المورد الخاص به:

    az keyvault show --name MyKeyVaultName --resource-group MyResouceGroup
    

    ستحتاج إلى قيمة معرف المورد هذه للخطوة التالية.

  3. تعيين دور مستخدم Key Vault Secrets إلى هوية النظام لمجموعة بيانات الاعتماد:

    az role assignment create --role "Key Vault Secrets User" --assignee CredentialSetPrincipalID --scope KeyVaultResourceID 
    
    

تلميح

يتيح استخدام معرف مورد Key Vault الوصول إلى جميع الأسرار في Key Vault. إذا كنت تفضل ذلك، يمكنك منح حق الوصول فقط إلى أسرار اسم المستخدم وكلمة المرور. للقيام بذلك، بدلا من الأمر من الخطوة 2، قم بتشغيل الأوامر التالية لاسترداد أسرار اسم المستخدم وكلمة المرور فقط:

az keyvault secret show --vault-name MyKeyVaultName --name MyUsernameSecretName
az keyvault secret show --vault-name MyKeyVaultName --name MyPasswordSecretName

بعد ذلك، قم بتنفيذ الخطوة 3 مرتين، أولا استبدال KeyVaultResourceID بمعرف سر اسم المستخدم، ثم بمعرف سر كلمة المرور.

تعيين أذونات إلى Key Vault باستخدام نهج الوصول

بدلا من ذلك، يمكنك استخدام نهج الوصول لتعيين الأذونات.

  • Azure CLI
  • Bash
  1. احصل على المعرف الأساسي لهوية النظام المستخدمة للوصول إلى Key Vault:

    az acr credential-set show --name CredentialSet --registry MyRegistry
    

    دون قيمة المعرف الأساسي، حيث ستحتاج إليها في الخطوة التالية.

  2. az keyvault set-policy قم بتشغيل الأمر لتعيين الوصول إلى Key Vault قبل سحب الصورة. على سبيل المثال، لتعيين أذونات لبيانات الاعتماد للوصول إلى سر KeyVault:

    az keyvault set-policy --name MyKeyVault --object-id MyCredentialSetPrincipalID --secret-permissions get
    

سحب صورتك

لسحب صورة من ذاكرة التخزين المؤقت، استخدم الأمر Docker وقم بتوفير اسم خادم تسجيل الدخول إلى السجل واسم المستودع والعلامة المطلوبة. على سبيل المثال، لسحب صورة من المستودع hello-world مع العلامة latest المطلوبة لخادم myregistry.azurecr.ioتسجيل الدخول إلى السجل، قم بتشغيل:

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

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

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

  1. لحذف قاعدة ذاكرة التخزين المؤقت، قم بتشغيل az acr cache delete:

    az acr cache delete -r MyRegistry -n MyRule
    
  2. لحذف بيانات الاعتماد، قم بتشغيل az acr credential-set delete:

    az acr credential-set delete -r MyRegistry -n MyDockerHubCredSet
    

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