34.5. 验证数据是否加密


在写入 etcd 时数据会被加密。在重启 API 服务器后,任何新创建或更新的 secret 都应在存储时加密。要检查,您可以使用 etcdctl 命令行程序检索您的 secret 的内容。

  1. default 命名空间中创建一个名为 secret1 的新 secret:

    $ oc create secret generic secret1 -n default --from-literal=mykey=mydata
  2. 使用 etcdctl 命令行,从 etcd 中读取该 secret:

    $ ETCDCTL_API=3 etcdctl get /kubernetes.io/secrets/default/secret1 -w fields [...] | grep Value

    […​] 必须是连接到 etcd 服务器的附加参数。

    最终的命令类似如下:

    $ ETCDCTL_API=3 etcdctl get /kubernetes.io/secrets/default/secret1 -w fields \
    --cacert=/var/lib/origin/openshift.local.config/master/ca.crt \
    --key=/var/lib/origin/openshift.local.config/master/master.etcd-client.key \
    --cert=/var/lib/origin/openshift.local.config/master/master.etcd-client.crt \
    --endpoints 'https://127.0.0.1:4001' | grep Value
  3. 验证以上命令的输出是否为前缀 k8s:enc:aescbc:v1:,它表示 aescbc 供应商已加密生成的数据。
  4. 通过 API 检索时验证 secret 是否已正确解密:

    $ oc get secret secret1 -n default -o yaml | grep mykey

    这应与 mykey: bXlkYXRh 匹配。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.