国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【筆記】Helm-3 主題-5 Helm來(lái)源和完整性

這篇具有很好參考價(jià)值的文章主要介紹了【筆記】Helm-3 主題-5 Helm來(lái)源和完整性。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Helm來(lái)源和完整性

Helm有一個(gè)來(lái)源工具幫助chart用戶檢測(cè)包的完整性和來(lái)源。使用基于PKI,GnuPG及流行包管理器的行業(yè)標(biāo)準(zhǔn)工具,Helm可以生成和檢測(cè)簽名文件。

概述

完整性是通過(guò)比較chart的出處記錄來(lái)建立的。出處記錄存儲(chǔ)在出處文件,和打包好的chart放在一起。比如,如果有個(gè)名為myapp-1.2.3.tgz的chart,則它的出處文件是myapp-1.2.3.tgz.prov。

出處文件會(huì)在打包時(shí)生成(helm package --sign...),并可以通過(guò)多重命名檢查,尤其是helm install --verify。

工作流

這部分描述有效使用源數(shù)據(jù)的潛在工作流。

前置條件:

1、合法的二進(jìn)制格式(非ASCII包裹)的PGP密鑰對(duì)

2、helm命令行工具

3、GnuPG命令行工具(可選)

4、Keybase命令行工具(可選)

注意:如果您的PGP私鑰有密碼,系統(tǒng)將提示您為所有支持 --sign選項(xiàng)的命令輸入密碼。

創(chuàng)建新的chart與之前一樣:

$ helm create mychart

$ helm create mychart
Creating mychart

一旦準(zhǔn)備好打包了,使用helm package命令時(shí)添加 --sign 參數(shù),并且指定一已知的字符串key和包含相對(duì)應(yīng)私鑰的密鑰環(huán):

$ helm package --sign --key 'John Smith' --keyring path/to/keyring.secret mychart

$ helm package --sign --key 'John Smith' --keyring path/to/keyring.secret mychart

注意:--key參數(shù)的值必須是對(duì)應(yīng)key的uid(在gpg --list-keys輸出列表中)的字符串,比如名字或者email。指紋碼不能使用。

提示:針對(duì)GunPG用戶,您的私鑰的keyring在~/.gnupg/secring.gpg。您可以使用gpg --list-secret-keys列出您需要的key。

警告:GnuPG v2版在默認(rèn)位置~/.gnupg/pubring.kbx使用了新格式kbx存儲(chǔ)私鑰的keyring。使用以下命令將您的keyring轉(zhuǎn)換到傳統(tǒng)的gpg格式:

$ gpg --export >~/.gnupg/pubring.gpg

$ gpg --export-secret-keys >~/.gnupg/secring.gpg

$ gpg --export >~/.gnupg/pubring.gpg
$ gpg --export-secret-keys >~/.gnupg/secring.gpg

此時(shí),您應(yīng)該同時(shí)看到了mychart-0.1.0.tgz和mychart-0.1.0.tgz.prov。這兩個(gè)文件最終都會(huì)被上傳到對(duì)應(yīng)的chart倉(cāng)庫(kù)。

您可以使用helm verify驗(yàn)證chart:

$ helm verify mychart-0.1.0.tgz

$ helm verify mychart-0.1.0.tgz

失敗的驗(yàn)證如下:

$ helm verify topchart-0.1.0.tgz

$ helm verify topchart-0.1.0.tgz
Error: sha256 sum does not match for topchart-0.1.0.tgz: "sha256:1939fbf7c1023d2f6b865d137bbb600e0c42061c3235528b1e8c82f4450c12a7" != "sha256:5a391a90de56778dd3274e47d789a2c84e0e106e1a37ef8cfa51fd60ac9e623a"

在安裝時(shí)同時(shí)驗(yàn)證,使用--verify參數(shù)。

$ helm install --generate-name --verify mychart-0.1.0.tgz

