Peta dunia

 

EN: Read in English

Dunia C4: Perisai Pipeline

Hak paling sedikit dengan permissions

Anda akan belajar: cara beri setiap job kunci yang ia perlukan sahaja dengan permissions.

Teks BM belum disemak oleh penutur asli.

Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026

Masalahnya

Job release anda jadi merah dengan ralat ini:

HTTP 403: Resource not accessible by integration

Apa maksudnya?

Pilih satu jawapan.

Tengok

Setiap job dapat kad kunci: GITHUB_TOKEN: Kunci jangka pendek yang setiap job dapat. Ia tamat bila job selesai.. permissions: pilih pintunya. Buka hanya yang job perlukan. Itulah least privilege: Beri setiap pekerja kunci untuk stesennya sahaja. Tiada lebih. (hak paling sedikit).

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

        Tengok

        permissions: {} di atas tak beri sebarang kunci. Kemudian setiap job minta kuncinya sendiri. Senaraikan sesetengah kunci, dan kunci lain jadi none.

        Tekan baris yang benarkan job buat release.

        0 daripada 1 dijumpai

        Cuba

        Push tag v1.4.0. Langkah release ditolak. Pilih pembaikan paling kecil yang jadikannya hijau.

        Tali sawat merah. Betulkan baris kuning, kemudian run semula.

        Apa yang berlaku di GitHub

        Fail workflow .github/workflows/release.yml

        name: Release
        on:
        push:
        tags: ['v*']
        permissions:
        contents: read
        jobs:
        release:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v7
        - run: npm ci
        - run: npm test
        - run: gh release create "$GITHUB_REF_NAME" --generate-notes
        env:
        GH_TOKEN: ${{ github.token }}
        

        Kuning: baris 5–6. Anda boleh ubah baris ini.

        Pilih satu pembetulan

        Tali sawat

        Push tag v1.4.0 · v1.4.0

        Teka

        Job PR anda ada pull-requests: write. Orang asing buka PR dari fork. Ia jalan pada pull_request. Boleh ia komen?

        Pilih satu jawapan.

        Cuba

        Bina ia. Fail hanya baca kod. Job tambah satu pintu: komen PR. Kunci job ganti kunci fail, jadi senaraikan kedua-duanya.

        Tekan blok untuk tambah. Susun ikut urutan.

        Blok

        Workflow anda

        Tekan satu blok di atas untuk mula.

        Fail workflow .github/workflows/

        name: PR report
        

        Apa yang berjalan

        Belum ada apa untuk dijalankan.

        Anda berjaya!

        Kini anda boleh beri setiap job kunci yang ia perlukan sahaja.

        Nak tahu lebih (pilihan)

        Tetapan repo juga pilih kunci lalai: baca sahaja, atau baca dan tulis. Jangan percaya nilai lalai. Tulis permissions: dalam setiap workflow. Tip: pecahkan release kepada job test dan job release. Hanya job release dapat contents: write. Latihan sebenar: tambah permissions: dengan contents: read pada satu workflow anda.