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