Mengelola akun lokal dengan integrasi Microsoft Entra yang dikelola AKS
Saat Anda menyebarkan kluster AKS, akun lokal diaktifkan secara default. Bahkan ketika Anda mengaktifkan integrasi RBAC atau Microsoft Entra, --admin
akses masih ada sebagai opsi backdoor yang tidak dapat diaudit. Artikel ini menunjukkan kepada Anda cara menonaktifkan akun lokal pada kluster yang ada, membuat kluster baru dengan akun lokal dinonaktifkan, dan mengaktifkan kembali akun lokal pada kluster yang ada.
Sebelum Anda mulai
- Lihat Integrasi Microsoft Entra yang dikelola AKS untuk ringkasan dan instruksi penyiapan.
Menonaktifkan akun lokal
Anda dapat menonaktifkan akun lokal menggunakan parameter disable-local-accounts
. Bidang properties.disableLocalAccounts
telah ditambahkan ke API kluster terkelola untuk menunjukkan apakah fitur diaktifkan atau tidak pada kluster.
Catatan
Pada kluster dengan integrasi Microsoft Entra diaktifkan, pengguna yang ditetapkan ke grup administrator Microsoft Entra yang ditentukan oleh
aad-admin-group-object-ids
masih dapat memperoleh akses menggunakan kredensial non-administrator. Pada kluster tanpa integrasi Microsoft Entra diaktifkan danproperties.disableLocalAccounts
diatur ketrue
, setiap upaya untuk mengautentikasi dengan kredensial pengguna atau admin akan gagal.Setelah menonaktifkan akun pengguna lokal pada kluster AKS yang ada di mana pengguna mungkin telah mengautentikasi dengan akun lokal, administrator harus memutar sertifikat kluster untuk mencabut sertifikat yang mungkin dapat mereka akses. Jika ini adalah kluster baru, tidak ada tindakan yang diperlukan.
Membuat kluster baru tanpa akun lokal
Buat kluster AKS baru tanpa akun lokal menggunakan
az aks create
perintah dengandisable-local-accounts
bendera .az aks create \ --resource-group <resource-group> \ --name <cluster-name> \ --enable-aad \ --aad-admin-group-object-ids <aad-group-id> \ --disable-local-accounts \ --generate-ssh-keys
Dalam output, konfirmasikan akun lokal dinonaktifkan dengan memeriksa apakah bidang
properties.disableLocalAccounts
diatur ketrue
."properties": { ... "disableLocalAccounts": true, ... }
Jalankan
az aks get-credentials
perintah untuk memastikan kluster diatur untuk menonaktifkan akun lokal.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Output Anda akan menampilkan pesan kesalahan berikut yang menunjukkan fitur tersebut mencegah akses:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Menonaktifkan akun lokal pada kluster yang ada
Nonaktifkan akun lokal pada kluster AKS yang diaktifkan integrasi Microsoft Entra yang ada menggunakan
az aks update
perintah dengandisable-local-accounts
parameter .az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
Dalam output, konfirmasikan akun lokal dinonaktifkan dengan memeriksa apakah bidang
properties.disableLocalAccounts
diatur ketrue
."properties": { ... "disableLocalAccounts": true, ... }
Jalankan
az aks get-credentials
perintah untuk memastikan kluster diatur untuk menonaktifkan akun lokal.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Output Anda akan menampilkan pesan kesalahan berikut yang menunjukkan fitur tersebut mencegah akses:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Menonaktifkan ulang akun lokal pada kluster yang ada
Aktifkan kembali akun lokal yang dinonaktifkan pada kluster yang ada menggunakan
az aks update
perintah denganenable-local-accounts
parameter .az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
Dalam output, konfirmasikan akun lokal diaktifkan kembali dengan memeriksa apakah bidang
properties.disableLocalAccounts
diatur kefalse
."properties": { ... "disableLocalAccounts": false, ... }
Jalankan
az aks get-credentials
perintah untuk memastikan kluster diatur untuk mengaktifkan akun lokal.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Output Anda akan menampilkan pesan berikut yang menunjukkan bahwa Anda telah berhasil mengaktifkan akun lokal pada kluster:
Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
Langkah berikutnya
- Pelajari tentang integrasi Azure RBAC untuk Otorisasi Kubernetes.
Azure Kubernetes Service