课程名称:【TiDB 4.0 PCTA 学习笔记】- 3.8.3 Cloud Security(云安全)
学习时长: 30m
课程收获:
学习在K8s和云环境下配置保证 TiDB 数据库集群的安全
课程内容:
一、TLS传输加密
TLS传出层加密,通信双方双向认证
1、k8s secret
证书以配置文件形式加载,k8s保存敏感信息的是secret型,以base64编码加密。
base64不是一种安全的加密方式,secret的yaml文件不要加到源码管理里,防止泄漏。
k8s可以配置静态加密的 encryption_at_rest,可以在tmpfs 持久化加密。
还通过RBAC进行权限管控。
创建 secret
k8s存储tls证书有标准的形式:type:kubetnets.io/tls
2、证书管理
issuer 对应 签发机构
certificate 用于记录证书的信息(名称、机构、存储于哪个Secret等)
CertificateRequest 自动生成
3、使用CM管理TiDB TLS证书
TiDB组件间使用自签名证书
重要参数:
secrestname :指定TLS证书存放在哪个secret里
duration : 证书有效期
renewbefore :证书续签周期
commonname : 标识组件,避免同一个CA签发的证书,可以访问任意的TiDB组件
dnsname 和 ipaddress :用于Client验证Server是否匹配其域名和ip地址
二、TiDB 在aws公有云环境安全配置
1、Cloud IAM
2、aws云环境的认证和授权
借助OIDC进行权限整合
3、TiDB的IAM管理
借助OIDC直接给pods分配Role和临时token,避免静态token泄露
sendCredToTikv 要设置成 false,否则BR备份可能会失败
4、S3安全设置
S3设置为隐私模式
打开bucket的静态加密