npm 使用安全令牌

2021-10-29 10:47 更新

每當(dāng)你登錄 npm 時(shí),都會(huì)生成一個(gè)安全令牌。令牌驗(yàn)證你的帳戶,并授予你發(fā)布和訪問模塊的權(quán)利。

因?yàn)榱钆浦皇且粋€(gè)十六進(jìn)制字符串,你可以在其他工具(例如持續(xù)集成測試環(huán)境)中使用該令牌,以便該工具可以使用完成任務(wù)所需的訪問權(quán)限運(yùn)行。例如,Travis-CI 提供了一個(gè)可以分配給令牌值的環(huán)境變量。這使Travis-CI能夠以你的 npm 用戶身份運(yùn)行 npm,包括安裝你有權(quán)訪問的私有包的能力。

通過閱讀本章內(nèi)容,來了解如何管理安全令牌。

注意:如果你希望將令牌用于測試和其他特殊目的,則需要額外的步驟。這些步驟不在本章的范圍內(nèi)。

令牌命令能夠讓你:

  • 查看令牌以便于跟蹤和管理。
  • 創(chuàng)建新令牌,指定只讀或完全權(quán)限。
  • 刪除/撤銷令牌。
  • 根據(jù) IP 地址范圍 (CIDR) 限制訪問。

如何查看賬戶上的令牌

要查看與你的帳戶關(guān)聯(lián)的令牌,請執(zhí)行下列命令:

npm token list

下表解釋了令牌列表。

令牌既可以是只讀的,也可以是 CIDR 白名單的。

如果在個(gè)人資料上啟用了雙因素身份驗(yàn)證,則你已經(jīng)實(shí)施了額外的安全層。

注意:令牌列表顯示了令牌的截?cái)喟姹?。如果你需要查看完整令牌,請查?a href="http://www.o2fo.com/npmjs/npmjs-249r3kq7.html">npmrc 文件。

如何創(chuàng)建新令牌

npm token create [--read-only] [--cidr=list]

在創(chuàng)建新令牌之前,請確定所需的令牌類型:

  • 只讀(安裝/分發(fā)權(quán)限)
  • 完全許可(出版權(quán))
  • CIDR白名單(受ip地址限制)

新令牌的默認(rèn)設(shè)置是完全權(quán)限。

  • 只讀令牌允許安裝和分發(fā)。
  • 完全權(quán)限令牌允許安裝、分發(fā)、發(fā)布以及您對帳戶擁有的所有權(quán)利
  • CIDR 白名單令牌只能在指定的 IP 地址范圍內(nèi)使用。例如,使用它可以將令牌限制為單個(gè)公司或指定的開發(fā)團(tuán)隊(duì)。目前僅支持 IPv4。

當(dāng)令牌為只讀時(shí),它不能用于對包進(jìn)行更改。如果令牌未明確設(shè)置為只讀,則它具有完全權(quán)限,包括發(fā)布和修改權(quán)限。

如何創(chuàng)建新的完全權(quán)限令牌

要?jiǎng)?chuàng)建新的完整權(quán)限令牌,請鍵入:

npm token create

如果設(shè)置了雙因素身份驗(yàn)證,系統(tǒng)將提示你輸入 npm 密碼,然后是 OTP。npm 將顯示此表:

提示:保存令牌字段的屏幕截圖,因?yàn)檫@將是你查看它的唯一機(jī)會(huì)。

請注意,只讀默認(rèn)為false。

如何創(chuàng)建新的只讀令牌

要?jiǎng)?chuàng)建新的只讀令牌,請輸入下列命令:

npm token create --read-only

如果你設(shè)置了雙因素身份驗(yàn)證,系統(tǒng)將提示你輸入 npm 密碼,然后是 OTP。npm 將顯示此表:

請注意,只讀設(shè)置為true。

如何創(chuàng)建新的受 CIDR 限制的令牌

要限制令牌以使其只能從指定的 IP 地址使用,你可以創(chuàng)建一個(gè) CIDR 限制的令牌。CIDR 是 Classless Inter-Domain Routing 的縮寫。該CIDR Wiki頁面將讓你開始。

使用 CIDR 限制可以讓你強(qiáng)制使用令牌的任何人或任何系統(tǒng)物理地或遠(yuǎn)程地在指定的 IP 地址范圍內(nèi)。

    npm token create --[--cidr=list]

例子:

    npm token create --cidr=192.0.2.0/24

如果你設(shè)置了雙因素身份驗(yàn)證,系統(tǒng)將提示你輸入 npm 密碼,然后是 OTP。npm 將顯示此表:

如果你看到這樣的消息:

npm ERR! CIDR whitelist contains invalid CIDR entry: X.X.X.X./YY,Z.Z.. . .



(其中返回的字符串是您輸入的字符串)請確保 CIDR 字符串有效且格式正確。注意:npm 目前只支持 IPv4。

如何創(chuàng)建受 CIDR 限制的只讀令牌

要?jiǎng)?chuàng)建也是只讀的受 CIDR 限制的令牌,請輸入下列命令:

npm token create --read-only --cidr=list

如何撤銷令牌

你可以刪除(撤銷)令牌,無論它是何時(shí)創(chuàng)建的。這使你可以控制你可能希望收回的訪問權(quán)限。

刪除令牌的命令是: npm token delete 以下是步驟:

  1. 類型?npm token list
  2. 找到與你要?jiǎng)h除的令牌相關(guān)聯(lián)的令牌 ID。
  3. 鍵入“npm token delete 123456”,其中 123456 是令牌 id。注意:令牌的截?cái)喟姹緦⒉黄鹱饔谩?/li>

npm will report 'Removed 1 token'

輸入“npm token list”以確認(rèn)令牌已被刪除。 以下屏幕截圖演示了這些步驟:

注意:屏幕插圖中顯示的所有令牌已被撤銷。

注意:在某些情況下,令牌成功撤銷之前可能會(huì)有長達(dá)一個(gè)小時(shí)的延遲。npm 目前正在努力使撤銷在所有情況下立即發(fā)生。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號