Gunakan penyedia Azure Key Vault untuk Secrets Store CSI Driver di kluster Azure Kubernetes Service (AKS)
Penyedia Azure Key Vault untuk Secrets Store CSI Driver memungkinkan integrasi Azure Key Vault sebagai penyimpanan rahasia dengan kluster Azure Kubernetes Service (AKS) melalui volume CSI.
Fitur
- Memasang rahasia, kunci, dan sertifikat ke pod menggunakan volume CSI.
- Mendukung volume sebaris CSI.
- Mendukung pemasangan beberapa rahasia menyimpan objek sebagai volume tunggal.
- Mendukung portabilitas pod dengan
SecretProviderClass
CRD. - Mendukung kontainer Windows.
- Menyinkronkan dengan rahasia Kubernetes.
- Mendukung autorotasi konten yang dipasang dan rahasia Kubernetes yang disinkronkan.
Batasan
Kontainer yang menggunakan pemasangan volume subPath tidak menerima pembaruan rahasia saat diputar. Untuk informasi selengkapnya, lihat Driver Secrets Store CSI yang diketahui.
Prasyarat
- Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
- Periksa apakah versi Azure CLI Anda adalah 2.30.0 atau yang lebih baru. Jika ini adalah versi sebelumnya, instal versi terbaru.
- Jika Anda membatasi Ingress ke kluster, pastikan port 9808 dan 8095 terbuka.
- Versi Kube minimum yang direkomendasikan didasarkan pada jendela dukungan versi Kube yang bergulir. Pastikan Anda menjalankan versi N-2 atau yang lebih baru .
Membuat kluster AKS dengan penyedia Azure Key Vault untuk dukungan Driver Secrets Store CSI
Buat grup sumber daya Azure menggunakan
az group create
perintah .az group create --name myResourceGroup --location eastus2
Buat kluster AKS dengan penyedia Azure Key Vault untuk kemampuan Driver Secrets Store CSI menggunakan
az aks create
perintah dengan--enable-addons azure-keyvault-secrets-provider
parameter . Add-on membuat identitas terkelola yang ditetapkan pengguna yang dapat Anda gunakan untuk mengautentikasi ke brankas kunci Anda. Contoh berikut membuat kluster AKS dengan penyedia Azure Key Vault untuk Driver Secrets Store CSI diaktifkan.Catatan
Jika Anda ingin menggunakan ID Beban Kerja Microsoft Entra, Anda juga harus menggunakan
--enable-oidc-issuer
parameter dan--enable-workload-identity
, seperti dalam contoh berikut: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
Perintah sebelumnya membuat identitas terkelola yang ditetapkan pengguna,
azureKeyvaultSecretsProvider
, untuk mengakses sumber daya Azure. Contoh berikut menggunakan identitas ini untuk terhubung ke brankas kunci yang menyimpan rahasia, tetapi Anda juga dapat menggunakan metode akses identitas lainnya. Catat identitasclientId
dalam output...., "addonProfiles": { "azureKeyvaultSecretsProvider": { ..., "identity": { "clientId": "<client-id>", ... } }
Catatan
Setelah Anda mengaktifkan fitur ini, AKS membuat identitas terkelola bernama azurekeyvaultsecretsprovider-xxx
dalam grup sumber daya simpul dan menetapkannya ke Virtual Machine Scale Sets (VMSS) secara otomatis. Anda dapat menggunakan identitas terkelola ini atau identitas terkelola Anda sendiri untuk mengakses brankas kunci. Ini tidak didukung untuk mencegah pembuatan identitas.
Meningkatkan kluster AKS yang ada dengan penyedia Azure Key Vault untuk dukungan Driver Secrets Store CSI
Tingkatkan kluster AKS yang ada dengan penyedia Azure Key Vault untuk kemampuan Driver Secrets Store CSI menggunakan
az aks enable-addons
perintah dan aktifkanazure-keyvault-secrets-provider
add-on. Add-on membuat identitas terkelola yang ditetapkan pengguna yang dapat Anda gunakan untuk mengautentikasi ke brankas kunci Anda.az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Catatan
Setelah Anda mengaktifkan fitur ini, AKS membuat identitas terkelola bernama azurekeyvaultsecretsprovider-xxx
dalam grup sumber daya simpul dan menetapkannya ke Virtual Machine Scale Sets (VMSS) secara otomatis. Anda dapat menggunakan identitas terkelola ini atau identitas terkelola Anda sendiri untuk mengakses brankas kunci. Ini tidak didukung untuk mencegah pembuatan identitas.
Verifikasi penyedia Azure Key Vault untuk penginstalan Driver Secrets Store CSI
Dapatkan kredensial kluster AKS menggunakan perintah [
az aks get-credentials
][az-aks-get-credentials].az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Pastikan penginstalan selesai menggunakan
kubectl get pods
perintah , yang mencantumkan semua pod dengansecrets-store-csi-driver
label dansecrets-store-provider-azure
di namespace layanan sistem kube.kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'
Output Anda akan terlihat mirip dengan contoh output berikut:
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
Verifikasi bahwa setiap simpul di kumpulan simpul kluster Anda memiliki pod Driver Secrets Store CSI dan pod Azure Penyedia Penyimpanan Rahasia yang berjalan.
Membuat atau menggunakan Azure Key Vault yang sudah ada
Buat atau perbarui brankas kunci dengan kontrol akses berbasis peran Azure (Azure RBAC) diaktifkan menggunakan
az keyvault create
perintah atauaz keyvault update
perintah dengan--enable-rbac-authorization
bendera . Nama brankas kunci harus unik secara global. Untuk detail selengkapnya tentang model izin brankas kunci dan Azure RBAC, lihat Menyediakan akses ke kunci, sertifikat, dan rahasia Key Vault dengan kontrol akses berbasis peran Azure## 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
Brankas kunci Anda dapat menyimpan kunci, rahasia, dan sertifikat. Dalam contoh ini, gunakan
az keyvault secret set
perintah untuk mengatur rahasia teks biasa yang disebutExampleSecret
.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
Perhatikan properti berikut untuk penggunaan di masa mendatang:
- Nama objek rahasia di brankas kunci
- Jenis objek (rahasia, kunci, atau sertifikat)
- Nama sumber daya brankas kunci Anda
- ID penyewa Azure dari langganan
Langkah berikutnya
Dalam artikel ini, Anda mempelajari cara menggunakan penyedia Azure Key Vault untuk Secrets Store CSI Driver dalam kluster AKS. Anda sekarang perlu memberikan identitas untuk mengakses Azure Key Vault. Untuk mempelajari caranya, lanjutkan ke artikel berikutnya.
Azure Kubernetes Service