容器如何读取存储在(已安装的)秘密卷中的秘密?

时间:2018-08-10 10:09:15

标签: azure azure-container-instances

本文讨论了如何安装秘密卷。

https://docs.microsoft.com/en-us/azure/container-instances/container-instances-volume-secret

  

使用秘密卷向容器提供敏感信息   在一个容器组中。秘密卷将您的秘密存储在文件中   在容积内,可由容器中的容器访问   组。通过将机密存储在机密卷中,可以避免添加   敏感数据(例如SSH密钥或数据库凭据)   应用程序代码。

但是它没有讨论在创建秘密(秘密卷)之后如何读出秘密。

下面列出的文章中的德语代码。

    "volumes": [
      {
        "name": "secretvolume1",
        "secret": {
          "mysecret1": "TXkgZmlyc3Qgc2VjcmV0IEZPTwo=",
          "mysecret2": "TXkgc2Vjb25kIHNlY3JldCBCQVIK"
        }
      }

似乎任何容器都可以安装此特殊秘密卷。

          "volumeMounts": [
            {
              "name": "secretvolume1",
              "mountPath": "/mnt/secrets"
            }

(通过卷安装的秘密卷的)(父)容器如何读出秘密?机密不应该持久保存。

更好地说明,我的应用程序代码如何检索秘密值?

这个家伙差点把我送到了那里,但是没有。 :(他使用命令行读取了机密。

https://www.c-sharpcorner.com/article/secret-volumes-with-demo-and-empty-volumes-in-azure-container-instances/

1 个答案:

答案 0 :(得分:1)

请致电granadaCode。是的,密钥的密钥,即“ mysecret1”,“ mysecret2”,成为volumeMount路径中的文件名,即“ / mnt / secrets”。 请注意,密钥的值应为base64编码。它们的解码值成为文件的内容。 在您的情况下,您会在容器中找到内容为“我的第一秘密FOO”的/ mnt / secrets / mysecret1和内容为“我的第二个秘密BAR”的/ mnt / secrets / mysecret2。