Bagikan melalui


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

Kluster AKS yang dibuat dengan prinsipal layanan memiliki waktu kedaluwarsa satu tahun. Saat mendekati tanggal kedaluwarsa, Anda dapat mengatur ulang kredensial 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 prinsipal layanan dan kredensial Microsoft Entra untuk kluster AKS.

Note

Atau, Anda dapat menggunakan identitas terkelola untuk izin alih-alih perwakilan layanan. 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 diinstal dan dikonfigurasi. Jalankan az --version untuk menemukan versinya. Jika Anda perlu menginstal atau memperbarui, lihat Install Azure CLI.

Memperbarui atau membuat identitas layanan baru untuk kluster AKS Anda

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

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

Warning

Jika Anda memilih untuk membuat perwakilan layanan baru , tunggu sekitar 30 menit agar izin perwakilan layanan disebarluaskan di 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 perintah az ad app credential list. Berikut ini adalah contoh untuk mendapatkan ID perwakilan layanan dari $CLUSTER_NAME kluster dalam $RESOURCE_GROUP_NAME grup sumber daya menggunakan perintah az aks show. ID perwakilan layanan diatur sebagai variabel bernama SP_ID.

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

Atur ulang kredensial prinsipal 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 $CLUSTER_NAME dalam grup sumber daya $RESOURCE_GROUP_NAME. Variabel bernama SP_ID menyimpan ID perwakilan layanan yang digunakan pada langkah berikutnya. Perintah ini menggunakan bahasa perintah Bash.

Warning

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

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --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 prinsipal layanan. Langkah ini diperlukan untuk memperbarui service principal pada kluster AKS Anda.

Buat prinsipal layanan baru

Note

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

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

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

Outputnya mirip dengan contoh output berikut. Catatlah appId dan password sendiri untuk digunakan di langkah berikutnya.

{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

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

SP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

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

Important

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 $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --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 perintah az aks update-credentials dengan variabel --reset-aad.

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --reset-aad \
    --aad-server-app-id $SERVER_APPLICATION_ID \
    --aad-server-app-secret $SERVER_APPLICATION_SECRET \
    --aad-client-app-id $CLIENT_APPLICATION_ID

Langkah selanjutnya

Dalam artikel ini, Anda mempelajari cara memperbarui atau mengganti prinsipal 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.