问题标签 [secretsmanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aws-sdk - 在哪里保存秘密管理工具的初始信任凭证?
对于我们的产品,我们决定实施一个秘密管理工具(AWS 秘密管理器),它将安全地存储和管理我们所有的秘密,例如数据库凭证、密码和 API 密钥等。
通过这种方式,秘密不会存储在代码、数据库或应用程序的任何地方。我们必须提供 AWS 凭证 - 访问密钥 ID 和秘密访问密钥,以便以编程方式访问 Secrets manager 的 API。
现在出现的最大问题是,该初始信任(用于验证 AWS 机密管理器的凭证)保存在哪里。这是一个引导问题。同样,我们必须在秘密存储之外、配置文件或其他地方维护一些东西。我觉得如果这受到损害,那么将所有内容存储在秘密管理工具中就没有真正的意义。
我阅读了 AWS SDK 开发人员指南,并了解有一些标准方法可以存储 AWS 凭证,例如 - 将它们存储在环境变量中、具有不同配置文件的凭证文件中以及通过对 Amazon EC2 实例使用 IAM 角色。
我们不在亚马逊云中运行/托管我们的应用程序,我们只想使用来自 AWS 云的 AWS 机密管理器服务。因此,配置 IAM 角色可能不是我们的解决方案。
是否有任何最佳实践(或)保存初始信任凭证的最佳位置?
key-value - 您是否应该将非机密配置与机密一起存储在保险库之类的商店中?
是否有理由将非机密键/值配置存储在像 consul 这样的单独键/值存储中,而不是将其与机密一起存储在像 vault 这样的秘密 k/v 存储中?
一个可能的原因是保管库可能会为访问非机密配置提供额外的开销。
你能想到在同一个 k/v 存储中存储或不存储非机密和机密的任何其他原因吗?
amazon-web-services - 如何查找 AWS Secrets Manager 的缓存位置
我正在使用参数存储来存储数据库凭据,并使用 talend 作业访问它们。但是,由于多个作业同时访问这些参数;我们正面临扩展参数存储的问题,因为它达到了阈值。
我决定使用 AWS Secrets Manager,到目前为止,我能够使用 AWS Lambda 函数 (Python) 成功创建/获取这些密钥;我正在使用 Python 客户端缓存库SecretCache
和SecretCacheConfig
.
对此有以下疑问:
- 是否有可能知道我的 lambda 函数缓存这些秘密的位置?
- 如果在我的 talend 作业执行时密码发生更改,如何确保 talend 作业使用更新后的密码值?
- 如何确保正在使用机密的最新值。
ssh - 如何使用 GitHub Actions 提取机密?
我有一个相当基本的场景。为此,我制作了一个专用的 ssh 密钥并将其添加到我的存储库机密中。
代码被推送到
master
ssh
GitHub 操作使用by doing将其上传到服务器echo "${{ secrets.SSH_KEY }}" > key
。之后,我可以使用此密钥连接到我的服务器,例如
ssh -i key devops@myserver.com lsb_release -a
问题是由于某种原因 GitHub 操作无法将其写入文件,它会将字符***
而不是实际的秘密值写入文件。因此显然我无法连接到我的服务器。
如何使用此密码连接 ssh?有没有不使用文件的连接方式?使用 GitHub 操作完成此常见场景的人能否提供一些启示?
docker - 在不使用 docker swarm 的情况下处理 docker 容器内的秘密
一个问题,你如何在不使用 docker swarm 的情况下处理 dockerfile 中的秘密。假设您在 npm 上有一些私有仓库,并通过提供凭据在 dockerfile 中使用 .npmrc 恢复相同的仓库。包还原后,显然我正在从容器中删除 .npmrc 文件。同样,它也适用于 NuGet.config 以及恢复容器内的私有存储库。目前,我在构建 dockerfile 时将这些凭据作为 --build-arg 提供。
但是像docker history --no-trunc这样的命令这样的命令会在日志中显示密码。有什么体面的方法来处理这个。目前,我不在 Kubernetes 上。因此,需要在 docker 本身中处理相同的问题。
我能想到的一种方法是安装 /run/secrets/ 并将其存储在内部,方法是使用一些包含密码的文本文件或通过 .env 文件。但是,这个 .env 文件必须是完成 CI/CD 过程的管道的一部分,这意味着它必须是源代码控制的一部分。有什么方法可以避免这种情况,或者可以通过管道本身来完成,或者可以在这里应用任何类型的加密/解密逻辑?
谢谢。
谢谢。
authentication - 如何在 Hashicorp 的 Vault 中管理代币
我正在为我的团队实施 Vault 以使用和存储机密,我们希望保持简单,因此我们决定使用默认令牌身份验证。
问题是我找不到管理已创建令牌的方法,因此如果我想撤销某个人的令牌,我确切知道要撤销哪个令牌。
有谁知道如何在 Vault 中管理令牌?
c# - 在子应用程序中阻止 web.config 继承
我们有一个遗留的 .NET 解决方案,它结合了 MVC 和 WebForms 的东西,以及一些 Web API 项目作为网站根目录下的应用程序。显然,这些 Web API 应用程序将继承网站的 web.config 设置。
我们还有另一个项目——限界上下文——用于 SSO 身份验证,它位于同一根文件夹内,因此也继承了网站的 web.config 设置。此限界上下文应用程序是使用 .NET Core 构建的。
我们最近开始使用 Azure Key Vault 来存储我们的机密,并且要在本地使用这些机密,我们正在使用 secrets.xml 文件。所以根网站的web.config看起来是这样的……
这是问题所在:身份验证有界上下文项目抛出异常,因为它找不到Microsoft.Configuration.ConfigurationBuilders.UserSecrets
程序集 - 因为它继承了网站的配置,它需要知道该配置部分的全部内容。
但是,如果在 .NET Core身份验证项目中引用该 NuGet 包,我会收到消息...
此软件包可能与您的项目不完全兼容。
...它会自动回滚。
因此,如果我无法UserSecrets
在 .NET Core 子应用程序中引用程序集,那么如何让它识别<configBuilders>
继承的配置文件中的部分?
我也试过删除元素......
...来自根配置文件,但子应用程序随后会看到该<configBuilders>
元素并且无法识别它。
所以问题归结为:
- 子应用程序需要在其中
<configBuilders>
定义元素的 NuGet 包。
如果不... - 子应用程序看到
<configSections>
/<section name="configBuilders" />
元素并且需要知道它是在哪里定义的。或者,我在子应用程序中
删除该元素,然后...<section name="configBuilders" />
- 子应用程序看到
<configBuilders>
元素并且需要知道哪个配置部分定义了它。
c# - 在自动生成的路径中找不到 secrets.xml
我正在尝试使用本地 secrets.xml 文件,但错误告诉我找不到它。
我右键单击该项目并选择“管理用户机密”,它为我创建了以 GUID 命名的文件夹和文件。相同的 GUID 出现在如下userSecretsId
属性中...
但在运行时出现异常,显示找不到该文件。
然后我切换到使用userSecretsFile
并将文件的副本粘贴到 C:\tmp\secrets.xml。这行得通。
所以我然后粘贴了自动生成的secrets.xml的路径 -即......
...进入userSecretsFile
属性...
...并且仍然抛出异常,说找不到文件。
我正在以管理员权限运行 Visual Studio 2019。为什么它似乎无法访问该文件?
amazon-web-services - Lambda 函数无法访问 Secrets Manager
我编写了一个 lambda 函数来访问数据库,因此第一步是从 AWS Secrets Manager 获取密钥。我有一个私有 VPC 以及与 lambda 函数关联的子网、NAT 网关和安全组。我也有secretsmanager.Secret.grantRead(lambda_exec_role)
,所以 lambda 应该可以访问 Secrets Manager。
由于某种原因,当我在 API Gateway 中测试它时,我在 CloudWatch 中得到了 "errno": "ETIMEDOUT" 和 "code": "NetworkingError"。从我在 API 中的打印日志来看,获取秘密失败了。
我还尝试为 Secrets Manager 添加一个 VPC 端点,如此处所示,但仍然出现相同的错误。
感谢这里的任何人可以帮助我或提供一些提示。
非常感谢!
asp.net-core - 在程序集中找不到“UserSecretsIdAttribute”,但它存在并且添加了正确的包
在我添加了Microsoft.Extensions.Configuration.UserSecrets
包的 .NET Core 3.1 项目中,我单击了项目以管理机密,文件已在AppData
目录中创建,并且UserSecretsId
已自动添加到.csproj
文件中。因为Host.CreateDefaultBuilder
没有加载秘密我决定手动添加它们
但后来我得到
我已经检查了预期描述中的建议,两个困境都得到了满足。