您可以使用存取權杖,使用持續整合 (CI) 系統測試私人 npm 套件,或使用持續部署 (CD) 系統部署這些套件。

建立新的存取權杖

建立新的存取權杖,僅用於從 CI/CD 伺服器存取 npm 套件。

持續整合

在持續整合環境中產生存取權杖時,我們建議使用具有受限存取權限的細緻存取權杖,以提供更高的安全性。

如果您改用舊式權杖,預設情況下,npm token create 會產生同時具有讀取和寫入權限的權杖。我們建議建立唯讀權杖

npm token create --read-only

如需有關建立存取權杖的更多資訊,包括 CIDR 白名單權杖,請參閱「建立存取權杖」。

持續部署

由於持續部署環境通常涉及建立部署成品,您可能希望在網站上建立自動化權杖。這將允許您在帳戶啟用雙重驗證的情況下進行發布。

互動式工作流程

如果您的工作流程產生套件,但您在驗證後手動發布,則您需要建立具有讀取和寫入權限的權杖,這些權限會透過標準權杖建立指令授予

npm token create

CIDR 白名單

為了提高安全性,您可以使用 CIDR 白名單權杖,只能從特定 IP 位址範圍使用。您可以將 CIDR 白名單與讀取和發布權杖或唯讀權杖搭配使用

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

範例

npm token create --cidr=192.0.2.0/24

如需更多資訊,請參閱「建立和檢視驗證權杖」。

將權杖設為 CI/CD 伺服器上的環境變數

在您的 CI/CD 伺服器中,將您的權杖設定為環境變數或機密。

例如,在 GitHub Actions 中,您會將您的權杖新增為機密。然後,您可以讓工作流程使用該機密。

如果您將機密命名為 NPM_TOKEN,則您會想要從該機密建立名為 NPM_TOKEN 的環境變數。

steps:
- run: |
npm install
- env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

請參閱您的 CI/CD 伺服器的文件,以取得更多詳細資訊。

建立並簽入專案特定的 .npmrc 檔案

使用專案特定的 .npmrc 檔案,其中包含權杖變數,以使用 npm 安全地驗證您的 CI/CD 伺服器。

  1. 在專案的根目錄中,建立自訂 .npmrc 檔案,其內容如下

    //registry.npmjs.org/:_authToken=${NPM_TOKEN}

    注意:您正在指定 ${NPM_TOKEN} 的文字值。npm cli 會以 NPM_TOKEN 環境變數的內容取代此值。不要將代碼放入此檔案中。

  2. 請檢查 .npmrc 檔案。

保護您的權杖

您的代碼可能具有讀取私人套件、代表您發布新套件或變更使用者或套件設定的權限。請保護您的代碼。

請勿將您的代碼加入版本控制或不安全地儲存。請將其儲存在密碼管理員、您的雲端供應商的安全儲存空間或您的 CI/CD 供應商的安全儲存空間中。

如果可能,請使用具有最低必要權限的細緻存取代碼,並為您的代碼設定較短的到期日。如需更多資訊,請參閱「關於存取代碼」。