Akaun Perkhidmatan dan Identiti Beban Kerja
Pelajari cara Akaun Perkhidmatan memberikan identiti tersendiri kepada Pod, cara tokennya berfungsi dan cara memberikan akses keistimewaan minimum.
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: analyticsMenetapkan 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.0Token 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/tokenMengapa 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.0Memberikan 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.ioKeistimewaan 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-roleMengesahkan 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 analyticsSemakan 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.
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
- Kawalan Akses Berasaskan Peranan (RBAC)
- Dasar Rangkaian untuk Pengasingan
- Piawaian Keselamatan Pod
- Akaun Perkhidmatan dan Identiti Beban Kerja