课程名称:(301)3.8.3 Cloud Security(云安全)
学习时长:20min
课程收获:在 K8s 和 Cloud 环境下如何配置保证 TiDB 数据库集群的安全
课程内容:TLS;K8s Authorization/Authentication;Cloud IAM
TiDB TLS认证管理
TiDB TLS:内部组件通信使用mTLS;SQL连接通信使用MySQL TLS
k8s的secret对象:保存敏感数据;以文件形式挂载到pod中;env中引用
k8s证书管理器Cert Manager:k8s证书管理工具;支持使用多种CA证书;自动更新;易用;通过CRD方式暴露API
使用Cert Manager管理TiDB TLS认证
TiDB在公有云环境线的安全实践
Cloud IAM(Identity Access Management):TiDB是云原生数据库,要访问像S3和KMS这类的云资源,需要凭证;在备份时,TiKV可直接写入S3
Cloud Authn(认证) & Authz(授权)
使用OIDC,AWS委派权限给k8s apiserver,从而实现两套权限系统整合
k8s通过ServiceAccount将AWS Role分配给Pod,使pod具有访问aws资源的权限
分布式环境下分发凭证:对每个需要和cloud API交互的进程使用IAM role;借助OIDC,允许EKS apiserver分配aws role和临时token给pod
打开EKS的OIDC
eksctl utils asociate-iam-oidc-provider --cluster {cluster_nme} --approve
以TiDB备份到AWS S3为例
S3安全配置:将S3的bucket配置成private;打开S3 bucket静态加密
学习过程中遇到的问题或延伸思考:
- 问题 1:
- 问题 2:
- 延伸思考 1:
- 延伸思考 2:
学习过程中参考的其他资料
无