Acara
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Anda dapat berinteraksi dengan kluster Kube menggunakan alat kubectl
ini. Azure CLI menyediakan cara mudah untuk mendapatkan kredensial akses dan file konfigurasi kubeconfig untuk terhubung ke kluster AKS Anda menggunakan kubectl
. Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk membatasi siapa yang bisa mendapatkan akses ke file kubeconfig dan izin yang mereka miliki.
Artikel ini memperlihatkan kepada Anda cara menetapkan peran Azure yang membatasi siapa yang bisa mendapatkan informasi konfigurasi untuk kluster AKS.
az --version
untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.Saat Anda berinteraksi dengan kluster AKS menggunakan alat, kubectl
file konfigurasi, yang disebut kubeconfig, menentukan informasi koneksi kluster. File konfigurasi ini biasanya disimpan dalam ~/.kube/config. Beberapa kluster dapat didefinisikan dalam file kubeconfig ini. Anda dapat beralih antar kluster menggunakan kubectl config use-context
perintah .
Perintah ini az aks get-credentials
memungkinkan Anda mendapatkan kredensial akses untuk kluster AKS dan menggabungkan kredensial ini ke dalam file kubeconfig . Anda dapat menggunakan Azure RBAC untuk mengontrol akses ke kredensial ini. Peran Azure ini memungkinkan Anda menentukan siapa yang dapat mengambil file kubeconfig dan izin apa yang mereka miliki dalam kluster.
Ada dua peran Azure yang dapat Anda terapkan ke pengguna atau grup Microsoft Entra:
Peran Admin kluster Azure Kubernetes Service
Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action
panggilan API. Panggilan API ini mencantumkan info masuk admin kluster.Peran Pengguna kluster Azure Kubernetes Service
Microsoft.ContainerService/managedClusters/listClusterUserCredential/action
panggilan API. Panggilan API ini mencantumkan info masuk pengguna kluster.Catatan
Pada kluster yang menggunakan ID Microsoft Entra, pengguna dengan peran clusterUser memiliki file kubeconfig kosong yang meminta login. Setelah masuk, pengguna memiliki akses berdasarkan pengaturan pengguna atau grup Microsoft Entra mereka. Pengguna dengan peran clusterAdmin memiliki akses admin.
Pada kluster yang tidak menggunakan MICROSOFT Entra ID, peran clusterUser memiliki efek yang sama dari peran clusterAdmin.
Untuk menetapkan salah satu peran yang tersedia, Anda perlu mendapatkan ID sumber daya kluster AKS dan ID akun pengguna atau grup Microsoft Entra menggunakan langkah-langkah berikut:
az aks show
perintah untuk kluster bernama myAKSCluster di grup sumber daya myResourceGroup . Berikan nama grup kluster dan sumber daya Anda sendiri jika diperlukan.az account show
Gunakan perintah dan az ad user show
untuk mendapatkan ID pengguna Anda.az role assignment create
perintah .Contoh berikut menetapkan Peran Admin kluster Azure Kubernetes Service ke akun pengguna individual:
# Get the resource ID of your AKS cluster
AKS_CLUSTER=$(az aks show --resource-group myResourceGroup --name myAKSCluster --query id -o tsv)
# Get the account credentials for the logged in user
ACCOUNT_UPN=$(az account show --query user.name -o tsv)
ACCOUNT_ID=$(az ad user show --id $ACCOUNT_UPN --query objectId -o tsv)
# Assign the 'Cluster Admin' role to the user
az role assignment create \
--assignee $ACCOUNT_ID \
--scope $AKS_CLUSTER \
--role "Azure Kubernetes Service Cluster Admin Role"
Jika Anda ingin menetapkan izin ke grup Microsoft Entra, perbarui parameter yang --assignee
ditampilkan dalam contoh sebelumnya dengan ID objek untuk grup daripada pengguna.
Untuk mendapatkan ID objek untuk grup, gunakan az ad group show
perintah . Perintah berikut mendapatkan ID objek untuk grup Microsoft Entra bernama appdev:
az ad group show --group appdev --query objectId -o tsv
Penting
Dalam beberapa kasus, seperti pengguna tamu Microsoft Entra, user.name di akun berbeda dari userPrincipalName.
$ az account show --query user.name -o tsv
user@contoso.com
$ az ad user list --query "[?contains(otherMails,'user@contoso.com')].{UPN:userPrincipalName}" -o tsv
user_contoso.com#EXT#@contoso.onmicrosoft.com
Dalam hal ini, atur nilai ACCOUNT_UPN ke userPrincipalName dari pengguna Microsoft Entra. Misalnya, jika akun Anda user.name adalah user@contoso.com, tindakan ini akan terlihat seperti contoh berikut:
ACCOUNT_UPN=$(az ad user list --query "[?contains(otherMails,'user@contoso.com')].{UPN:userPrincipalName}" -o tsv)
Setelah peran ditetapkan, gunakan az aks get-credentials
perintah untuk mendapatkan definisi kubeconfig untuk kluster AKS Anda. Contoh berikut mendapatkan kredensial --admin , yang berfungsi dengan benar jika pengguna telah diberikan Peran Admin Kluster:
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster --admin
Anda kemudian dapat menggunakan kubectl config view
perintah untuk memverifikasi bahwa konteks untuk kluster menunjukkan bahwa informasi konfigurasi admin telah diterapkan.
$ kubectl config view
Output Anda akan terlihat mirip dengan contoh output berikut:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://myaksclust-myresourcegroup-19da35-4839be06.hcp.eastus.azmk8s.io:443
name: myAKSCluster
contexts:
- context:
cluster: myAKSCluster
user: clusterAdmin_myResourceGroup_myAKSCluster
name: myAKSCluster-admin
current-context: myAKSCluster-admin
kind: Config
preferences: {}
users:
- name: clusterAdmin_myResourceGroup_myAKSCluster
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
token: e9f2f819a4496538b02cefff94e61d35
Untuk menghapus penetapan peran, gunakan az role assignment delete
perintah . Tentukan ID akun dan ID sumber daya kluster yang Anda peroleh di langkah-langkah sebelumnya. Jika Anda menetapkan peran ke grup daripada pengguna, tentukan ID objek grup yang sesuai daripada ID objek akun untuk --assignee
parameter .
az role assignment delete --assignee $ACCOUNT_ID --scope $AKS_CLUSTER
Untuk keamanan yang ditingkatkan pada akses ke kluster AKS, integrasikan autentikasi Microsoft Entra.
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Acara
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangPelatihan
Modul
Mengonfigurasi kluster Azure Kubernetes Service - Training
Gunakan Azure Policy untuk memberlakukan kebijakan dan perlindungan pada kluster Kubernetes Anda dalam skala besar. Azure Policy Memastikan bahwa kluster Anda aman, sesuai, dan konsisten di seluruh organisasi Anda.
Sertifikasi
Bersertifikat Microsoft: Azure Administrator Associate - Certifications
Menunjukkan keterampilan utama untuk mengonfigurasi, mengelola, mengamankan, dan mengelola fungsi profesional utama di Microsoft Azure.