不可變身分
SHA-256 摘要確保升級的產出物與掃描的產出物位元組相同,並且
摘要優先版本控制
發行是在建立時解決的OCI開放容器計畫 — 容器映像格式和登錄中心的業界標準 摘要捆綁。標籤是人類可讀的別名;摘要是加密真理。
這對您的業務意味著什麼
保證測試內容與部署內容完全一致——逐位元組對應。不可變內容雜湊消除標籤漂移,為稽核員提供防篡改的部署驗證。
可變標籤會造成模糊性。同一個標籤隨時間可能指向不同的內容。Digest-first基於不可變內容雜湊(SHA-256摘要)而非可變標籤的發行識別——確保逐位元組一致的部署 版本控制消除了這種不確定性。
SHA-256 摘要確保升級的產出物與掃描的產出物位元組相同,並且
對產出物的任何修改都會更改其摘要。拉動時間不匹配 = 部署失敗。篡改是不可能隱藏的。
通過連結掃描、核准和部署的加密證明,準確了解哪個產出物部署在何處、何時以及為何。
回滾返回到精確的已知良好摘要,而不是“無論什麼:到目前為止的最新點”。保證相同位元組。
Stella 中的版本捆綁了多個元件,每個元件均由其 OCI開放容器計畫 — 容器映像格式和登錄中心的業界標準 摘要識別。該版本本身俱有便於人類閱讀的語義版本。
示例發行包
Release: myapp-v2.3.1
元件:
api: sha256:abc123...
worker: sha256:def456...
frontend: sha256:789abc...
從CLI
$ stella release show myapp-v2.3.1 --json
當您建立版本時,Stella 立即將所有標籤解析為其當前摘要。從那一刻起,發行就不再可變。
不變性保證
建立版本後,其摘要集就無法更改。每次都會將完全相同的位元組部署到每個環境。
每個部署都會產生不可變的產出物,從而實現可重複性、審核和回滾。
Docker Compose文件,其中所有映像引用都固定到特定摘要。包括用於可追溯性的 Stella 元資料標籤。
image: registry.example.com/myapp/api@sha256:abc123...
labels:
stella.release.id: "rel-uuid"
stella.digest: "sha256:abc123..."
放置在部署目標上的 JSON 元資料文件,指示當前版本、元件、部署策略,以及用於回滾的先前版本。
"release": { "name": "myapp-v2.3.1" }
"deployment": { "strategy": "rolling" }
"previous": { "digest": "sha256:789..." }
"signature": "base64-encoded-signature"
每個版本都將安全證據與正在部署的確切摘要綁定在一起。證據通過推進隨著發行而傳播。
| 證據欄位 | 內容 |
|---|---|
| sbomDigest | 為此摘要產生的 SBOM軟體物料清單 - 軟體中所有套件和相依性的完整列表 的 SHA-256 |
| scanVerdict | 帶有證據參考的策略評估的通過/失敗結果 |
| reachabilityProof | 此摘要的簽名可達性圖的 CAS URI |
| policyHash | 用於評估的策略版本的雜湊 |
確定性重播:給定相同的版本和策略雜湊,重新評估會產生位相同的判決。稽核人員可以在幾個月後驗證決策。
安裝 Stella Ops 並通過具有完整證據綁定的內容雜湊開始版本控製版本。