CLI

dotenv-vault rotatekey

輪換專案環境的 DOTENV_KEY。

用法

1. 執行 rotatekey 命令

指定環境。在以下範例中,我們正在輪換生產環境的 DOTENV_KEY。

$ npx dotenv-vault rotatekey production
remote:   Rotating decryption key... done
dotenv://:[email protected]/vault/.env.vault?environment=production

1. Update DOTENV_KEY by comma-appending the new value
2. Rebuild and deploy your .env.vault file
3. Update DOTENV_KEY by removing the old value

Example:
DOTENV_KEY='dotenv://:[email protected]/vault/.env.vault?environment=production,dotenv://:[email protected]/vault/.env.vault?environment=production'

2. 附加新的 DOTENV_KEY

開啟您先前設定 **DOTENV_KEY** 值所在的伺服器。以逗號附加新值。

例如,以下是在 Heroku 上設定它的方式。

heroku config:set DOTENV_KEY='dotenv://:[email protected]/vault/.env.vault?environment=production,dotenv://:[email protected]/vault/.env.vault?environment=production' 

請注意,新值會放在舊值之後。順序並不重要,但我們建議將新值放在最後,以便您在部署後記得刪除舊的(開頭)值。

3. 建置和部署

接下來,我們需要使用新的加密金鑰重建加密的 .env.vault 檔案。執行 dotenv-vault build。

$ npx dotenv-vault build

將這些變更安全地提交到程式碼並部署。

就是這樣!您的程式碼現在將使用新的 DOTENV_KEY 執行。

4. 清理舊值

最好清理舊值。

返回您的伺服器,並在以逗號分隔的清單 **DOTENV_KEY** 中移除舊值。在 Heroku 中,它看起來可能像這樣

heroku config:set DOTENV_KEY='dotenv://:[email protected]/vault/.env.vault?environment=production' 

輪換金鑰做得好!如果您真的想更進一步,您可以將其自動化到您的 CI/CD 流程中。這樣,您可以按照設定的排程(例如每季)輪換解密金鑰。


命令詳情

如需有關 rotatekey 命令的更多資訊,請執行 dotenv-vault help rotatekey。

$ npx dotenv-vault help rotatekey
Rotate DOTENV_KEY

USAGE
  $ dotenv-vault rotatekey [ENVIRONMENT] [-m ] [-y]

ARGUMENTS
  ENVIRONMENT  Set environment to rotate. Required.

FLAGS
  -m, --dotenvMe=  Pass .env.me (DOTENV_ME) credential directly (rather than reading from .env.me file)
  -y, --yes               Automatic yes to prompts. Assume yes to all prompts and run non-interactively.

DESCRIPTION
  Rotate DOTENV_KEY

EXAMPLES
  $ dotenv-vault rotatekey