Pengurusan Rahsia dengan GitHub
Dalami cara menyimpan dan mengakses kelayakan sensitif dengan selamat menggunakan Rahsia GitHub dan OpenID Connect (OIDC).
Pengurusan Rahsia dengan GitHub ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 2 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.
Mengapa Pengurusan Rahsia yang Selamat?
Dalam mana-mana projek perisian, anda sering perlu menggunakan maklumat sensitif seperti kunci API, bukti kelayakan pangkalan data atau token akses. Menyimpan maklumat ini secara terus dalam kod atau repositori anda merupakan risiko keselamatan yang besar.
Pengurusan rahsia ialah amalan menyimpan dan mengurus cebisan data sensitif ini dengan selamat. Amalan ini memastikan hanya sistem dan pengguna yang diberi kuasa dapat mengaksesnya, sekali gus menghalang pendedahan tanpa kebenaran.
Apakah GitHub Secrets?
GitHub menyediakan cara yang selamat untuk menyimpan maklumat sensitif yang dipanggil GitHub Secrets. Ini ialah pemboleh ubah persekitaran yang disulitkan dan boleh digunakan dalam aliran kerja GitHub Actions anda.
- Rahsia ini tidak ditulis dalam rekod secara lalai.
- Rahsia ini tidak kelihatan dalam antara muka pengguna selepas dicipta.
- Rahsia ini hanya boleh diakses oleh aliran kerja yang dipilih.
Dengan ini, bukti kelayakan anda terlindung daripada terdedah secara tidak sengaja.
Menyediakan Rahsia Repositori
Anda boleh menentukan rahsia pada tahap yang berbeza: repositori, persekitaran atau organisasi. Biasanya, anda akan bermula dengan rahsia repositori.
Untuk menciptanya:
- Pergi ke tab Tetapan repositori anda.
- Navigasi ke Rahsia dan pemboleh ubah > Tindakan.
- Klik Rahsia repositori baharu.
Berikan nama unik kepadanya (contohnya, API_KEY) dan tampalkan nilai rahsia anda.
Mengakses Rahsia dalam Aliran Kerja
Setelah rahsia ditentukan, anda boleh menggunakannya dalam fail YAML aliran kerja anda. GitHub Actions menyuntik rahsia secara automatik sebagai pemboleh ubah persekitaran ke dalam tugas anda.
Anda mengaksesnya menggunakan konteks ${{ secrets.SECRET_NAME }}. Skrip ini mensimulasikan langkah yang akan menggunakan rahsia sedemikian. Untuk menjalankannya, bayangkan MY_API_KEY ditetapkan sebagai pemboleh ubah persekitaran oleh GitHub Actions.
#!/bin/bash
# This script simulates a workflow step
# where a secret is passed as an environment variable.
echo "Attempting to use an API key..."
# In a real GitHub Action, MY_API_KEY would be
# set by ${{ secrets.MY_API_KEY }} in the workflow YAML.
if [ -z "$MY_API_KEY" ]; then
echo "Error: MY_API_KEY is not set!"
echo "Please define it as a secret in your workflow."
else
echo "Successfully accessed API key (partially shown): ${MY_API_KEY:0:5}..."
fiSkop Rahsia yang Lebih Luas
Selain rahsia repositori, GitHub menawarkan dua skop lain yang berkuasa:
- Rahsia Organisasi: Tersedia untuk berbilang repositori dalam sesebuah organisasi. Berguna untuk rahsia yang dikongsi merentas banyak projek (contohnya, token penggunaan seluruh syarikat).
- Rahsia Persekitaran: Terikat pada persekitaran penggunaan tertentu (contohnya,
staging,production). Rahsia ini boleh mempunyai peraturan perlindungan, seperti keperluan mendapatkan kelulusan manual sebelum penggunaan.
Sentiasa gunakan skop paling kecil yang diperlukan untuk keselamatan maksimum.
Apakah OpenID Connect (OIDC)?
OpenID Connect (OIDC) ialah lapisan pengesahan yang dibina berasaskan OAuth 2.0. Ia merupakan piawaian yang membolehkan klien mengesahkan identiti pengguna akhir berdasarkan pengesahan yang dilakukan oleh pelayan kebenaran.
Dalam CI/CD, OIDC membolehkan aliran kerja anda mengesahkan diri dengan penyedia awan (seperti AWS, Azure, GCP) dengan selamat tanpa perlu menyimpan bukti kelayakan berjangka panjang (seperti kunci API) sebagai GitHub Secrets.
Cara OIDC Berfungsi dengan GitHub Actions
GitHub Actions boleh bertindak sebagai penyedia OIDC. Apabila aliran kerja dijalankan, GitHub menghasilkan token OIDC yang unik dan berjangka pendek untuk tugas tertentu itu.
Token ini mengandungi tuntutan yang boleh disahkan tentang aliran kerja, seperti repositori, cawangan dan ID tugas. Penyedia awan kemudiannya boleh dikonfigurasi untuk mempercayai token yang dikeluarkan oleh GitHub dan memberikan akses sementara berdasarkan tuntutan tersebut.
Manfaat Utama OIDC
Penggunaan OIDC dengan GitHub Actions menawarkan kelebihan keselamatan yang besar:
- Tiada Bukti Kelayakan Berjangka Panjang: Anda tidak menyimpan kunci API awan statik dalam GitHub Secrets.
- Risiko Dikurangkan: Token berjangka pendek meminimumkan kesan jika token tersebut terjejas.
- Akses Terperinci: Peranan awan boleh dipetakan kepada syarat aliran kerja tertentu (contohnya, hanya benarkan penggunaan daripada cawangan
main). - Pengauditan: Lebih mudah untuk menjejaki siapa melakukan apa kerana identiti dipautkan kepada pelaksanaan aliran kerja.
Mengintegrasikan OIDC dengan Awan
Untuk menggunakan OIDC, anda perlu mengkonfigurasi penyedia awan anda (contohnya, AWS IAM, Azure AD, GCP IAM) supaya mempercayai penerbit OIDC GitHub.
Biasanya, proses ini melibatkan:
- Menyediakan Penyedia Identiti (IdP) dalam akaun awan anda.
- Menentukan Peranan/Dasar yang memberikan keizinan khusus.
- Menambahkan "Dasar Kepercayaan" pada peranan tersebut, yang membenarkan token OIDC GitHub mengambil peranan itu, selalunya dengan syarat berdasarkan tuntutan token (contohnya, hanya daripada repositori tertentu).
Aliran kerja kemudiannya meminta token dan menggunakannya untuk mengesahkan diri.
Semakan Pantas: Akses Selamat
Anda telah mempelajari GitHub Secrets untuk menyimpan data sensitif dan OpenID Connect untuk pengesahan awan tanpa bukti kelayakan.
Manakah antara pernyataan berikut tentang pengurusan rahsia GitHub Actions yang TRUE?
Ulang Kaji: Lindungi Bukti Kelayakan Anda
Bagus! Anda telah mempelajari cara mengurus data sensitif dengan selamat dalam saluran CI/CD anda.
- GitHub Secrets menyediakan penyimpanan disulitkan untuk kunci API dan token dalam repositori, organisasi atau persekitaran tertentu.
- OpenID Connect (OIDC) menawarkan cara yang lebih selamat untuk mengesahkan diri dengan penyedia awan menggunakan token berjangka pendek yang boleh disahkan, bukannya bukti kelayakan statik.
Amalan ini penting untuk membina saluran DevOps yang kukuh dan selamat.
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 “Pengurusan Rahsia dengan GitHub” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Pengurusan Rahsia dengan GitHub”, 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 “Pengurusan Rahsia dengan GitHub”?
Dalami cara menyimpan dan mengakses kelayakan sensitif dengan selamat menggunakan Rahsia GitHub dan OpenID Connect (OIDC). 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 2 daripada 4.
Berapa lamakah pelajaran “Pengurusan Rahsia dengan GitHub” 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
- Amalan Terbaik Keselamatan dalam CI/CD
- Pengurusan Rahsia dengan GitHub
- Ujian Keselamatan Aplikasi Statik (SAST)
- Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)