$ helm install --generate-name --verify mychart-0.1.0.tgz

如果keyring包含的與簽名chart關(guān)聯(lián)的公鑰不在默認(rèn)位置,需要在打包helm package時(shí)使用--keyring PATH指定keyring的path。

如果驗(yàn)證失敗,chart的安裝會(huì)在渲染前終止。

使用Keybase.io證書(shū)

Keybase.io 服務(wù)使得建立加密身份的信任鏈變得很容易。

Keybase

前置條件:

1、配置Keybase.io賬戶

2、本地已安裝GnuPG

3、本地已安裝keybase CLI

對(duì)包簽名

第一步是將keybase密鑰導(dǎo)入本地的GnuPG的密鑰環(huán)keyring:

$ keybase pgp export -s | gpg --import

這會(huì)將您的Keybasee密鑰轉(zhuǎn)成OpenPGP格式,然后將其導(dǎo)入本地的~/.gnupg/secring.gpg文件

可以運(yùn)行g(shù)pg --list-secret-keys 進(jìn)行雙重檢測(cè)。

$ gpg --list-secret-keys

$ gpg --list-secret-keys
/Users/mattbutcher/.gnupg/secring.gpg
-------------------------------------
sec   2048R/1FC18762 2016-07-25
uid                  technosophos (keybase.io/technosophos) <technosophos@keybase.io>
ssb   2048R/D125E546 2016-07-25

注意您的密鑰會(huì)有一個(gè)表示字符串:

technosophos (keybase.io/technosophos) <technosophos@keybase.io>

這個(gè)是密鑰的全名。

然后,可以使用helm package打包和簽名。確保在--key參數(shù)中使用名稱的一部分。

$ helm package --sign --key technosophos --keyring ~/.gnupg/secring.gpg mychart

$ helm package --sign --key technosophos --keyring ~/.gnupg/secring.gpg mychart

package命令會(huì)生成一個(gè).tgz文件和一個(gè).tgz.prov文件。

驗(yàn)證包

您可以使用類(lèi)似的方法驗(yàn)證被其他Keybase密鑰簽名的chart。

比如您要驗(yàn)證使用keybase.io/technosophos簽名的包,可使用keybase工具:

$ keybase follow technosophos

$ keybase gpg pull

上面第一個(gè)命令追蹤了用戶technosophos。然后使用keybase gpg pull下載您追蹤的所有賬戶的OpenPGP密鑰,并把他們放置在GnuPG密鑰環(huán)中(~/.gnupg/pubring.gpg)。

此時(shí),就可以使用helm verify 或者其他帶--verify的命令:

$ helm verify somechart-1.2.3.tgz

chart無(wú)法驗(yàn)證的原因

一般失敗的原因有這些:

1、The .prov file is missiong or corrupt.說(shuō)明有配置錯(cuò)誤或者原有維護(hù)者沒(méi)有創(chuàng)建源文件。

2、The key used to sign the file is not in your keyring.說(shuō)明這個(gè)簽名chart的密鑰不是您已經(jīng)注明為信任的密鑰。

3、The verification of the .prov file failed.這說(shuō)明chart或者源數(shù)據(jù)有錯(cuò)誤。

4、The file hashes in the provenance file do not match the hash of the archive file.表明chart包已經(jīng)被篡改。

如果驗(yàn)證失敗,就有理由不信任該包。

來(lái)源文件

來(lái)源文件包含chart的YAML文件加上一些驗(yàn)證信息。來(lái)源文件會(huì)自動(dòng)生成。

會(huì)添加下列源數(shù)據(jù):

1、chart文件(Chart.yaml)讓人和工具都可以看到chart中的內(nèi)容。

2、chart包(.tgz文件)簽名(SHA256,就像Docker),可以用來(lái)驗(yàn)證額chart包的完整性。

3、使用了OpenGPG算法簽名所有內(nèi)容(查看 Keybase.io ,一種使簽名和驗(yàn)證更簡(jiǎn)單的新式方法)。

