我正在努力实现以下目标:
能够使用Azure用户分配的管理身份(UAMI)从Spring启动应用程序(部署在AKS中)向vault(部署在Azure上)进行身份验证
栈:openjdk 8,spring boot 2.5.4,spring-cloud-starter-vault-config 3 . 0 . 3,AKS
我在azure上安装了hashicorp保险库。下面的文档建议我可以在这种情况下使用UAMI对vault进行身份验证。参考https://cloud.spring.io/spring-cloud-vault/reference/html/
Spring Boot应用程序配置:
application.yml:
server:
port: 8090
spring:
application:
name: my application-service
cloud:
config:
import: vault://secret/somepath_to_secrets
vault:
uri: https://my-vault-uri
scheme: https
namespace: myapp
authentication: AZURE_MSI
azure-msi:
role: pod_identity_role_name
这在我的本地工作有点正常,因为日志说它试图击中上面提到的保管库 URI 并进行连接,当然,由于 azure MSI,我无法在本地端到端上对此进行测试。我正在使用用户分配的托管标识 (UAMI)。
但当我将其部署到Azure Kubernetes集群时,它会给我以下错误,甚至不会尝试连接到vault。看起来它需要身份验证作为令牌:
Error creating bean with name 'clientAuthentication' defined in class path resource
caused by java.lang.IllegalArgumentException: Token(spring.cloud.vault.token) must not be empty
这对我来说没有意义,因为本地和 AKS 日志完全不同。我在本地和 AKS 上的 JKS 中有根证书。
有人能帮我一下吗?我看过各种文件,但似乎都是旧的。
根据下面的文档使用Azure POD Identity - Arctiq将Hashicorp Vault与Azure AKS集成,您可以将您的Hashicorp vault与AKS集成。您可以从AKS生成认证令牌来认证Hashicorp vault。
Azure AD Pod Identity允许您将Pod绑定到在集群外部管理的Azure Identity。Vault可以配置为使用Azure AD作为身份提供程序,这将使AKS中的容器化应用程序能够使用Vault中的机密,而无需任何代码修改。
> < li>
在您的AK上启用Azure AD Pod身份。
创建Azure身份。
将Azure身份部署到AKS。
将Hashicorp保险库部署到AKS
验证Azure身份绑定
从pod会话内部,从Azure元数据服务获取令牌,然后使用JWT令牌向Vault进行身份验证
我们正在配置spring云配置服务器,下面是我的应用程序属性的外观: 我可以登录到github url,即https://github.com/myorganization/config-store.git使用用户名MyUser和密码MyPassword作为上述属性,但当我试图启动我的配置服务器使用:./mvnw sping-boot: run我得到以下错误: 我已经尝试了很多东西,但现在没有任何
将配置服务器用户名和密码存储为环境变量(在客户端和服务器中)还是使用密钥库更好?密钥库密码无论如何都存储为环境变量,那么为什么实际使用密钥库呢?还是有更好的方法在SpringCloudConfig服务器中实现身份验证?
问题内容: 我想我丢失了一些东西,因为我在文档中找不到如何编写供Redis实例与sidekiq一起使用的用户名和密码。 有没有办法做到这一点?还是通过ENV变量? 问题答案: Sidekiq将无法识别的redis选项直接传递给Redis驱动程序: Redis没有用户的概念,因此只有密码。
有人面对过这个问题吗?如果没有身份验证,spring-cloud-config-client可以很好地工作,但是如果启用了基本身份验证,相同的代码就不能工作了。 Spring Cloud Config Server应用程序。属性: Spring Cloud Config Client bootstrap.yml: 奇怪的是,记录器的输出是空白的,这意味着没有活动的配置文件。因此,很明显,这个boo
我一直在努力遵循这个教程: https://www.baeldung.com/spring-security-basic-authentication 我创建了几个restendpoint,如下所示: 现在的问题是,每当我试图发送POST请求时,我都会得到以下错误消息: HTTP状态401-访问此资源需要完全身份验证 我尝试了两种方法来发送请求,一种是通过邮递员 1.1 401 set-cooki
我想使用Spring Cloud实现OAuth2的令牌刷新。 我可以使用以下有效负载通过向发送请求来创建令牌: 但对于刷新令牌,则使用相同的路径。我还需要将用户名和密码发送到标题中,但我没有它们。我可以使用以下负载使用刷新令牌创建一个新令牌: Github代码