azure - 容器如何~读取~存储在(安装的)秘密卷中的秘密?
问题描述
本文讨论如何安装秘密卷。
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"
}
(通过卷挂载的秘密卷的)(父)容器如何读出秘密?这些秘密不应该是文件持久化的。
更好的说法是,我的应用程序代码如何检索秘密值?
这家伙差点把我带到那里,但没有。:( 他使用命令行读出了秘密。
解决方案
好调用granadaCoder。是的,密钥的密钥,即“mysecret1”、“mysecret2”,成为volumeMount 路径中的文件名,即“/mnt/secrets”。请注意,密钥的值应该是 base64 编码的。它们的解码值成为文件的内容。在您的情况下,您将在容器中找到内容为“我的第一个秘密 FOO”的 /mnt/secrets/mysecret1 和内容为“我的第二个秘密 BAR”的 /mnt/secrets/mysecret2。
推荐阅读
- mysql - 数据库中的时区错误
- assembly - 如何检测何时按下按钮?
- python - BrokenPipeError:[Errno 32] 运行 GAN 时出现断管错误
- java - eclipse 无法运行 main “错误无法找到或加载主类”
- vue.js - Vuetify - 如何更改 v-textarea 行高?
- javascript - 使用量角器测试非角度页面无法单击链接元素
- javascript - 初学者异步/等待问题
- html - 随着用户的进步,向表单添加新选项
- node.js - 从 node js 识别 360 度图像
- r - 如何从 PCA 中提取负载 - 同时保留变量负载/变量名称