Kem Intensif DevOps · Pelajaran

Akaun Perkhidmatan dan Identiti Beban Kerja

Pelajari cara Akaun Perkhidmatan memberikan identiti tersendiri kepada Pod, cara tokennya berfungsi dan cara memberikan akses keistimewaan minimum.

Pelajaran 4 daripada 413 langkah

Akaun Perkhidmatan dan Identiti Beban Kerja ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Identiti untuk Beban Kerja

Pengguna mengesahkan identiti kepada Kubernetes, tetapi Pod juga memerlukan identiti supaya dapat berkomunikasi dengan pelayan API dengan selamat. Identiti itu ialah Akaun Perkhidmatan.

Apakah Service Account?

ServiceAccount ialah objek berskop ruang nama yang mewakili identiti sesuatu beban kerja. Setiap Pod berjalan menggunakan satu ServiceAccount, dengan nilai lalai default jika anda tidak menentukannya.

apiVersion: v1
kind: ServiceAccount
metadata:
  name: report-generator
  namespace: analytics

Menetapkan Akaun Perkhidmatan pada Pod

Tetapkan serviceAccountName dalam spesifikasi Pod untuk menjalankannya menggunakan identiti tertentu.

apiVersion: v1
kind: Pod
metadata:
  name: reporter
spec:
  serviceAccountName: report-generator
  containers:
  - name: app
    image: reporter:1.0

Token yang Dipasang

Kubernetes memasang token JWT berjangka pendek untuk ServiceAccount ke dalam Pod, yang digunakan untuk mengesahkan panggilan API.

# inside the Pod
cat /var/run/secrets/kubernetes.io/serviceaccount/token

Mengapa Akaun Lalai Berisiko

ServiceAccount default dikongsi oleh semua Pod dalam ruang nama. Memberikannya kebenaran akan mendedahkan segala-galanya secara berlebihan. Sebaiknya gunakan akaun khusus bagi setiap beban kerja.

Melumpuhkan Pemasangan Token Automatik

Jika sesuatu Pod tidak pernah memanggil API, lumpuhkan pemasangan token untuk mengurangkan permukaan serangan.

apiVersion: v1
kind: Pod
metadata:
  name: no-api-pod
spec:
  automountServiceAccountToken: false
  containers:
  - name: app
    image: myapp:1.0

Memberikan Kebenaran dengan RBAC

Service Account tidak mempunyai kuasa sehingga anda mengikatnya kepada peranan. Subjek RoleBinding ialah Service Account tersebut.

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: reporter-read
  namespace: analytics
subjects:
- kind: ServiceAccount
  name: report-generator
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

Keistimewaan Minimum dalam Amalan

  • Satu Service Account bagi setiap beban kerja
  • Berikan hanya kata kerja dan sumber yang benar-benar diperlukannya
  • Hadkan skop kepada ruang nama dengan peranan jika boleh, bukan ClusterRole

Token Terikat dan Diunjurkan

Token moden diunjurkan dan terikat kepada tempoh hayat Pod, dengan tempoh luput yang pendek. Token ini diputar secara automatik, jadi token yang bocor jauh kurang berbahaya berbanding rahsia lama yang kekal lama.

Identiti Beban Kerja dalam Awan

Platform awan memetakan ServiceAccount Kubernetes kepada identiti IAM awan (contohnya IRSA pada AWS dan Workload Identity pada GKE), supaya Pod boleh mengakses sumber awan tanpa menyimpan kelayakan statik.

metadata:
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::123:role/report-role

Mengesahkan Kebenaran

Gunakan kubectl auth can-i dengan menyamar sebagai Service Account untuk mengesahkan bahawa akaun itu mempunyai tepat akses yang anda jangkakan.

kubectl auth can-i list pods \
  --as=system:serviceaccount:analytics:report-generator \
  -n analytics

Semakan Pantas

Uji pemahaman anda tentang Service Account.

Rumusan

Anda telah mempelajari bahawa ServiceAccount memberikan identiti tersendiri kepada Pod, disokong oleh token terunjur berjangka pendek. Gunakan keistimewaan minimum dengan akaun khusus bagi setiap beban kerja, berikan akses melalui ikatan RBAC, lumpuhkan pemasangan token apabila tidak digunakan dan petakan akaun kepada IAM awan untuk akses tanpa kelayakan.

Percuma untuk bermula

Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
142
Pelajaran
568

Soalan Lazim

Adakah pelajaran “Akaun Perkhidmatan dan Identiti Beban Kerja” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Akaun Perkhidmatan dan Identiti Beban Kerja”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Akaun Perkhidmatan dan Identiti Beban Kerja”?

Pelajari cara Akaun Perkhidmatan memberikan identiti tersendiri kepada Pod, cara tokennya berfungsi dan cara memberikan akses keistimewaan minimum. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Akaun Perkhidmatan dan Identiti Beban Kerja” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?

Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Kawalan Akses Berasaskan Peranan (RBAC)
  2. Dasar Rangkaian untuk Pengasingan
  3. Piawaian Keselamatan Pod
  4. Akaun Perkhidmatan dan Identiti Beban Kerja
← Kembali ke Kem Intensif DevOps