34 lines
1.5 KiB
Markdown
34 lines
1.5 KiB
Markdown
# Supply-chain security
|
|
|
|
Die offizielle GitHub-Actions-Pipeline erzeugt für den normalen und den Bulk-Container Multi-Arch-Images für `linux/amd64` und `linux/arm64`.
|
|
|
|
Für veröffentlichte Images werden zusätzlich erzeugt:
|
|
|
|
- BuildKit-Provenance (`mode=max`);
|
|
- ein SBOM-Attest;
|
|
- eine keyless Sigstore/Cosign-Signatur des Multi-Arch-Image-Digests über GitHub OIDC.
|
|
|
|
Die Signatur schützt die Herkunft eines offiziellen Image-Digests. Sie ersetzt weder die Runtime-Lizenzprüfung noch eine fachliche Verifikation einer KI-Nutzungserklärung.
|
|
|
|
## Verifikation eines offiziellen Images
|
|
|
|
Das konkrete Repository und der GitHub-Workflow müssen bei der Verifikation als erwartete Identität verwendet werden. Beispiel:
|
|
|
|
```bash
|
|
cosign verify \
|
|
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
|
|
--certificate-identity-regexp='https://github.com/OWNER/REPOSITORY/.github/workflows/ci.yml@refs/heads/main' \
|
|
ghcr.io/OWNER/REPOSITORY@sha256:...
|
|
```
|
|
|
|
Für besonders kontrollierte Produktionsumgebungen sollte ein Deployment nur freigegebene Digests verwenden und die Signatur vor dem Rollout durch eine Admission Policy oder die CI/CD-Plattform prüfen.
|
|
|
|
## Release-Prinzipien
|
|
|
|
- Deployment nach Digest statt ausschließlich nach `latest`;
|
|
- geschützte Release-Tags und Branch-Protection für `main`;
|
|
- getrennte Secrets für Runtime-Lizenz und Bulk-API-Key;
|
|
- keine privaten Lizenzschlüssel in diesem Repository;
|
|
- regelmäßige Aktualisierung der Build-Images und GitHub Actions;
|
|
- reproduzierbare Versionierung von Schema, Anwendung und Container.
|