Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 在kubernetes etcd存储中加密机密数据_Security_Encryption_Kubernetes_Etcd_Confidentiality - Fatal编程技术网

Security 在kubernetes etcd存储中加密机密数据

Security 在kubernetes etcd存储中加密机密数据,security,encryption,kubernetes,etcd,confidentiality,Security,Encryption,Kubernetes,Etcd,Confidentiality,默认情况下,存储在etcd中的所有数据均未加密。对于生产部署,存储在etcd中的一些数据需要加密,例如机密。默认情况下,是否有方法以加密方式将机密存储在etcd中。要进行加密,您需要使用此参数指示apiserver服务: --实验加密提供程序config=/var/lib/kubernetes/encryption config.yaml 其中yaml文件包含以下内容: kind: EncryptionConfig apiVersion: v1 resources: - resources:

默认情况下,存储在etcd中的所有数据均未加密。对于生产部署,存储在etcd中的一些数据需要加密,例如机密。默认情况下,是否有方法以加密方式将机密存储在etcd中。

要进行加密,您需要使用此参数指示
apiserver
服务:

--实验加密提供程序config=/var/lib/kubernetes/encryption config.yaml

其中yaml文件包含以下内容:

kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
      - secrets
    providers:
      - aescbc:
          keys:
            - name: key1
              secret: ${ENCRYPTION_KEY}
      - identity: {}
此处提供程序为aescbc(最强加密),变量在以下时间之前生成:

ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64)
看看这些文件:

  • (和以下md文件)


etcd在哪里存储加密密钥?我需要单独的外部etcd群集吗?etcd不存储密钥。密钥(只有一个对称)在yaml文件中,您生成了它。一旦推送此yaml文件,它将指示kubernetes存储该密钥加密的秘密,那么此密钥在kubernetes中的位置如何?我想,如何在主机内存中保护该密钥,确切地说是在apiserver进程内存中。因此,如果重新启动apiserver节点,则需要重新配置密钥?