所有EdgeX服务现在都能够指定一个JSON文件,该文件包含服务的机密,这些机密在服务启动期间被植入服务中。这允许服务在需要他们是能够使用他。

注意:

要使用他们,服务必须事先已配置。这个工作默认情况下由核心/支持服务完成。有关附加应用程序和设备服务SecretStore的详细信息,请参阅配置服务的秘密存储部分

机密文件

SecretStore配置上的新SecretsFile设置允许服务指定服务机密文件完全限定路径(绝对路径)。通常,当服务没有要植入的机密信息时,此设置为空。

示例-在TOML中设置SecretsFile

[SecretStore]
Type = "vault"
...
SecretsFile = "/tmp/my-service/secrets.json"
DisableScrubSecretsFile = false
...

也可以使用SECRETSTORE_SECRETSFILE环境变量覆盖此设置。当使用Docker/Docker compose部署EdgeX时,可以在Docker compose文件中覆盖该设置,并且该文件可以通过卷加载到服务的容器中。

示例-通过环境覆盖设置SecretsFile

environment:SECRETSTORE_SECRETSFILE: "/tmp/my-service/secrets.json"...
volumes:
- /tmp/my-service/secrets.json:/tmp/my-service/secrets.json

在服务启动期间,在SecretStore初始化之后,读取、验证服务的机密JSON文件,并将机密存储到服务的SecretStore中。然后清除文件中的机密数据,比如,即在没有成功保存的敏感机密数据,也会重写改文件(见下面的示例-植入完成完成后重写服务机密JSON文件)。有关禁用清除机密数据的详细信息,请参阅下面的禁用清除部分。

示例-初始服务机密JSON

{"secrets": [{"path": "credentials001","imported": false,"secretData": [{"key": "username","value": "my-user-1"},{"key": "password","value": "password-001"}]},{"path": "credentials002","imported": false,"secretData": [{"key": "username","value": "my-user-2"},{"key": "password","value": "password-002"}]}]
}

示例-植入完成完成后重写服务机密JSON文件

{"secrets": [{"path": "credentials001","imported": true,"secretData": []},{"path": "credentials002","imported": true,"secretData": []}]
}

在上面的示例中,标记为imported=true的机密信息在下次服务启动时被忽略,因为它们已经在服务的SecretStore中。如果机密存储服务的持久性被清除,则需要在下次服务启动时提供服务的机密文件的原始版本。

注意:

机密文件必须具有写入权限才能清除机密数据。如果不是,服务无法启动,并出现错误,请重新写入文件。

禁用清除

可以通过设置SecretStore.DisableScrubSecretsFile为true来禁用清除机密数据,这可以在configuration.toml中设置,或者使用SECRETSTORE_DISABLESCRUBSECRETSFILE环境变量覆盖来完成。

示例-在TOML中设置DisableScrubSecretsFile

[SecretStore]
Type = "vault"
...
SecretsFile = "/tmp/my-service/secrets.json"
DisableScrubSecretsFile = true
...

示例-通过环境变量设置DisableScrubSecretsFile

environment:SECRETSTORE_DISABLESCRUBSECRETSFILE: "true"

Seeding Service Secrets相关推荐

  1. 源码解读:KubeVela 是如何将 appfile 转换为 K8s 特定资源对象的

    作者 | 樊大勇 KubeVela 是一个简单易用又高度可扩展的云原生应用管理引擎,是基于 Kubernetes 及阿里云与微软云共同发布的云原生应用开发模型 OAM 构建. KubeVela 基于 ...

  2. kubernetes的Service Account

    kubernetes的Service Account Service account作用 Service account是为了方便Pod里面的进程调用Kubernetes API或其他外部服务. Se ...

  3. Docker Swarm集群secrets中管理敏感数据

    在Swarm集群中管理敏感数据 以往管理敏感数据的姿势通常是 密钥放镜像中.设置环境变量.volume动态挂载等.Docker目前提供了secrets管理功能,用户可以在Swarm集群中安全地管理密码 ...

  4. 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard

    笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...

  5. 阿里云容器服务与ASP.NET Core部署:用 docker secrets 保存 appsettings.Production.json

    这是我们使用阿里云容器服务基于 docker 容器部署 asp.net core 应用遇到的另一个问题 -- 如果将包含敏感信息的应用配置文件 appsettings.Production.json ...

  6. 在Kubernetes Pod中使用Service Account访问API Server

    2019独角兽企业重金招聘Python工程师标准>>> 在Kubernetes Pod中使用Service Account访问API Server 博客分类: Kubernetes ...

  7. 如何在ASP.NET Core中使用Azure Service Bus Queue

    原文:USING AZURE SERVICE BUS QUEUES WITH ASP.NET CORE SERVICES 作者:damienbod[1] 译文:如何在ASP.NET Core中使用Az ...

  8. 容器编排技术 -- Kubernetes 应用连接到 Service

    容器编排技术 -- Kubernetes 应用连接到 Service 1 Kubernetes 连接容器模型 2 在集群中暴露 Pod 3 创建 Service 4 访问 Service 4.1 环境 ...

  9. OpenShift4 - 使用 Service CA 证书增加内部通讯安全

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.7环境中验证 文章目录 Service Certificate的作用 Service CA Oper ...

最新文章

  1. regexp 好汉字符串_如何在JavaScript中使用RegExp确认字符串的结尾
  2. Codeforces Round #188 (Div. 1) B. Ants 暴力
  3. 计算机系统基础:虚拟存储管理知识笔记
  4. 【算法系列之二】反波兰式
  5. react native android6+拍照闪退或重启的解决方案
  6. cgdb 调试_在MacOS上使用gdb(cgdb)调试Golang程序
  7. SOA项目失败十大原因及完善建议(转)
  8. 题目57 6174问题
  9. 缓存 redis 缓存失效 分布式锁 Redisson SpringCache
  10. 2019.9.1课程设计报告
  11. Word文档换台电脑打开后字体、排版等会发生变化的原因及解决方案!
  12. 如何用计算机弹出斗地主的声音,玩斗地主没声音电脑瞎出牌。我点的没有.怎么办?...
  13. 谷歌人工智能深度解剖:从HAL的太空漫游到AlphaGo,AI的春天来了
  14. java8—streamAPI(四)
  15. 接口参数加解密,代码无侵入这样做方便多了
  16. HTTP协议-Cookie和Session详解
  17. C++里的clock()函数介绍
  18. 造成数据丢失的原因有哪些
  19. msr830设置虚拟服务器,h3c msr830设置教程
  20. 手写识别的工具叫什么?分享三款手写识别软件推荐给你

热门文章

  1. 【毕业设计选题】2022通信工程毕业设计题目推荐大全
  2. 仿抖音上下滑动列表播放短视频解决方案
  3. 原创丨嵌入式IMX6ULL学习指引-四大要点-简单也实用
  4. Elasticsearch Ingest Pipeline
  5. 关于Android 抓包 与 反抓包
  6. GPS定位精度指标含义
  7. FastJson的JSON.isValid()出现BUG!
  8. 应届生小白转行新媒体运营,3个月里我都经历了什么?
  9. HTML内嵌pdf在ios设备上无法正常显示
  10. [乐意黎原创] JavaScript中数组使用总结