ขั้นตอนที่ 4 - เปิดใช้งานให้ AKS cluster ของคุณเข้าถึง Key Vault
มีวิธีการยืนยันตัวตนอยู่ สอง วิธี; เลือกวิธีที่ตรงกับการใช้งานของคุณ:
- 4A - Managed identity (แนะนำ)
- 4B - Service principal
- ใช้วิธีนี้เฉพาะเมื่อ managed identities ไม่พร้อมใช้งานหรือไม่ต้องการใช้ในคลัสเตอร์ของคุณ
4A - Managed identity
หากคลัสเตอร์ AKS ของคุณไม่ได้ถูกสร้างด้วย managed identities สามารถเพิ่มได้ผ่าน:
az aks update -g "${rgp}" -n "${aksname}" --enable-managed-identity
เพื่อซิงค์ secrets ของ Key Vault ไปยัง Kubernetes secrets identity ของ AKS kubelet จำเป็นต้องมีสิทธิ์เข้าถึง get และ list บน Key Vault
- ขั้นแรก ให้ดึง object ID ของ kubelet identity:
az aks show -g "${rgp}" -n "${aksname}"
คำสั่งนี้จะส่งคืนการตอบกลับ JSON ขนาดใหญ่ เลื่อนลงไปจนกว่าคุณจะพบ:
identityProfile → kubeletidentity → objectId

- ตอนนี้ให้ตั้งค่าสิทธิ์การเข้าถึงบน Key Vault:
az keyvault set-policy --name "${kvname}" --object-id "${objectid}" --secret-permissions get list
4B - Service principal
หากคุณกำลังใช้ service principal คุณจะต้องมี:
objectIdappIdtenantIdclientSecret
ทั้งหมดนี้สามารถพบได้ใน Azure Active Directory.
az keyvault set-policy --name "${kvname}" --object-id "${objectid}" --secret-permissions get list
- สร้าง Kubernetes secret:
kubectl create secret generic keyvault-service-principal \
--from-literal=ClientID="${appid}" \
--from-literal=ClientSecret="${clientsecret}"