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

如何连接Azure-key-vault与AKS Pod?

芮叶秋
2023-03-14

我有nodeJs应用程序和docker文件部署在AKS和HelmChart中,我有azure key vault和azure Portal中一些密钥,我需要将我运行POD和KeyVault连接起来。

共有2个答案

经佐
2023-03-14

我用的是AKV2K8S。

Akv2k8s包含两个主要组件:

  1. akv2k8s控制器将Azure密钥存储库对象作为native Secret的对象同步到Kubernetes
  2. akv2k8s注入器将Azure密钥存储库对象作为环境变量直接注入应用程序。

图表:

在开始安装之前,我建议先阅读一下它的工作原理? 佩奇。

稍后,请按照安装概述页设置环境。

万一你想安装akv2k8s与头盔。 我为我的ci\cd进程创建了以下代码片段:

# Create a dedicated namespace for akv2k8s
kubectl create ns akv2k8s

# Add Helm repository
helm repo add spv-charts http://charts.spvapi.no
helm repo update

# Install the Controller (and the "AzureKeyVaultSecret" CRD)
helm install azure-key-vault-controller spv-charts/azure-key-vault-controller --namespace akv2k8s

# Install the Env-Injector
helm install azure-key-vault-env-injector spv-charts/azure-key-vault-env-injector --set installCrd=false --namespace akv2k8s

简单示例:

cat << EOF | kubectl apply -f -
apiVersion: spv.no/v1alpha1
kind: AzureKeyVaultSecret
metadata:
  name: secret-sync 
  namespace: $(K8S_NAMESPACE)
spec:
  vault:
    name: ${KEY_VAULT_NAME} # name of key vault
    object:
      name: $(KEY_VALUT_OBJECT_NAME)  # name of the akv object
      type: $(KEY_VALUT_TYPE) # akv object type
EOF
童冠玉
2023-03-14

现有答案的另一种选择(我认为现有答案是可行的)是使用AAD Pod标识。 基本上,这是一种让您在pod内拥有应用程序标识的方式。 通过这种方式,您不必对身份进行微观管理,也不必向应用程序传递凭据(只需使用内部端点)。 类似于Kubernetes之外的Azure中的托管标识。

 类似资料:
  • 我想使用quarkus应用程序连接到azure key vault。我已经在azure key vault上存储了一些秘密,需要连接到azure key vault(不公开服务主体秘密),检索在azue key vault中配置的秘密的值并在我的应用程序中使用。我不知道如何做到这一点。有人能帮忙吗。

  • 遵循以下文档: https://github.com/azure/azure-sdk-for-java/blob/master/sdk/keyvault/azure-security-keyvault-secrets/readme.md Java应用程序必须与azure key Vault托管在云中的同一台服务器上,这只是一种情况吗?因为这对我来说没有意义。

  • 我只看到密钥库秘密旋转,但没有密钥库密钥旋转在文档中。创建新版本并禁用旧版本是旋转Azure密钥库密钥(加密密钥)的一种方法 在Azure Key Vault Key中有没有其他旋转加密密钥的方法?

  • Azure Key Vault to Kubernetes Azure Key Vault to Kubernetes (akv2k8s) makes Azure Key Vault secrets, certificates and keys available to your applications in Kubernetes, in a simple and secure way. Doc

  • Thales HSM、智能卡和支持软件 我的问题是我真的需要购买一个物理HSM来使用HSM生成密钥吗?

  • 我们正在开发一个调用外部API服务的Azure多租户web服务门户。每个被调用的web服务都可能具有oAuth参数,如endpoint、客户端Id、秘密等。目前,我们有两种类型的工作代码: 使用SQL存储这些参数;和 使用json配置文件维护运行时参数。我想提供一个Azure密钥库解决方案,但在同一个密钥库中同时包含客户端ID和客户端机密似乎是不明智的。

  • 我需要用Java实现一个带有Key Vault的符号,使用Sha1算法,但不被支持,如何实现呢,我尝试用bouncy castle做了de digest并用RSNULL算法使用Key Vault客户端,但结果是不正确的。 产生的输出:IOGXIIIZ5ZYM2M7OZZ/ET8UOWWTWMKESEJVVS9W9CPHZ11WKFZ/IKGX2SJ4ADHCN32QCDBOSV/KNATVPYW+