Peta dunia

 

EN: Read in English

Dunia C2: Pipeline Container

SBOM dan provenance dalam CI

Anda akan belajar: hantar senarai ramuan dan label "dibuat di sini" yang ditandatangani.

Teks BM belum disemak oleh penutur asli.

Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026

Masalahnya

Seorang pelanggan tanya dua soalan. Apa ada dalam pek ini? Dan betulkah dapur anda yang buat?

Pilih satu jawapan.

Tengok

SBOM: Senarai bahan perisian: label ramuan. Ia senaraikan setiap pakej dan versi di dalamnya. ialah senarai ramuan: setiap pakej dan versinya. Provenance beritahu di mana dan bagaimana pek dibuat. Susun yang ini.

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

      Tengok

      Ketik baris yang tandatangani label "dibuat di sini".

      0 daripada 1 dijumpai

      sbom: true bungkus senarai ramuan bersama image. actions/attest tandatangani kenyataan provenance: Label "dibuat di sini" yang ditandatangani: repo, commit dan workflow mana yang bina image ini. untuk image yang tepat itu. Ia disimpan di sebelah image dalam GHCR.

      Cuba

      Tekan Run. Tandatangan gagal. Beri job ini kunci yang tiada.

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

      Apa yang berlaku di GitHub

      Fail workflow .github/workflows/publish.yml

      name: Publish
      on:
      push:
      branches: [main]
      jobs:
      image:
      runs-on: ubuntu-latest
      permissions:
      contents: read
      packages: write
      steps:
      - uses: docker/setup-buildx-action@v4
      - uses: docker/login-action@v4
      with:
      registry: ghcr.io
      username: ${{ github.actor }}
      password: ${{ secrets.GITHUB_TOKEN }}
      - id: push
      uses: docker/build-push-action@v7
      with:
      push: true
      sbom: true
      tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
      - uses: actions/attest@v4
      with:
      subject-name: ghcr.io/${{ github.repository }}
      subject-digest: ${{ steps.push.outputs.digest }}
      push-to-registry: true
      

      Kuning: baris 8–10. Anda boleh ubah baris ini.

      Pilih satu pembetulan

      Tali sawat

      Push ke main · main

      Teka

      Kenapa tandatangan perlukan id-token: write?

      Pilih satu jawapan.

      Semak

      Sesiapa boleh semak label itu. Bina arahannya.

      Ketik kepingan ikut turutan yang betul.

      …

      Anda berjaya!

      Kini anda boleh hantar SBOM dan provenance bertandatangan dengan setiap image.

      Nak tahu lebih (pilihan)

      Attestation sahaja capai SLSA Build Level 2. Build dalam reusable workflow boleh capai Level 3. Repo awam catat tandatangan dalam log awam Sigstore. Repo peribadi guna Sigstore milik GitHub. Untuk fail SBOM, actions/attest terima sbom-path.

      Latihan sebenar (pilihan):

      Misi sebenar

      1. gh attestation verify oci://ghcr.io/YOUR-NAME/YOUR-REPO:main -R YOUR-NAME/YOUR-REPO

      0 daripada 3 langkah siap · Tanda anda disimpan.