【问题标题】:Spring cloud config vault with azure authentication : failed to read config on AKS具有 azure 身份验证的 Spring 云配置库:无法读取 AKS 上的配置
【发布时间】:2021-10-30 18:04:41
【问题描述】:

我正在努力实现以下目标:

能够使用 Azure 用户分配的托管标识 (UAMI) 从 Spring Boot 应用程序(部署在 AKS 中)向保管库(部署在 Azure 上)进行身份验证

堆栈:openjdk 8、spring boot 2.5.4、spring-cloud-starter-vault-config 3.0.3、AKS

我在 azure 上安装了 hashcorp vault。下面的文档建议在这种情况下我可以使用 UAMI 对保险库进行身份验证。 指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 并建立连接,当然,由于天蓝色的 MSI,我无法在本地端到端测试这个。我正在使用用户分配的托管身份 (UAMI)。

但是当我将它部署到 Azure Kubernetes 集群时,它给了我以下错误,甚至没有尝试连接到保管库。似乎它期望身份验证作为令牌:

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

这对我来说没有意义,因为本地日志和 AK​​S 日志完全不同。我在本地和 AKS 的 JKS 中都有根证书。

有人可以帮我解决这个问题吗?我查看了各种文件,但似乎都很旧。

【问题讨论】:

    标签: spring-boot azure azure-aks hashicorp-vault spring-cloud-vault-config


    【解决方案1】:

    根据以下文档 Integrating Hashicorp Vault with Azure AKS using Azure POD Identity - Arctiq,您可以将 Hashicorp 保管库与 AKS 集成。您可以从 AKS 生成身份验证令牌以对 Hashicorp 保管库进行身份验证。

    Azure AD Pod Identity 允许您将 Pod 绑定到在集群外部管理的 Azure Identity。可以将 Vault 配置为使用 Azure AD 作为身份提供程序,这将使 AKS 中的容器化应用程序无需任何代码修改即可使用 Vault 中的机密。

    1. 在 AKS 上启用 Azure AD Pod 标识。

    2. 创建 Azure 标识。

    3. 将 Azure 标识部署到 AKS。

    4. 将 Hashicorp 保管库部署到 AKS

    5. 验证 Azure 身份绑定

    6. 从 pod 会话内部,从 Azure 元数据中获取令牌 服务,然后使用 JWT 令牌向 Vault 进行身份验证

    【讨论】:

      猜你喜欢
      • 2019-05-28
      • 2023-03-14
      • 1970-01-01
      • 2021-07-09
      • 2018-01-29
      • 2019-01-24
      • 2015-07-27
      • 2021-08-17
      • 2018-01-07
      相关资源
      最近更新 更多