إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذه المقالة، ستتعلم كيفية استخدام Azure CLI لتمكين ميزة ذاكرة التخزين المؤقت للبيانات الاصطناعية في سجل حاويات Azure (ACR) مع المصادقة أو بدونها.
بالإضافة إلى المتطلبات الأساسية المذكورة هنا، تحتاج إلى حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
المتطلبات المسبقه
- Azure CLI يمكنك استخدام Azure Cloud Shell أو تثبيت محلي ل Azure CLI لتشغيل الأوامر في هذه المقالة. لاستخدامه محليا، يلزم إصدار Azure CLI 2.46.0 أو أحدث. لتأكيد إصدار Azure CLI، قم بتشغيل
az --version. للترقية أو التثبيت، راجع تثبيت Azure CLI. - مثيل ACR موجود. إذا لم يكن لديك سجل بالفعل، فاستخدم التشغيل السريع لإنشاء سجل حاوية جديد.
- Key Vault موجود لإنشاء بيانات الاعتماد وتخزينها.
- أذونات لتعيين البيانات السرية واستردادها من Key Vault.
في هذه المقالة، نستخدم مثال مثيل ACR يسمى MyRegistry.
إنشاء بيانات الاعتماد
قبل تكوين بيانات الاعتماد، تأكد من أنك قادر على إنشاء الأسرار وتخزينها في Azure Key Vaultواسترداد الأسرار من Key Vault.
تشغيل
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قم بتشغيل
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تشغيل az acr credential-set show لإظهار بيانات الاعتماد:
az acr credential-set show -r MyRegistry -n MyDockerHubCredSet
إنشاء قاعدة ذاكرة التخزين المؤقت
بعد ذلك، قم بإنشاء وتكوين قاعدة ذاكرة التخزين المؤقت التي تسحب البيانات الاصطناعية من المستودع إلى ذاكرة التخزين المؤقت.
لإنشاء قاعدة ذاكرة تخزين مؤقت جديدة، قم بتشغيل
az acr cache create:az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyDockerHubCredSetلتحديث بيانات الاعتماد على قاعدة ذاكرة التخزين المؤقت، قم بتشغيل
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.لإظهار قواعد ذاكرة التخزين المؤقت، قم بتشغيل
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
احصل على المعرف الأساسي لهوية النظام المستخدمة للوصول إلى Key Vault:
az acr credential-set show --name MyCredentialSet --registry MyRegistryدون قيمة المعرف الأساسي، حيث ستحتاج إليها في الخطوة 3.
عرض خصائص Key Vault للحصول على معرف المورد الخاص به:
az keyvault show --name MyKeyVaultName --resource-group MyResouceGroupستحتاج إلى قيمة معرف المورد هذه للخطوة التالية.
تعيين دور مستخدم 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
احصل على المعرف الأساسي لهوية النظام المستخدمة للوصول إلى Key Vault:
az acr credential-set show --name CredentialSet --registry MyRegistryدون قيمة المعرف الأساسي، حيث ستحتاج إليها في الخطوة التالية.
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
تنظيف الموارد
عند عدم الحاجة، احذف قاعدة ذاكرة التخزين المؤقت وبيانات الاعتماد التي قمت بإنشائها.
لحذف قاعدة ذاكرة التخزين المؤقت، قم بتشغيل
az acr cache delete:az acr cache delete -r MyRegistry -n MyRuleلحذف بيانات الاعتماد، قم بتشغيل
az acr credential-set delete:az acr credential-set delete -r MyRegistry -n MyDockerHubCredSet