Mengonfigurasi Data Langsung dalam wawasan Kontainer

Untuk melihat data langsung dengan wawasan Kontainer dari kluster Azure Kubernetes Service (AKS), konfigurasikan autentikasi untuk memberikan izin untuk mengakses data Kubernetes Anda. Konfigurasi keamanan ini memungkinkan akses real-time ke data anda melalui API Kubernetes langsung di portal Microsoft Azure.

Fitur ini mendukung metode berikut untuk mengontrol akses ke log, peristiwa, dan metrik:

  • AKS tanpa otorisasi kontrol akses berbasis peran (RBAC) Kubernetes diaktifkan
  • AKS diaktifkan dengan otorisasi RBAC Kubernetes
  • AKS diaktifkan dengan akses menyeluruh berbasis Microsoft Entra SAML

Instruksi ini memerlukan akses administratif ke kluster Kubernetes Anda. Jika mengonfigurasi untuk menggunakan ID Microsoft Entra untuk autentikasi pengguna, Anda juga memerlukan akses administratif ke ID Microsoft Entra.

Artikel ini menjelaskan cara mengonfigurasi autentikasi untuk mengontrol akses ke fitur Live Data dari kluster:

  • Kluster AKS berkemampuan RBAC Kubernetes
  • Kluster AKS terintegrasi Microsoft Entra

Model autentikasi

Fitur Data Langsung menggunakan API Kubernetes, yang identik dengan kubectl alat baris perintah. Titik akhir API Kubernetes menggunakan sertifikat yang ditandatangani sendiri, yang tidak akan dapat divalidasi oleh browser Anda. Fitur ini menggunakan proksi internal untuk memvalidasi sertifikat dengan layanan AKS, memastikan lalu lintas tepercaya.

portal Azure meminta Anda memvalidasi kredensial masuk untuk kluster ID Microsoft Entra. Ini mengalihkan Anda ke pengaturan pendaftaran klien selama pembuatan kluster (dan dikonfigurasi ulang dalam artikel ini). Perilaku ini mirip dengan proses autentikasi yang diperlukan oleh kubectl.

Catatan

Otorisasi ke kluster Anda dikelola oleh Kubernetes dan model keamanan yang dikonfigurasi dengannya. Pengguna yang mengakses fitur ini memerlukan izin untuk mengunduh konfigurasi Kube (kubeconfig), yang mirip dengan menjalankan az aks get-credentials -n {your cluster name} -g {your resource group}.

File konfigurasi ini berisi token otorisasi dan autentikasi untuk Peran Pengguna Kluster Azure Kubernetes Service, dalam kasus Azure RBAC diaktifkan dan kluster AKS tanpa otorisasi RBAC Kubernetes diaktifkan. Ini berisi informasi tentang ID Microsoft Entra dan detail pendaftaran klien saat AKS diaktifkan dengan akses menyeluruh berbasis Microsoft Entra SAML.

Pengguna fitur ini memerlukan Peran Pengguna Kluster Azure Kubernetes untuk mengakses kluster untuk mengunduh kubeconfig dan menggunakan fitur ini. Pengguna tidak memerlukan akses kontributor ke kluster untuk menggunakan fitur ini.

Menggunakan clusterMonitoringUser dengan kluster berkemampuan Kubernetes RBAC

Untuk menghilangkan kebutuhan untuk menerapkan lebih banyak perubahan konfigurasi untuk memungkinkan pengikatan peran pengguna Kubernetes clusterUser akses ke fitur Live Data setelah mengaktifkan otorisasi RBAC Kubernetes, AKS telah menambahkan pengikatan peran kluster Kubernetes baru yang disebut clusterMonitoringUser. Pengikatan peran kluster ini memiliki semua izin yang diperlukan di luar kotak untuk mengakses API Kubernetes dan titik akhir untuk menggunakan fitur Data Langsung.

Untuk menggunakan fitur Data Langsung dengan pengguna baru ini, Anda harus menjadi anggota peran Pengguna atau Kontributor Kluster Azure Kubernetes Service pada sumber daya kluster AKS. Wawasan kontainer, saat diaktifkan, dikonfigurasi untuk mengautentikasi dengan menggunakan clusterMonitoringUser secara default. Jika pengikatan clusterMonitoringUser peran tidak ada pada kluster, clusterUser digunakan untuk autentikasi sebagai gantinya. Kontributor memberi Anda akses ke clusterMonitoringUser (jika ada), dan Pengguna Kluster Azure Kubernetes Service memberi Anda akses ke clusterUser. Salah satu dari kedua peran ini memberikan akses yang cukup untuk menggunakan fitur ini.

AKS merilis pengikatan peran baru ini pada Januari 2020, sehingga kluster yang dibuat sebelum Januari 2020 tidak memilikinya. Jika Anda memiliki kluster yang dibuat sebelum Januari 2020, clusterMonitoringUser baru dapat ditambahkan ke kluster yang ada dengan melakukan operasi PUT pada kluster. Atau Anda dapat melakukan operasi lain pada kluster yang melakukan operasi PUT pada kluster, seperti memperbarui versi kluster.

Kluster Kubernetes tanpa Kubernetes RBAC diaktifkan

Jika Anda memiliki kluster Kubernetes yang tidak dikonfigurasi dengan otorisasi RBAC Kubernetes atau terintegrasi dengan akses menyeluruh Microsoft Entra, Anda tidak perlu mengikuti langkah-langkah ini. Anda sudah memiliki izin administratif secara default dalam konfigurasi non-RBAC.

Mengonfigurasi otorisasi RBAC Kubernetes

