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