Langkah 4 - Dayakan kluster AKS anda untuk mengakses Key Vault
Terdapat dua kaedah untuk pengesahan; pilih yang berkenaan dengan anda:
- 4A - Managed identity (disyorkan)
- 4B - Service principal
- Gunakan kaedah ini hanya jika managed identities tidak tersedia atau tidak dikehendaki dalam kluster anda.
4A - Managed identity
Jika kluster AKS anda tidak dicipta dengan managed identities, ini boleh ditambah melalui:
az aks update -g "${rgp}" -n "${aksname}" --enable-managed-identity
Untuk menyegerakkan rahsia Key Vault ke rahsia Kubernetes, identiti kubelet AKS memerlukan akses get dan list kepada Key Vault.
- Pertama, dapatkan object ID bagi identiti kubelet:
az aks show -g "${rgp}" -n "${aksname}"
Ini akan mengembalikan respons JSON yang besar. Tatal sehingga anda menemui:
identityProfile → kubeletidentity → objectId

- Sekarang tetapkan kebenaran akses pada Key Vault:
az keyvault set-policy --name "${kvname}" --object-id "${objectid}" --secret-permissions get list
4B - Service principal
Jika anda menggunakan service principal, anda akan memerlukan:
objectIdappIdtenantIdclientSecret
Semua ini boleh didapati dalam Azure Active Directory.
az keyvault set-policy --name "${kvname}" --object-id "${objectid}" --secret-permissions get list
- Cipta secret Kubernetes:
kubectl create secret generic keyvault-service-principal \
--from-literal=ClientID="${appid}" \
--from-literal=ClientSecret="${clientsecret}"