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.
Gizli Depo CSI Sürücüsü için Azure Key Vault sağlayıcısı, bir Azure Key Vault'un Azure Kubernetes Service (AKS) kümesiyle bir CSI birimi aracılığıyla gizli depo olarak tümleştirilmesine olanak tanır.
Özellikler
- CSI birimi kullanarak gizli bilgileri, anahtarları ve sertifikaları bir poda bağlar.
- CSI yerleşik birimlerini destekler.
- Birden çok gizli saklama deposu nesnesini tek bir hacim olarak bağlamayı destekler.
- CRD ile
SecretProviderClass
pod taşınabilirliğini destekler. - Windows kapsayıcılarını destekler.
- Kubernetes sırlarıyla senkronize edilir.
- Montelemiş içeriklerin otomatik döndürülmesini ve eşitlenmiş Kubernetes gizli dizilerini destekler.
Sınırlamalar
-
ConfigMap
veyaSecret
birim bağlaması olarak kullanılan birsubPath
kapsayıcı, gizli bilgi yenilendiğinde otomatik güncellemeleri almaz. Bu bir Kubernetes sınırlamasıdır. Değişikliklerin etkili olması için, uygulamanın dosya sistemindeki değişiklikleri izleyerek veya podu yeniden başlatarak değiştirilen dosyayı yeniden yüklemesi gerekir. Daha fazla bilgi için Secrets Store CSI Driver bilinen sınırlamaları bölümüne bakın. - Eklenti, düğüm kaynak grubunda adlı
azurekeyvaultsecretsprovider-xxx
bir yönetilen kimlik oluşturur ve bunu otomatik olarak Sanal Makine Ölçek Kümeleri'ne (VMSS) atar. Anahtar kasasına erişmek için bu yönetilen kimliği veya kendi yönetilen kimliğinizi kullanabilirsiniz. Kimlik oluşturmanın engellenmesi desteklenmiyor.
Önkoşullar
- Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure CLI sürümünüzün 2.30.0 veya üzeri olup olmadığını denetleyin. Önceki bir sürümse en son sürümü yükleyin.
Ağ
- Ağdan yalıtılmış kümeler kullanılıyorsa , Azure Key Vault'a erişmek için özel uç nokta ayarlamanız önerilir.
- Küme giden türüne
userDefinedRouting
sahipse ve Azure Güvenlik Duvarı gibi etki alanı adlarına göre giden trafiği denetleyebilen bir güvenlik duvarı cihazı kullanıyorsa , gerekli giden ağ kurallarına ve FQDN'lere izin verildiğinden emin olun. - Kümeye girişi kısıtlarsanız 9808 ve 8095 bağlantı noktalarının açık olduğundan emin olun.
Görevler
- Kullanılan kimliğin
SecretProviderClass
,key
'ye veyacertificate
nesne türlerine erişim sağlamak içinKey Vault Certificate User
gerektirir. -
SecretProviderClass
ile kullanılan kimliğinsecret
yetkisine sahip olması, nesne türüne erişebilmesi için gereklidir.
Gizli Dizi Deposu için Azure Key Vault sağlayıcısı ile AKS kümesi oluşturma CSI Sürücüsü desteği
komutunu kullanarak
az group create
bir Azure kaynak grubu oluşturun.az group create --name myResourceGroup --location eastus2
az aks create
komutunu ve--enable-addons azure-keyvault-secrets-provider
parametresini kullanarak, Gizli Saklama CSI Sürücüsü yeteneği için Azure Key Vault sağlayıcısı olan bir AKS kümesi oluşturun. Eklenti, anahtar kasanızda kimlik doğrulaması yapmak için kullanabileceğiniz kullanıcı tarafından atanan bir yönetilen kimlik oluşturur. Aşağıdaki örnek, Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısının etkinleştirildiği bir AKS kümesi oluşturur.Not
Microsoft Entra İş Yükü Kimliği kullanmak istiyorsanız, aşağıdaki örnekte olduğu gibi
--enable-oidc-issuer
ve--enable-workload-identity
parametrelerini de kullanmanız gerekir.az aks create --name myAKSCluster --resource-group myResourceGroup --enable-addons azure-keyvault-secrets-provider --enable-oidc-issuer --enable-workload-identity --generate-ssh-keys
az aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --enable-addons azure-keyvault-secrets-provider \ --generate-ssh-keys
Önceki komut,
azureKeyvaultSecretsProvider
Azure kaynaklarına erişmek için kullanıcı tarafından atanan bir yönetilen kimlik oluşturur. Aşağıdaki örnek, gizli dizileri depolayan anahtar kasasına bağlanmak için bu kimliği kullanır, ancak diğer kimlik erişim yöntemlerini de kullanabilirsiniz. Çıktıdaki kimliğinclientId
dikkat edin...., "addonProfiles": { "azureKeyvaultSecretsProvider": { ..., "identity": { "clientId": "<client-id>", ... } }
Not
Bu özelliği etkinleştirdikten sonra AKS, düğüm kaynak grubunda adlı azurekeyvaultsecretsprovider-xxx
bir yönetilen kimlik oluşturur ve bunu otomatik olarak Sanal Makine Ölçek Kümeleri (VMSS) atar. Anahtar kasasına erişmek için bu yönetilen kimliği veya kendi yönetilen kimliğinizi kullanabilirsiniz. Kimlik oluşturmanın engellenmesi desteklenmiyor.
Gizli Dizi Deposu için Azure Key Vault sağlayıcısı ile mevcut AKS kümesini yükseltme CSI Sürücüsü desteği
Azure Key Vault sağlayıcısı ile Secrets Store CSI Sürücüsü yeteneğine sahip mevcut bir AKS kümesini
az aks enable-addons
komutunu kullanarak yükseltin veazure-keyvault-secrets-provider
eklentisini etkinleştirin. Eklenti, anahtar kasanızda kimlik doğrulaması yapmak için kullanabileceğiniz kullanıcı tarafından atanan bir yönetilen kimlik oluşturur.az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Not
Bu özelliği etkinleştirdikten sonra AKS, düğüm kaynak grubunda adlı azurekeyvaultsecretsprovider-xxx
bir yönetilen kimlik oluşturur ve bunu otomatik olarak Sanal Makine Ölçek Kümeleri (VMSS) atar. Anahtar kasasına erişmek için bu yönetilen kimliği veya kendi yönetilen kimliğinizi kullanabilirsiniz. Kimlik oluşturmanın engellenmesi desteklenmiyor.
Gizli Anahtar Deposu CSI Sürücüsü kurulumu için Azure Key Vault sağlayıcısını doğrulayın
komutunu kullanarak
az aks get-credentials
AKS kümesi kimlik bilgilerini alın.az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
kube-system ad alanında ve
kubectl get pods
etiketlerine sahipsecrets-store-csi-driver
tüm podları listeleyen komutunu kullanaraksecrets-store-provider-azure
yüklemenin tamamlanıp tamamlanmadığını doğrulayın.kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'
Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
NAME READY STATUS RESTARTS AGE aks-secrets-store-csi-driver-4vpkj 3/3 Running 2 4m25s aks-secrets-store-csi-driver-ctjq6 3/3 Running 2 4m21s aks-secrets-store-csi-driver-tlvlq 3/3 Running 2 4m24s aks-secrets-store-provider-azure-5p4nb 1/1 Running 0 4m21s aks-secrets-store-provider-azure-6pqmv 1/1 Running 0 4m24s aks-secrets-store-provider-azure-f5qlm 1/1 Running 0 4m25s
Kümenizin düğüm havuzundaki her düğümün, Secrets Store CSI Sürücüsü pod'u ve Secrets Store Provider Azure pod'unun çalışır durumda olduğunu doğrulayın.
Mevcut Azure Key Vault'u oluşturma veya kullanma
Azure rol tabanlı erişim denetimi (Azure RBAC) etkinleştirilmiş bir anahtar kasası oluşturun veya güncelleştirin; bunu,
az keyvault create
komutunu veyaaz keyvault update
komutunu,--enable-rbac-authorization
bayrağı ile kullanarak gerçekleştirin. Anahtar kasasının adı genel olarak benzersiz olmalıdır. Anahtar kasası izin modelleri ve Azure RBAC hakkında daha fazla ayrıntı için Azure rol tabanlı erişim denetimiyle Key Vault anahtarlarına, sertifikalarına ve gizlerine erişim sağlama bölümüne bakın.## Create a new Azure key vault az keyvault create --name <keyvault-name> --resource-group myResourceGroup --location eastus2 --enable-rbac-authorization ## Update an existing Azure key vault az keyvault update --name <keyvault-name> --resource-group myResourceGroup --location eastus2 --enable-rbac-authorization
Anahtar kasanız anahtarları, gizli bilgileri ve sertifikaları depolayabilir. Bu örnekte,
az keyvault secret set
komutunu kullanarakExampleSecret
adlı bir düz metin gizliliği ayarlayın.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
Gelecekte kullanmak için aşağıdaki özellikleri not alın:
- Anahtar kasasında gizli nesnenin adı
- Nesne türü (gizli dizi, anahtar veya sertifika)
- Anahtar kasası kaynağınızın adı
- Aboneliğin Azure kiracı kimliği
Sonraki adımlar
Bu makalede, AKS kümesinde Secrets Store CSI Driver için Azure Key Vault sağlayıcısını kullanmayı öğrendiniz. Şimdi Azure Key Vault'a erişmek için bir kimlik sağlamanız gerekir. Nasıl yapılacağını öğrenmek için sonraki makaleye geçin.
Azure Kubernetes Service