Keybase

這些內(nèi)容的結(jié)合給予了用戶以下保證:

1、包本身不會(huì)被篡改(.tgz包的校驗(yàn)和)。

2、發(fā)布包的人是可知的(通過(guò)GnuPG/PGP簽名)。

文件格式類(lèi)似這樣:

Hash: SHA512

apiVersion: v2
appVersion: "1.16.0"
description: Sample chart
name: mychart
type: application
version: 0.1.0

...
files:
  mychart-0.1.0.tgz: sha256:d31d2f08b885ec696c37c7f7ef106709aaf5e8575b6d3dc5d52112ed29a9cb92
-----BEGIN PGP SIGNATURE-----

wsBcBAEBCgAQBQJdy0ReCRCEO7+YH8GHYgAAfhUIADx3pHHLLINv0MFkiEYpX/Kd
nvHFBNps7hXqSocsg0a9Fi1LRAc3OpVh3knjPfHNGOy8+xOdhbqpdnB+5ty8YopI
mYMWp6cP/Mwpkt7/gP1ecWFMevicbaFH5AmJCBihBaKJE4R1IX49/wTIaLKiWkv2
cR64bmZruQPSW83UTNULtdD7kuTZXeAdTMjAK0NECsCz9/eK5AFggP4CDf7r2zNi
hZsNrzloIlBZlGGns6mUOTO42J/+JojnOLIhI3Psd0HBD2bTlsm/rSfty4yZUs7D
qtgooNdohoyGSzR5oapd7fEvauRQswJxOA0m0V+u9/eyLR0+JcYB8Udi1prnWf8=
=aHfz
-----END PGP SIGNATURE-----

注意YAML部分包含了兩個(gè)文檔,(用...\n分隔)。第一個(gè)文檔是Chart.yaml內(nèi)容。第二個(gè)是文件內(nèi)容打包時(shí)文件名的SHA256校驗(yàn)和。

簽名是標(biāo)準(zhǔn)的PGP,用于 防篡改。

David Ross -- PGP -- Digital Signatures

Chart倉(cāng)庫(kù)

Chart倉(cāng)庫(kù)是一個(gè)Helm chart的集合。

Chart倉(cāng)庫(kù)必須要保證通過(guò)指定的http請(qǐng)求提供源文件,同時(shí)要確保使用同樣URL路徑的chart是可用的。

比如,如果包的基礎(chǔ)URL是https://example.com/charts/mychart-1.2.3.tgz,則若是存在的源文件地址https://example.com/charts/mychart-1.2.3.tgz.prov必需能訪問(wèn)。

從終端用戶的角度來(lái)看,helm install --verify myrepo/mychart-1.2.3應(yīng)該同時(shí)下載chart和源文件,且不需要額外的用戶配置或操作。

建立權(quán)威和真實(shí)性

當(dāng)處理信任鏈系統(tǒng)時(shí),建立簽名者的權(quán)威變得非常重要。或者簡(jiǎn)單來(lái)說(shuō),上面的系統(tǒng)實(shí)際上取決于您信任的簽名chart的人。也就意味著您需要信任簽名者的公鑰。

Helm的一個(gè)設(shè)計(jì)決策是Helm項(xiàng)目不會(huì)將自己作為必須的一方插入到信任鏈中。我們不想針對(duì)所有的chart簽名者成為“證書(shū)頒發(fā)機(jī)構(gòu)”,而是更喜歡分布式模型,這是我們選擇OpenPGP作為我們的基礎(chǔ)技術(shù)的原因之一。所以在建立權(quán)威的問(wèn)題上,在chart 2中或多或少?zèng)]有定義這一步(會(huì)在接下來(lái)的Helm 3中決定)。

當(dāng)然,對(duì)于使用源系統(tǒng)感興趣的人,我們有一些提示和建議:

