EN: Read in English
Dunia 7: Robot: Actions & CI/CD
Jaga keselamatan workflow
Anda akan belajar: cara beri robot anda kuasa yang ia perlukan sahaja.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Workflow anda boleh baca rahsia dan ubah repo anda. Apa-apa kod yang ia jalankan dapat kuasa itu juga. Siapa boleh salah guna kuasa itu?
Pilih satu jawapan.
Tengok
Ketik setiap titik pada garis masa.
Setiap job dapat kunci baru: GITHUB_TOKEN: Kunci jangka pendek yang setiap job dapat. Ia tamat bila job selesai.. Ia hanya berfungsi dalam repo ini. Ia berhenti berfungsi bila job tamat.
Tengok
permissions (kebenaran) (permissions): Senarai apa yang GITHUB_TOKEN boleh buat, contohnya baca kod atau tulis ke Pages. (kebenaran) tentukan apa kunci itu boleh buat. Beri apa yang job perlu sahaja. Senaraikan sebahagian, yang lain jadi none. Setiap job perlukan yang mana?
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Teka
Satu job ada contents: read sahaja. Satu langkah jahat cuba push kod. Apa jadi?
Pilih satu jawapan.
Cuba
Cari risikonya. Ketik setiap baris yang berisiko.
Ketik setiap baris yang berisiko.
0 daripada 3 dijumpai
Petunjuk
Cari kuasa berlebihan, versi yang boleh beralih, dan rahsia yang terdedah.Tengok
pull_request_target berjalan dengan rahsia anda dan kunci tulis, walaupun pada PR orang asing. Jadi jangan sekali-kali jalankan kod mereka di situ. Trigger mana patut uji kod PR orang asing?
Pilih satu jawapan.
Semak
Tabiat selamat, atau berisiko? Leret setiap satu.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Mulakan setiap workflow dengan contents: read
Anda berjaya!
Kini anda boleh kunci workflow dengan ketat.
Nak tahu lebih (pilihan)
Teks dari orang asing, contohnya tajuk PR, boleh selitkan arahan ke dalam run:. Letak dalam env: dulu, kemudian guna "$TITLE" dalam skrip. persist-credentials: false pada checkout simpan kunci itu di luar config Git repo. Workflow kursus ini sendiri buat begitu.
English
Your workflow can read secrets and change your repo. Any code it runs gets those powers too. Who could misuse them?
Each job gets a fresh key: the GITHUB_TOKEN. It only works in this repo. It stops working when the job ends.
permissions: says what that key may do. Give only what the job needs. List some, and the rest become none. Which one does each job need?
A job has only contents: read. A bad step tries to push code. What happens?
Spot the risks. Tap every risky line.
pull_request_target runs with your secrets and a write key. Even on a stranger’s PR! So never run their code there. Which trigger should test a stranger’s PR code?
Safe habit, or risky? Swipe each one.
You can now lock down a workflow.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Secure use reference · GITHUB_TOKEN · Workflow syntax: permissions
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?