首页 文章

在线阅读Redhat OpenShift内部的秘密?

提问于
浏览
2

我已经获得了一个Redhat OpenShift在线入门vps,用于托管我的discord bot . 我已将它上传到github,减去我的不和谐令牌和其他API密钥,当然:^)

我如何让OpenShift使用商店和阅读客户机密?如果有帮助,我正在使用nodejs8框架 .

1 回答

  • 1

    秘密在GitHub等源版本控制托管服务中没有位置 .

    关于OpenShift,它包括Secrets,一个编码的64配置映射,您可以在其中注入机密信息 .

    但是,长期保密信息存储(以OpenShift秘密注入)应该存储在适当的保险柜中 .

    例如,如文章“Managing Secrets on OpenShift – Vault Integration”所述的Hashicorp Vault

    其余部分描述了该解决方案,但即使您不使用该特定主机,一般的想法(外部保管库类型存储)仍然存在:

    Init容器(在启动容器的主容器之前运行)通过加密连接从Vault控制器请求包装的令牌 . 包装凭据允许您传递凭据,而不需要任何中间人必须实际查看凭据 . Vault Controller从Kubernetes API服务器检索pod详细信息 . 如果存在并包含vaultproject.io/policies批注,则Vault控制器会调用Vault并生成唯一的包装标记,该标记可以访问批注中提到的Vault策略 . 此步骤需要对pod作者的信任才能使用正确的策略 . 生成的令牌具有可配置的TTL . Vault控制器使用从Kubernetes API通过加密连接获得的pod IP“回调”Init容器,并将其传递给新创建的包装令牌 . 请注意,Vault Controller不信任pod,它只信任主API . Init容器解包令牌以获取将允许访问凭据的Vault令牌 . Vault令牌将写入两个容器(emptyDir)和Init Container退出之间共享的卷中的已知位置 . 主容器从令牌文件中读取令牌 . 现在,主容器可以使用令牌来检索创建令牌时所考虑的策略所允许的所有秘密 . 如果需要,主容器会更新令牌以防止其过期 .

相关问题