安全 Security¶
安全标记用于帮助搭建安全 etcd 集群。
安全的 etcd 集群从两个方面维护,一个是服务端集群成员(peer)之间通信使用 TLS 安全认证,另一个是客户端(etcdctl)访问 etcd 集群使用 TLS 安全认证。
TLS 安全认证有一下几个文件组成: - CA 证书:ca-file - 私钥文件: key-file - 证书文件: cert-file - 证书吊销列表: crl-file
--cert-file¶
- 描述:客户端 TLS 证书文件的路径。
- 默认: none
- 环境变量: ETCD_CERT_FILE
解释:
etcdctl/api/sdk 等客户端访问 etcd 集群时依赖的证书文件路径。
证书是 CA 签名后的公钥文件。
--key-file¶
- 描述:客户端 TLS key 文件的路径。
- 默认: none
- 环境变量: ETCD_KEY_FILE
解释:
etcdctl/api/sdk 等客户端访问 etcd 集群时依赖的私钥文件路径。
证书(公钥)是公开的,但是私钥是保密不能公开的。
--client-cert-auth¶
- 描述:开启客户端证书认证。
- 默认: false
- 环境变量: ETCD_CLIENT_CERT_AUTH
解释:
是否开启客户端证书认证功能,如果开启了,访问 etcd 时需要携带上证书认证信息,一般是 --cert-file
和 --trusted-ca-file
。
--client-crl-file¶
- 描述: 指定客户端认证的 CRL 文件列表
- 默认: ''
- 环境变量: ETCD_CLIENT_CRL_FILE
解释:
在一些情况下,证书私钥丢失或泄密,CA 会发布更新证书吊销列表,如果该证书被吊销了,那么他就无法正常获取认证,这个证书吊销列表就是 CRL 文件。
--client-cert-allowed-hostname¶
- 描述:允许 TLS 认证使用主机名
- 默认: ''
- 环境变量: ETCD_CLIENT_CERT_ALLOWEND_HOSTNAME
--trusted-ca-file¶
- 描述:客户端服务器 TLS 信任的 CA 证书文件的路径。
- 默认: none
- 环境变量: ETCD_TRUSTED_CA_FILE
解释:
这就是对证书签名的 CA 文件
--ca-file [弃用]¶
- 描述:客户端服务器 TLS 证书文件的路径。
- 默认: none
- 环境变量: ETCD_CA_FILE
解释:
--ca-file ca.crt
可以被 --trusted-ca-file ca.crt
替代,而 etcd 同样工作。
--auto-tls¶
- 描述:自动生成客户端 TLS。
- 默认: false
- 环境变量: ETCD_AUTO_TLS
--peer-cert-file¶
- 描述:peer server TLS 证书文件的路径.
- 默认: none
- 环境变量: ETCD_PEER_CERT_FILE
解释:
集群之间 TLS 通信的 证书文件 路径
--peer-key-file¶
- peer server TLS key 文件的路径.
- 默认: none
- 环境变量: ETCD_PEER_KEY_FILE
解释:
集群之间通信的 TLS 认证的 私钥 文件路径
--peer-client-cert-auth¶
- 描述:开启 peer client 证书验证.
- 默认: false
- 环境变量: ETCD_PEER_CLIENT_CERT_AUTH
解释:
是否开启集群成员之间的 TLS 认证。
--peer-trusted-ca-file¶
- 描述:peer server TLS 信任证书文件路径.
- 默认: none
- 环境变量: ETCD_PEER_TRUSTED_CA_FILE
--peer-ca-file [弃用]¶
peer server TLS 证书文件的路径. --peer-ca-file ca.crt
可以被 --peer-trusted-ca-file ca.crt --peer-client-cert-auth
替代,而 etcd 同样工作.
- 默认: none
- 环境变量: ETCD_PEER_CA_FILE
--peer-cert-allowed-cn¶
--peer-cert-allowed-hostname¶
--peer-auto-tls¶
--peer-auto-tls 'false'
Peer TLS using self-generated certificates if --peer-key-file and --peer-cert-file are not provided.
使用生成证书的peer TLS。
- 默认: false
- 环境变量: ETCD_PEER_AUTO_TLS
--peer-crl-file¶
--cipher-suites¶
--cipher-suites ''
Comma-separated list of supported TLS cipher suites between client/server and peers (empty will be auto-populated by Go).