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