Memperbarui atau memutar kredensial untuk kluster Azure Kubernetes Service (AKS)

Kluster AKS yang dibuat dengan perwakilan layanan memiliki masa berlaku satu tahun. Saat Anda mendekati tanggal kedaluwarsa, Anda dapat mereset mandat untuk memperpanjang perwakilan layanan untuk jangka waktu tambahan. Anda mungkin juga ingin memperbarui, atau memutar, kredensial sebagai bagian dari kebijakan keamanan yang ditentukan. Kluster AKS yang terintegrasi dengan MICROSOFT Entra ID sebagai penyedia autentikasi memiliki dua identitas lagi: Aplikasi Microsoft Entra Server dan Aplikasi Klien Microsoft Entra. Artikel ini menjelaskan cara memperbarui perwakilan layanan dan kredensial Microsoft Entra untuk kluster AKS.

Catatan

Atau, alih-alih menggunakan perwakilan layanan, Anda dapat menggunakan identitas terkelola untuk izin. Identitas terkelola tidak memerlukan pembaruan atau rotasi. Untuk informasi selengkapnya, lihat Menggunakan identitas terkelola.

Sebelum Anda mulai

Anda memerlukan Azure CLI versi 2.0.65 atau yang lebih baru yang sudah terpasang dan terkonfigurasi. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Memperbarui atau membuat perwakilan layanan baru untuk kluster AKS Anda

Saat Anda ingin memperbarui mandat untuk kluster AKS, Anda dapat memilih untuk:

  • Perbarui mandat untuk perwakilan layanan yang ada.
  • Buat perwakilan layanan baru dan perbarui kluster untuk menggunakan mandat baru ini.

Peringatan

Jika Anda memilih untuk membuat perwakilan layanan baru, tunggu sekitar 30 menit agar izin perwakilan layanan menyebar ke semua wilayah. Memperbarui kluster AKS besar untuk menggunakan kredensial ini dapat memakan waktu lama untuk diselesaikan.

Periksa tanggal kedaluwarsa perwakilan layanan Anda

Untuk memeriksa tanggal kedaluwarsa perwakilan layanan Anda, gunakan az ad app credential list perintah . Contoh berikut mendapatkan ID perwakilan layanan untuk kluster bernama myAKSCluster di grup sumber daya myResourceGroup menggunakan az aks show perintah . ID perwakilan layanan diatur sebagai variabel bernama SP_ID.

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --query servicePrincipalProfile.clientId -o tsv)
az ad app credential list --id "$SP_ID" --query "[].endDateTime" -o tsv

Mengatur ulang kredensial perwakilan layanan yang ada

Untuk memperbarui kredensial untuk perwakilan layanan yang ada, dapatkan ID perwakilan layanan kluster Anda menggunakan az aks show perintah . Contoh berikut mendapatkan ID untuk kluster dengan nama myAKSCluster dalam grup sumber daya myResourceGroup. Variabel bernama SP_ID menyimpan ID perwakilan layanan yang digunakan pada langkah berikutnya. Perintah ini menggunakan bahasa perintah Bash.

Peringatan

Saat Anda mereset mandat kluster pada kluster AKS yang menggunakan Azure Virtual Machine Scale Sets, peningkatan gambar simpul dilakukan untuk memperbarui simpul Anda dengan informasi mandat baru.

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --query servicePrincipalProfile.clientId -o tsv)

Gunakan variabel SP_ID yang berisi ID perwakilan layanan untuk mengatur ulang kredensial menggunakan az ad app credential reset perintah . Contoh berikut memungkinkan platform Azure menghasilkan rahasia aman baru untuk perwakilan layanan dan menyimpannya sebagai variabel bernama SP_SECRET.

SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)

Selanjutnya, Anda memperbarui kluster AKS dengan kredensial perwakilan layanan. Langkah ini diperlukan untuk memperbarui perwakilan layanan pada kluster AKS Anda.

Buat prinsipal layanan baru

Catatan

Jika Anda memperbarui kredensial perwakilan layanan yang ada di bagian sebelumnya, lewati bagian ini dan perbarui kluster AKS dengan kredensial perwakilan layanan.

Untuk membuat perwakilan layanan dan memperbarui kluster AKS untuk menggunakan kredensial baru, gunakan az ad sp create-for-rbac perintah .

az ad sp create-for-rbac --role Contributor --scopes /subscriptions/mySubscriptionID

Outputnya mirip dengan contoh output berikut. Catat sendiri appId dan password gunakan di langkah berikutnya.

{
  "appId": "7d837646-b1f3-443d-874c-fd83c7c739c5",
  "name": "7d837646-b1f3-443d-874c-fd83c7c739c",
  "password": "a5ce83c9-9186-426d-9183-614597c7f2f7",
  "tenant": "a4342dc8-cd0e-4742-a467-3129c469d0e5"
}

Tentukan variabel untuk ID perwakilan layanan dan rahasia klien menggunakan output Anda agar tidak menjalankan az ad sp create-for-rbac perintah. SP_ID adalah appId, dan SP_SECRET adalah kata sandi Anda.

SP_ID=7d837646-b1f3-443d-874c-fd83c7c739c5
SP_SECRET=a5ce83c9-9186-426d-9183-614597c7f2f7

Selanjutnya, Anda memperbarui kluster AKS dengan kredensial perwakilan layanan baru. Langkah ini diperlukan untuk memperbarui kluster AKS dengan kredensial perwakilan layanan baru.

Memperbarui kluster AKS dengan kredensial perwakilan layanan

Penting

Untuk kluster besar, memperbarui kluster AKS Anda dengan perwakilan layanan baru dapat memakan waktu lama untuk diselesaikan. Pertimbangkan untuk meninjau dan menyesuaikan pengaturan peningkatan lonjakan simpul untuk meminimalkan gangguan selama pembaruan. Untuk kluster kecil dan menengah, dibutuhkan beberapa menit agar kredensial baru diperbarui di kluster.

Perbarui kluster AKS dengan kredensial baru atau yang sudah ada dengan menjalankan az aks update-credentials perintah .

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-service-principal \
    --service-principal "$SP_ID" \
    --client-secret "${SP_SECRET}"

Memperbarui kluster AKS dengan kredensial aplikasi Microsoft Entra baru

Anda dapat membuat aplikasi server dan klien Microsoft Entra baru dengan mengikuti langkah-langkah integrasi Microsoft Entra, atau mengatur ulang aplikasi Microsoft Entra yang ada dengan mengikuti metode yang sama seperti untuk reset perwakilan layanan. Setelah itu, Anda perlu memperbarui kredensial aplikasi Microsoft Entra kluster menggunakan az aks update-credentials perintah dengan variabel --reset-aad .

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-aad \
    --aad-server-app-id <SERVER APPLICATION ID> \
    --aad-server-app-secret <SERVER APPLICATION SECRET> \
    --aad-client-app-id <CLIENT APPLICATION ID>

Langkah berikutnya

Dalam artikel ini, Anda mempelajari cara memperbarui atau memutar perwakilan layanan dan kredensial aplikasi Microsoft Entra. Untuk informasi selengkapnya tentang cara menggunakan identitas pengelolaan untuk beban kerja dalam kluster AKS, lihat Praktik terbaik untuk autentikasi dan otorisasi di AKS.