当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud Vault-存储机密Id和角色Id的最佳位置

马胜泫
2023-03-14

我正在使用Spring Cloud Vault Library从Vault服务器访问我的秘密。

目前,我正在存储所有参数,例如角色ID秘密ID主机端口等...,作为环境变量,然后将其注入到我的Spring Boot应用程序的bootstrap.yml中。下面是我的YAML文件

spring:
 cloud:
    vault:
      authentication: APPROLE
      app-role:
        role-id: ${role-id}
        secret-id: ${secret-id}
      host: ${host}
      port: ${port}
      scheme: ${scheme}

我被困的地方是管理Vault的角色Id

保护角色ID秘密ID的行业最佳实践是什么?我们已经集思广益了一些想法,例如存储在配置服务器中、存储在环境变量中、存储在云铸造中UPS...

然而,我们希望了解这方面的最佳实践。。

共有1个答案

商宏爽
2023-03-14

我也面临同样的问题,下面是你能做的。首先,应用程序应该定义自己的系统用户,并作为该用户启动。然后在与jar/war文件相同的目录中进行引导。属性文件包含:

spring.cloud.vault.app-role.secret-id=*your-secret-for-role-id*

下面是ls输出示例:

-rw-------. 1 app app bootstrap.properties
-rwxr--r--. 1 app app app.jar

应用程序用户必须是此属性文件的所有者,并且只有他才应该被允许读取bootstrap.properties.这可以保护您的秘密免受未经授权的访问,除非您具有root或应用程序用户权限。

 类似资料:
  • 我使用。NET Core2.0和ASP.NET Core2.0进行应用程序开发。“测试”应用程序是一个。NET核心控制台应用程序。我正在编写的核心代码是一个类库。一旦适当的测试。我选择这样做是因为我暂时不会使用它(它正在替换旧的ASPNET代码)。 无论如何,由于我必须处理各种服务的大量API密钥,所以我决定使用Microsoft Azure Key Vault来存储密钥。我有这一切设置,并理解这

  • 我正试图调整Azure VM的大小,但出现了下面的错误。启用密钥存储库进行部署。 VM位于ResourceGroupB中,但密钥存储库位于不同的资源组中。我不确定密钥存储库是如何与ResourceGroupB关联的,也不知道为什么VM使它具有某种依赖性来进行任何更改。 我一直在使用Azure支持,但我的技术要么比我更丢失,要么这是一个不常见的情况。我希望是院长。只是不清楚如何将保险库与虚拟机分离。

  • 问题内容: 我正在使用Redis来存储一些信息并检测该信息随时间的变化(例如,考虑用户和位置)。使用更长或更短的键名的值是什么?使用更长的键会更清楚,但是使用更长的键名是否会在内存或性能上付出很多成本? 以下是示例: 要么 问题答案: 这完全取决于您将如何使用它。如果每个字节都很重要,例如,当您必须为传输到云服务的每个kB支付费用时,您可以计算成本。数学很简单;一个字节是“在线”上的一个字节。在r

  • 问题内容: 我一直在学习有关CSS的SitePoint书。 这些示例让我印象深刻的是使用ID作为CSS选择器。 我已经完成了一些CSS设计工作,我总是发现使用Class作为选择器更容易,更通用。 也许是一个.Net的东西,因为我们并不总是可以控制元素的ID … 这是使用CLASS或ID作为选择器的最佳实践吗? 问题答案: 我猜他们在示例中总是使用id,因为它不那么模棱两可。您知道他们正在专门讨论

  • 问题内容: 什么是最好的实践方式得到一个唯一的机器ID 的架构? 除了地址,还有什么好办法吗? 问题答案: 根据您的内核,可以通过sysfs获得DMI信息。试试那些: 或使用工具