chocolatey - 使用 Chocolatey 时隐藏安装参数中的键的选项?
问题描述
是否有任何特定方法可以隐藏安装软件包所需的密钥?我想使用 Chocolatey 将应用程序安装到多个服务器。安装命令需要使用密钥进行安装。
Chocolateyinstall.ps1 包含:
....
$silentArgs = '/S /V" /qn SECRETKEY=555444333"'
在 Windows 服务器上安装软件包后,Chocolatey 将 Chocolateyinstall.ps1 文件留在计算机上。这包含用于安装的密钥。是否有任何隐藏此密钥的特定方法?我不希望用户能够查看此密钥。我应该编写一个命令来删除 Chocolateyinstall.ps1 文件还是该文件用于更新软件?
解决方案
在开源版本中,您的选择是有限的。有几个建议浮现在脑海:
创建一个包参数并以这种方式将密钥传递给包;
使用密钥在每个服务器上创建一个环境变量,并在您的 ChocolateyInstall.ps1 中引用该变量(并围绕健全性检查它编写一些代码);
使用某种风格的保险库将钥匙保存在其中,然后将它们拉出到 ChocolateyInstall.ps1 中;
根据 Chocolatey 在哪个用户下运行,您可能能够使用 Windows DPAPI 来安全地保存密钥;
所有这些的缺点是,如果打开日志记录,密钥仍然在日志中可用。
在 Chocolatey For Business 中--package-parameters-sensitive
,没有记录使用它传递的参数:
--package-parameters-sensitive=VALUE
PackageParametersSensitive - Package Parameters to pass the package that
are sensitive and you do not want logged. Defaults to unspecified.
Available in 0.10.1+. [Licensed editions](https://chocolatey.org/compare) only.
推荐阅读
- raku - 解析模块规范的语法
- javascript - 能不能简单点?
- html - 有没有办法知道渐变中色标的纯色区域的大小?
- python - 将 for 循环写入列表理解
- cuda - cuda nppiResize() 用于 RGB 图像
- python - Qt Designer 如何为每个文件创建超过 1 个对话框?
- reactjs - 将函数传递给 React 中的子组件 - this.props.handleChange 不是函数?
- ruby - 我可以编写向后兼容 1.8.7 的 ruby 2.3.7 脚本吗?
- amazon-web-services - 无服务器错误:模板格式错误:未解决的资源依赖项 [
LogGroup] 在模板的 Resources 块中 - node.js - 如何使用读取文件制作循环