Saat Anda mengaktifkan otorisasi RBAC Kubernetes, clusterUser dan clusterAdmin digunakan untuk mengakses API Kubernetes. Konfigurasi ini mirip dengan berjalan az aks get-credentials -n {cluster_name} -g {rg_name} tanpa opsi administratif. Untuk alasan ini, clusterUser perlu diberikan akses ke titik akhir di API Kubernetes.

Contoh langkah-langkah berikut menunjukkan cara mengonfigurasi pengikatan peran kluster dari templat konfigurasi YAML ini.

  1. Salin dan tempel file YAML dan simpan sebagai LogReaderRBAC.yaml.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
       name: containerHealth-log-reader
    rules:
        - apiGroups: ["", "metrics.k8s.io", "extensions", "apps"]
          resources:
             - "pods/log"
             - "events"
             - "nodes"
             - "pods"
             - "deployments"
             - "replicasets"
          verbs: ["get", "list"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
       name: containerHealth-read-logs-global
    roleRef:
       kind: ClusterRole
       name: containerHealth-log-reader
       apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: User
      name: clusterUser
      apiGroup: rbac.authorization.k8s.io
    
  2. Untuk memperbarui konfigurasi Anda, jalankan perintah kubectl apply -f LogReaderRBAC.yaml.

Catatan

Jika Anda telah menerapkan versi sebelumnya dari file LogReaderRBAC.yaml ke kluster Anda, perbarui dengan menyalin dan menempelkan kode baru yang ditunjukkan pada langkah 1. Kemudian jalankan perintah yang ditampilkan di langkah 2 untuk menerapkannya ke kluster Anda.

Mengonfigurasi autentikasi terintegrasi Microsoft Entra

Kluster AKS yang dikonfigurasi untuk menggunakan ID Microsoft Entra untuk autentikasi pengguna menggunakan info masuk orang yang mengakses fitur ini. Dalam konfigurasi ini, Anda dapat masuk ke kluster AKS dengan menggunakan token autentikasi Microsoft Entra Anda.

Pendaftaran klien Microsoft Entra harus dikonfigurasi ulang untuk memungkinkan portal Azure mengalihkan halaman otorisasi sebagai URL pengalihan tepercaya. Pengguna dari MICROSOFT Entra ID kemudian diberikan akses langsung ke titik akhir API Kubernetes yang sama melalui ClusterRoles dan ClusterRoleBindings.

Untuk informasi lebih lanjut tentang penyiapan keamanan lanjutan di Kubernetes, tinjau dokumentasi Kubernetes.

Catatan

Jika Anda membuat kluster baru yang mendukung RBAC Kubernetes, lihat Mengintegrasikan ID Microsoft Entra dengan Azure Kubernetes Service dan ikuti langkah-langkah untuk mengonfigurasi autentikasi Microsoft Entra. Selama langkah-langkah untuk membuat aplikasi klien, catatan di bagian tersebut menyoroti dua URL pengalihan yang perlu Anda buat untuk wawasan Kontainer yang cocok dengan yang ditentukan di langkah 3.

Mengonfigurasi ulang pendaftaran klien

  1. Temukan pendaftaran klien untuk kluster Kubernetes Anda di ID Microsoft Entra di bawah ID> Microsoft Entra Pendaftaran aplikasi di portal Azure.

  2. Di panel kiri, pilih Autentikasi.

  3. Tambahkan dua URL pengalihan ke daftar ini sebagai jenis aplikasi Web. Nilai URL dasar pertama harus https://afd.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html. Nilai URL dasar kedua harus https://monitoring.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html.

    Catatan

    Jika Anda menggunakan fitur ini di Microsoft Azure yang dioperasikan oleh 21Vianet, nilai URL dasar pertama harus .https://afd.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html Nilai URL dasar kedua harus https://monitoring.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html.

  4. Setelah Anda mendaftarkan URL pengalihan, di bawah Pemberian implisit, pilih opsi Token akses dan token ID. Kemudian simpan perubahan Anda.

Anda dapat mengonfigurasi autentikasi dengan ID Microsoft Entra untuk akses menyeluruh hanya selama penyebaran awal kluster AKS baru. Anda tidak dapat mengonfigurasi akses menyeluruh untuk kluster AKS yang sudah disebarkan.

Penting

Jika Anda mengonfigurasi ulang ID Microsoft Entra untuk autentikasi pengguna dengan menggunakan URI yang diperbarui, hapus cache browser Anda untuk memastikan token autentikasi yang diperbarui diunduh dan diterapkan.

Memberikan izin

Setiap akun Microsoft Entra harus diberikan izin ke API yang sesuai di Kubernetes untuk mengakses fitur Data Langsung. Langkah-langkah untuk memberikan akun Microsoft Entra mirip dengan langkah-langkah yang dijelaskan di bagian autentikasi RBAC Kubernetes. Sebelum Anda menerapkan templat konfigurasi YAML ke kluster Anda, ganti clusterUser di bawah ClusterRoleBinding dengan pengguna yang diinginkan.

Penting

Jika pengguna yang Anda berikan pengikatan RBAC Kubernetes berada di penyewa Microsoft Entra yang sama, tetapkan izin berdasarkan userPrincipalName. Jika pengguna berada di penyewa Microsoft Entra yang berbeda, kueri dan gunakan objectId properti .

Untuk bantuan selengkapnya dalam mengonfigurasi kluster AKS ClusterRoleBinding, lihat Membuat pengikatan RBAC Kubernetes.

Langkah berikutnya

Setelah menyiapkan autentikasi, Anda dapat melihat metrik dan peristiwa dan log secara real time dari kluster Anda.