Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure Container Registry'nizde (ACR) yapıt önbelleği özelliğini kimlik doğrulamasıyla veya kimlik doğrulaması olmadan etkinleştirmek için Azure CLI kullanmayı öğreneceksiniz.
Burada listelenen önkoşullara ek olarak etkin aboneliği olan bir Azure hesabına ihtiyacınız vardır. Ücretsiz hesap oluşturun.
Önkoşullar
- Azure CLI. Bu makaledeki komutları çalıştırmak için Azure Cloud Shell'i veya Azure CLI'nın yerel yüklemesini kullanabilirsiniz. Yerel olarak kullanmak için Azure CLI sürüm 2.46.0 veya üzeri gereklidir. Azure CLI sürümünüzü onaylamak için komutunu çalıştırın
az --version. Yüklemek veya yükseltmek için bkz . Azure CLI'yı yükleme. - Mevcut bir ACR örneği. Henüz bir kapsayıcınız yoksa, yeni bir kapsayıcı kayıt defteri oluşturmak için hızlı başlangıcımızı kullanın.
- Kimlik bilgilerini oluşturmak ve depolamak için mevcut bir Key Vault.
- Key Vault'unuzda gizli bilgileri belirleme ve alma izinleri.
Bu makalede adlı MyRegistryörnek bir ACR örneği kullanacağız.
Kimlik bilgilerini oluşturma
Kimlik bilgilerini yapılandırmadan önce Azure Key Vault'ta gizli dizi oluşturup depolayabildiğinizden ve Key Vault'tangizli dizileri alabildiğinizden emin olun.
komutunu çalıştırın
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/passwordsecretKimlik bilgisi kümesindeki kullanıcı adı veya parola Key Vault gizli dizi kimliğini güncelleştirmek için komutunu çalıştırın
az acr credential set update:az acr credential-set update -r MyRegistry -n MyDockerHubCredSet -p https://MyKeyvault.vault.azure.net/secrets/newsecretnameKimlik bilgilerini göstermek için az acr credential-set show komutunu çalıştırın:
az acr credential-set show -r MyRegistry -n MyDockerHubCredSet
Önbellek kuralı oluşturma
Ardından, depodan yapıtları önbelleğinize çeken önbellek kuralını oluşturun ve yapılandırın.
Yeni bir önbellek kuralı oluşturmak için komutunu çalıştırın
az acr cache create:az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyDockerHubCredSetÖnbellek kuralındaki kimlik bilgilerini güncelleştirmek için komutunu çalıştırın
az acr cache update:az acr cache update -r MyRegistry -n MyRule -c NewCredSetKimlik bilgilerini kaldırmanız gerekiyorsa komutunu çalıştırın
az acr cache update -r MyRegistry -n MyRule --remove-cred-set.Önbellek kurallarını göstermek için komutunu çalıştırın
az acr cache show:az acr cache show -r MyRegistry -n MyRule
Tavsiye
Kimlik bilgilerini kullanmadan önbellek kuralı oluşturmak için, kimlik bilgileri belirtilmeden aynı komutu kullanın. Örneğin, az acr cache create --registry Myregistry --name MyRule --source-repo MySourceRepository --target-repo MyTargetRepository. Docker Hub gibi bazı kaynaklar için önbellek kuralı oluşturmak için kimlik bilgileri gerekir.
Azure RBAC ile Key Vault'a izin atama
Azure Key Vault'a erişebilmeleri için kullanıcılara uygun izinleri atamak için Azure RBAC'yi kullanabilirsiniz.
Key Vault'a Microsoft.KeyVault/vaults/secrets/getSecret/action erişmek için izin gereklidir. Bu eylemi içeren en az ayrıcalıklı rol olduğundan, Key Vault Gizli Dizileri Kullanıcı Azure yerleşik rolü genellikle atanır. Alternatif olarak, bu izni içeren özel bir rol oluşturabilirsiniz.
Kullanılan adımlar, Azure CLI veya Bash kullanıp kullanmadığınıza bağlı olarak değişir.
Key Vault'a erişmek için kullanılan sistem kimliğinin asıl kimliğini alın:
az acr credential-set show --name MyCredentialSet --registry MyRegistry3. adımda ihtiyacınız olacak ana kimlik değerini not edin.
Kaynak kimliğini almak için Key Vault'un özelliklerini görüntüleyin:
az keyvault show --name MyKeyVaultName --resource-group MyResouceGroupSonraki adım için bu kaynak kimliği değerine ihtiyacınız olacak.
Kimlik kümesinin sistem kimliğine Key Vault Gizli Anahtarları Kullanıcı rolünü atayın.
az role assignment create --role "Key Vault Secrets User" --assignee CredentialSetPrincipalID --scope KeyVaultResourceID
Tavsiye
Key Vault'un kaynak kimliğini kullanmak, Key Vault'taki tüm gizli bilgilere erişim sağlar. İsterseniz, yalnızca kullanıcı adı ve parola bilgilerine erişim verebilirsiniz. Bunu yapmak için, 2. adımdaki komut yerine aşağıdaki komutları çalıştırarak yalnızca kullanıcı adı ve parola gizli dizilerini alın:
az keyvault secret show --vault-name MyKeyVaultName --name MyUsernameSecretName
az keyvault secret show --vault-name MyKeyVaultName --name MyPasswordSecretName
Ardından, önce KeyVaultResourceID dizisini kullanıcı adı gizlisinin kimliği ile, ardından KeyVaultResourceID dizisini parola gizlisinin kimliği ile değiştirerek 3. adımı iki kez gerçekleştirin.
Erişim ilkeleriyle Key Vault'a izin atama
Alternatif olarak, izin atamak için erişim ilkelerini kullanabilirsiniz.
Key Vault'a erişmek için kullanılan sistem kimliğinin asıl kimliğini alın:
az acr credential-set show --name CredentialSet --registry MyRegistrySonraki adımda gerek duyacağınız için asıl kimlik değerini not alın.
az keyvault set-policyGörüntüyü çekmeden önce Key Vault'a erişim atamak için komutunu çalıştırın. Örneğin, KeyVault sırrına erişmek üzere kimlik bilgilerine izin vermek için:az keyvault set-policy --name MyKeyVault --object-id MyCredentialSetPrincipalID --secret-permissions get
Resminizi çekin
Önbelleğinizden görüntü çekmek için Docker komutunu kullanın ve kayıt defteri oturum açma sunucusu adını, depo adını ve istenen etiketini sağlayın. Örneğin, kayıt defteri oturum açma sunucusu hello-worldiçin istenen etikete latest sahip bir görüntüyü depodan myregistry.azurecr.io çekmek için şunu çalıştırın:
docker pull myregistry.azurecr.io/hello-world:latest
Kaynakları temizleme
Artık gerekli olmadığında, oluşturduğunuz önbellek kuralını ve kimlik bilgilerini silin.
Önbellek kuralını silmek için komutunu çalıştırın
az acr cache delete:az acr cache delete -r MyRegistry -n MyRuleKimlik bilgilerini silmek için komutunu çalıştırın
az acr credential-set delete:az acr credential-set delete -r MyRegistry -n MyDockerHubCredSet
Sonraki adımlar
- Yapıt önbelleğe alma ile ilgili sorunları giderme hakkında bilgi edinin.
- Azure portalını kullanarak yapıt önbelleğini etkinleştirmeyi öğrenin.