Keybase平臺(tái)為可靠信息提供了一個(gè)公共的中心化的倉(cāng)庫(kù)。

Keybase

1、您可以使用Keybase存儲(chǔ)您的key或者獲取其他人的公鑰。

2、Keybase還有非常好的文檔

3、我們還沒(méi)有測(cè)試的時(shí)候,Keybas的“安全站點(diǎn)”特性可以提供Helm chart。

4、基礎(chǔ)想法是一個(gè)官方“chart審核人”使用他(她)的私鑰簽名,然后上傳源文件到chart倉(cāng)庫(kù)。

5、該想法的一些做法是在倉(cāng)庫(kù)的index.yaml文件中列出一些合法的密鑰。

————————————

僅用于本人學(xué)習(xí)

來(lái)源:Helm | Docs文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-800090.html

到了這里,關(guān)于【筆記】Helm-3 主題-5 Helm來(lái)源和完整性的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • mysql索引--普通索引,唯一索引,主鍵索引,參照完整性約束,數(shù)據(jù)完整性約束

    -- 方法1:create index -- 對(duì)employee表的員工部門(mén)號(hào)列創(chuàng)建普通索引depart_ind -- create index depart_ind on employees(員工部門(mén)號(hào)); -- 對(duì)employee表的姓名和地址列創(chuàng)建復(fù)合索引ad_ind; -- create index ad_ind on employees(姓名,地址); -- 對(duì)departments表的部門(mén)名稱列創(chuàng)建唯一索引un_ind; -- create unique index un_ind

    2023年04月21日
    瀏覽(22)
  • 5.1 實(shí)體完整性

    5.1 實(shí)體完整性

    第5章 數(shù)據(jù)庫(kù)完整性筆記 定義 : 完整性 :確保數(shù)據(jù)的正確性和相容性。 正確性 :數(shù)據(jù)與現(xiàn)實(shí)世界語(yǔ)義相符、反映實(shí)際狀況。 相容性 :同一對(duì)象在數(shù)據(jù)庫(kù)的不同關(guān)系表中數(shù)據(jù)邏輯上是一致的。 示例 : 學(xué)號(hào)唯一性。 性別限定為男或女。 本科學(xué)生年齡為14-50之間的整數(shù)。 學(xué)

    2024年02月06日
    瀏覽(23)
  • 2.4數(shù)據(jù)完整性驗(yàn)證

    2.4數(shù)據(jù)完整性驗(yàn)證

    1.數(shù)據(jù)完整性概述 數(shù)據(jù)完整性指數(shù)據(jù)不會(huì)被非授權(quán)更改或破壞,如篡改、刪除、插入等 主要類(lèi)型:帶恢復(fù)的連接完整性、不帶恢復(fù)的連接完整性、選擇字段連接完整性、無(wú)連接完整性、選擇字段無(wú)連接完整性 主要實(shí)現(xiàn)技術(shù):基于密碼技術(shù)的完整性保護(hù)和基于非密碼技術(shù)的完

    2024年02月08日
    瀏覽(31)
  • 數(shù)據(jù)安全—數(shù)據(jù)完整性校驗(yàn)

    數(shù)據(jù)安全—數(shù)據(jù)完整性校驗(yàn)

    1、數(shù)據(jù)安全保障三要素即 保密性 完整性、可用性 機(jī)密性:要求數(shù)據(jù)不被他人輕易獲取,需要進(jìn)行數(shù)據(jù)加密。 完整性:要求數(shù)據(jù)不被他人隨意修改,需要進(jìn)行簽名技術(shù) 可用性:要求服務(wù)不被他人惡意攻擊,需要進(jìn)行數(shù)據(jù)校驗(yàn) 2、為保證數(shù)據(jù)完整性如下圖所示 1)將要提交的參

    2024年02月09日
    瀏覽(21)
  • mac m1關(guān)閉sip系統(tǒng)完整性保護(hù)csrutil disable,如何禁用mac m1的系統(tǒng)完整性保護(hù)

    mac m1關(guān)閉sip系統(tǒng)完整性保護(hù)csrutil disable,如何禁用mac m1的系統(tǒng)完整性保護(hù)

    mac安裝軟件會(huì)出現(xiàn): 請(qǐng)與開(kāi)發(fā)者聯(lián)系,以確定“MinitabExpress可以配合此macoS版本使 用 顯示: 表示設(shè)置成功,重啟后生效

    2024年02月10日
    瀏覽(26)
  • 信號(hào)完整性分析學(xué)習(xí)--17--反射

    信號(hào)完整性分析學(xué)習(xí)--17--反射

    ????????上一節(jié)重點(diǎn)介紹了傳輸線的阻抗的概念,這是分析傳輸線的基礎(chǔ),也是信號(hào)完整性的基礎(chǔ)。這一節(jié)重點(diǎn)介紹最重要的傳輸線效應(yīng)--反射,以及如何消除反射的影響。 ????????上一節(jié)的最后,講到輸入阻抗概念的時(shí)候,我們已經(jīng)知道負(fù)載端阻抗與傳輸線的阻抗的

    2024年02月07日
    瀏覽(31)
  • 信號(hào)完整性相關(guān)基礎(chǔ)知識(shí)

    信號(hào)完整性相關(guān)基礎(chǔ)知識(shí)

    一、GHz傳輸鏈路信號(hào)損耗的特征,高頻和低頻分量信號(hào)損耗問(wèn)題 ? 1. 信號(hào)沿 FR4 傳播,兩種有功損耗 : 導(dǎo)體損耗和介質(zhì)損耗兩種損耗的高頻衰減大于低頻衰減。當(dāng)信號(hào)傳播 4in 長(zhǎng)時(shí), 8GHz 以上高頻分量的功率衰減量大于 50 %,而對(duì)低頻分量的影響卻小得多。 ? 2.FR4 板上 4i

    2024年02月08日
    瀏覽(27)
  • MySQL數(shù)據(jù)庫(kù)完整性

    數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性。 數(shù)據(jù)的正確性是指數(shù)據(jù)符合現(xiàn)實(shí)世界語(yǔ)義,反映當(dāng)前實(shí)際情況;數(shù)據(jù)的相容性是指數(shù)據(jù)庫(kù)在同一對(duì)象的不同關(guān)系表中的數(shù)據(jù)是符合邏輯的。 數(shù)據(jù)的完整性:為了防止數(shù)據(jù)庫(kù)中存在不和語(yǔ)義的數(shù)據(jù) 數(shù)據(jù)的安全性:為了保護(hù)數(shù)據(jù)庫(kù)防

    2024年02月15日
    瀏覽(28)
  • 二級(jí)MySQL(四)——完整性約束

    二級(jí)MySQL(四)——完整性約束

    一種規(guī)則,限制存儲(chǔ)的數(shù)據(jù) 保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確,有效和完整 分類(lèi): 非空——得有值——NOT NULL 唯一——唯一的,不重復(fù)——UNIQUE 主鍵——非空且唯一——PRIMARY KEY 默認(rèn)——給出默認(rèn)值——DEFAULT 檢查——保證某個(gè)條件——CHECK 外鍵——兩張表的連接——FOREIGN KEY 主鍵

    2024年02月11日
    瀏覽(21)
  • 5.4 完整性約束命名子句

    5.4 完整性約束命名子句

    ? 定義 : 完整性約束是在 CREATE TABLE 語(yǔ)句中定義的。 SQL為 CREATE TABLE 語(yǔ)句提供了 CONSTRAINT 子句,用于對(duì)完整性約束進(jìn)行命名。 命名的目的是方便增加或刪除約束。 基本結(jié)構(gòu) : 其中,完整性約束條件可以是NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK等。 示例 : 學(xué)生登記表 Student

    2024年02月06日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包