漏洞预警(CVE-2021-30465)— runc 符号链接挂载与容器逃逸

针对近期暴露的 runc 容器逃逸漏洞,青云技术团队一直在密切观察和研究,同时与大家同步以下信息,希望对大家有所帮助。

什么是 runc

Runc 是一个根据 OCI (Open Container Initiative) 标准构建的并运行容器的底层工具,诸如 Docker,Containerd 以及 CRI-O 都以其为底层核心去处理数据的格式化和序列化。而 Kubernetes 作为容器调度管理平台基于这些容器运行环境,也受到了此漏洞的影响。

此漏洞(CVE-2021-30465)可能会造成的影响

当前漏洞威胁级别为【严重】,所有 runc 1.0.0-rc95 以下的版本均会受到影响,攻击者可以通过创建恶意 Pod 及 Container,利用符号链接以及条件竞争漏洞,可挂载宿主机目录至 Container 中,最终可能会导致容器逃逸。目前漏洞细节、POC 已公开,风险高。

降低风险以及规避漏洞的建议

  • 手动升级 runc 版本

    升级 runc 至 1.0.0-rc95,可参考官方升级

    查看 runc 版本:

    docker-runc -v

    注意:升级前请做好关键数据的备份

  • 目前使用 KubeKey 新装集群且使用 KubeKey 默认安装的 docker, 其 runc 版本大于 v1.0.0-rc94,不存在该逃逸漏洞的风险,已安装集群请按漏洞解决方案排查修复。

  • 即将发布的 QKE 3.1 版本中,也将包含最新版 runc。

  • 在以上配置升级过程中碰到任何问题,您可通过青云线上工单系统获得青云专业技术支持

VPC 网络新增“免费型”规格

为了更加灵活满足用户网络管理需求,降低入门场景 VPC 使用成本,VPC 网络增加免费型规格。免费型 VPC 只有内网通信的功能,不支持绑定公网 IP 和转发公网流量,也不支持升级到其他规格。现有收费 VPC 网络支持降级为免费版本,降级过程中已绑定的公网 IP 或告警策略会自动完成解绑操作。

(警告) 请注意:

  1. 如果现有 VPC 中运行着弹性容器实例(QCI)、AppCenter 集群、边界路由器等需要访问外网的业务,降级后将无法访问外网。
  2. 由于免费型 VPC 不具备公网访问能力,因此暂时不支持在免费型 VPC 中创建弹性容器实例(QCI)、AppCenter 集群、边界路由器。

(信息) 如果用户误操作,导致部署在 VPC 中的业务无法访问外网或无法被外网访问,可以 提交工单 向青云技术支持寻求帮助。

下面介绍下如何创建、查看和使用免费 VPC。

创建免费型 VPC

创建 VPC 网络时,“类型”选择“免费型”,点击 创建。注意提示文字:免费型 VPC 创建后不支持修改类型。

查看免费型 VPC

用户可以在免费型 VPC 中创建/连接私有网络,并查看 VPC 网络拓扑图。

在免费型 VPC 中创建资源

免费型 VPC 中暂时不支持创建弹性容器实例(QCI)、AppCenter 集群和边界路由器。以 MySQL Plus 为例,

创建 MySQL Plus 时,如当前区域无 VPC,不支持在这里创建免费型 VPC;

创建 MySQL Plus 时,如当前区域有未加入 VPC 的私有网络,不支持将该私有网络加入免费型 VPC;

创建 MySQL Plus 时,如当前区域中有免费型 VPC 中的私有网络,选项不显示;

部署 MySQL Plus 后,在集群管理列表页右键打开操作列表,点击 切换私有网络,在打开的弹窗中,如有免费型 VPC,选项不显示。

将付费 VPC 降级为免费 VPC

选择一个小型或以上规格 VPC,右键打开操作列表,点击“扩容”操作,在打开的弹窗中,“类型”选择“免费型“,点击 提交。

在打开的提示弹窗中,仔细阅读规格降级的注意事项。点击 确认,完成降级。

QingCloud密钥管理服务(KMS)发布

密钥管理服务(KMS)的重要性

随着《网络安全等级保护》、《网络安全法》等各种安全法律法规的发布执行以及个人、企业的安全意识逐渐增强。人们采用加密的方式进行数据存储及传输,避免个人隐私数据、企业重要数据信息被监听、泄露、篡改、丢失等风险。密钥是打开网络世界的钥匙,因此加解密使用的密钥必须妥善管理,如果密钥泄露则数据被解密,如果密钥丢失则无法被使用者解密。密钥管理服务的意义在于把管理各种数据信息的复杂问题简化成加解密数据的密钥管理。密钥管理服务可以帮助您轻松创建和管理密钥,保护密钥的保密性、完整性和可用性,满足多应用多业务的密钥管理需求,并符合监管和合规要求。极大的降低在密码基础设施和数据加解密产品上的采购、运维、研发开销,帮助您更好的关注业务的发展。

青云KMS方案介绍

QingCloud密钥管理服务(KMS)是一项托管服务,可助您轻松创建和管理密钥,满足审计、法规、合规性需求。实现用户可控的数据安全加密,避免数据安全事故的发生。您可以通过控制台以及API两种方式创建和管理用户主密钥(CMK)。默认开启密钥轮转功能,加强密钥使用的安全性,实现数据保护的安全策略和最佳实践。

日前,青云QingCloud密钥管理服务(KMS)已上线,点击以下链接即可访问(https://console.qingcloud.com/pek3/kms/)。

创建密钥

1、在 QingCloud 控制台,点击安全–>密钥管理服务,进入密钥管理服务页面。

2、点击创建,弹出创建用户CMK窗口。

3、填写相应的参数信息,然后点击提交。

(1)名称:用户密钥的名称。

(2)密钥别名:用户密钥的别名。对密钥的使用, 您既可以使用密钥ID,也可以使用密钥别名。

(3)密钥类型:对称加密。

(4)加密算法:SYMMETRIC_DEFAULT

(5)密钥轮转:是否打开密钥自动轮换功能。默认每年轮转一次。选项:开启,关闭。

(6)描述:用户密钥的描述信息。

云服务器加载密钥

您可以在创建云服务器时选择密钥。目前仅云服务器类型为企业级e2时支持加密功能。

备份制作镜像加载密钥

您可以在备份制作镜像时加载密钥。

1、在 QingCloud 控制台,点击存储–>备份,进入备份页面。

2、右键点击要创建镜像的备份,然后点击制作成新镜像,进入根据云服务器备份制作镜像页面。

3、输入镜像名称并选择是否加密,然后点击制作成新镜像。

SSD企业级硬盘加载密钥

您可以在创建SSD企业级硬盘时加载密钥。

青云KMS适用对象

1、等保测评:通过采用密码技术保证重要数据在传输、存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息。满足等保数据保密性要求。

2、云计算数据安全:云服务用户通过使用密钥管理服务(KMS),实现自行对敏感、核心数据的加解密过程。实现用户可控的数据安全加密,避免数据安全事故的发生。

3、开发者:满足Kubernetes集群 Secret落盘加密、信封加解密本地数据、在线加解密 SSL私钥、敏感配置文件等需求。

青云KMS应用场景

1、云产品(云硬盘)加密

随着云计算、云存储的广泛应用,越来越多的企业将重要核心数据存储在云端,云产品的加密管理刻不容缓。青云KMS与大多数用于加密数据的其他青云的云服务集成。您通过使用在KMS中管理的密钥,云产品可以加密任何归属于您的数据。这些数据既可以是您可以直接访问的数据,也可以是您无法直接访问的云产品内部数据(例如数据库引擎产生的文件)。从而达到增加云上数据的安全和隐私目的。

2、信封加密

信封加密是类似数字信封技术的一种加密手段。这种技术将加密数据的数据密钥封入信封中存储、传递和使用,不再使用主密钥直接加解密数据。当您的业务需要使用信封加密时,您可以调用KMS的API生成一个对称密钥,同时使用指定的用户主密钥加密该对称密钥(被密封的信封保护)。在传输或存储等非安全的通信过程中,直接传递被信封保护的对称密钥。当您需要使用该对称密钥时,打开信封取出密钥即可。

3、密钥轮转

多次重复的使用加密密钥,会增加加密密钥的安全风险。密钥轮转是用来加强密钥使用的安全性,实现数据保护的安全策略和最佳实践。开启密钥轮换后,密钥管理服务会根据设置的轮换周期(默认一年)自动轮换密钥,每次轮换都会生成一个新版本的用户主密钥。加密数据时,KMS会自动使用当前最新版本的用户主密钥来执行加密操作;解密数据时,KMS会自动使用加密时所使用的用户主密钥来执行解密操作。KMS会保留与该用户主密钥关联的所有版本的用户主密钥。这使得KMS可以解密使用该用户主密钥加密的任何密文。

青云KMS功能介绍

功能架构图

主要功能如下:

1、密钥管理:您可以按需创建多个用户主密钥CMK。KMS CMK满足审计、法规和合规性需求的情况。支持对密钥进行修改、禁用、启用、计划删除等操作。默认开启密钥轮转功能,加强密钥使用的安全性,实现数据保护的安全策略和最佳实践。

2、密钥加密存储:密钥常用于保护特定的数据,因此数据的安全依赖于密钥的安全。支持对用户主密钥CMK多重加密存储,保障CMK不泄露。

3、密钥操作API:您可以通过API的方式进行用户主密钥CMK创建、数据密钥创建、在线加解密、密钥轮转等操作。

更多信息详见:https://docsv3.qingcloud.com/security/key_management_service/

KubeSphere 容器平台 3.1.0 Release Notes

关于 KubeSphere 

KubeSphere® 是经 CNCF 认证的 Kubernetes 主流开源发行版之一,在 Kubernetes 之上提供多种以容器为资源载体的业务功能模块,如多租户管理、集群运维、应用管理、DevOps、微服务治理等功能。 KubeSphere® 初始安装请参考安装部署指南

如何获取 v3.1.0

新功能及增强

多集群管理

  • Member 集群管理服务轻量化,移除 Redis、OpenLDAP 等组件 #3056
  • 简化添加集群的操作,并验证集群配置(如 jwtSecret)有效性 #3232
  • 可按需配置集群控制器同步时间段 #3213
  • 重构集群控制器,优化逻辑 #3234
  • 支持以高可用方式运行 Tower 管理和代理服务 #31
  • 升级工具箱中的 Kubectl 且与 Kubernetes 集群版本保持一致 #3103

边缘节点管理

集成 KubeEdge #3070

  • 支持 KubeEdge 云端组件的安装部署
  • 支持 KubeEdge 边缘节点的添加
  • 支持边缘节点的日志和监控数据采集
  • 支持边缘节点网络配置自动化的加入和退出
  • 边缘节点在加入集群时,支持自动添加污点
  • 支持通过添加 nodeAffinity 禁止云端工作负载(如 DaemonSet)调度到边缘节点 #1295 #1297 1300
  • 支持调度工作负载至边缘节点

认证和权限管理

  • 新用户首次登录,提示修改初始密码
  • 通过第三方平台登录 KubeSphere,需确认帐户信息
  • 支持 CAS 身份提供商 #3047
  • 支持 OIDC 身份提供商 #2941
  • 支持 IDaaS (Alibaba Cloud Identity as a Service) 身份提供商 #2997
  • 支持 Service Account 管理 #3211
  • 改善 LDAP 认证插件,支持 LDAPS 和搜索过滤 #2970 #3766
  • 改善认证插件,简化身份提供商的配置方式 #2970

多租户管理

  • 支持用户组管理,可将用户组添加至企业空间或项目参与协同 #2940
  • 支持企业空间配额,可限制企业空间的资源用量 #2939

网络

  • 新增支持 Kube-OVN 插件
  • 支持 Calico IP 池管理 #3057
  • 支持为 Deployment 指定静态 IP #3058
  • 支持网络可视化 #3061 #583

可观测性

  • 优化集成已有 Prometheus 服务对接方式 #3068 #1164 Guide
  • 新增 Thanos Ruler (Thanos v0.18.0) 用于新版告警
  • 升级 Prometheus 至 v2.26.0
  • 升级 Prometheus Operator 至 v0.42.1
  • 升级 kube-state-metrics 至 v1.9.7
  • 升级 metrics-server 至 v0.4.2
  • 升级 Notification Manager 至 v1.0.0 Releases
  • 升级 FluentBit Operator 至 v0.5.0 Releases
  • 升级 FluentBit 至 v1.6.9
  • 升级 KubeEvents 至 v0.2.0
  • 升级 Kube-Auditing 至 v0.1.2

监控

  • 支持图形化方式配置 ServiceMonitor #1031
  • 支持 PromQL Auto-completion 和 Syntax Highlighting #1307
  • 支持集群层级的自定义监控 #3193
  • kube-scheduler 与 kube-controller-manager 数据抓取由 HTTP 端口 10251/10252 改为 HTTPS 端口 10259/10257 #1367

告警

  • 支持 Prometheus 风格的告警规则配置管理 #3181
  • 支持平台及项目层级的告警规则 #3181
  • 支持显示告警规则的实时告警状态 #3181

通知管理

  • 新增钉钉、企业微信、Slack 和 Webhook 通知方式,提供图形化管理 #3066

日志

  • 支持将日志输出到 Loki #39
  • 支持收集 kubelet/docker/containerd 的日志 #38
  • 支持收集 auditd 的日志 #45

DevOps

  • 支持 GitLab 多分支流水线 #3100
  • 可同时启动并运行多条流水线 #1811
  • 支持流水线复制 #3053
  • 新增权限可控的流水线审核机制 #2483 #3006
  • 访问 DevOps 工程首页可查看流水线运行状态 #3007
  • 支持通过流水线 Tag 触发流水线运行 #3051
  • 支持 S2I Webhook #6
  • 优化在输入错误的流水线定时参数时的提示信息 #2919
  • 优化创建流水线的交互体验 #1283
  • 优化 S2I 错误提示信息 #140
  • 升级 Jenkins 至 2.249.1 #2618
  • 调整 Jenkins 部署方式为 Jenkins Distribution #2182

应用商店及应用

  • 新增 MySQL 高可用集群应用:XenonDB
  • 支持修改已部署的应用模板
  • 支持查看应用模板部署失败的原因 #3036 #3001 #2951
  • 支持批量删除应用模板

微服务治理

  • 支持图形化流量方向检测,图像化方式显示应用 (Composing App) 流量的流入/流出 #3153
  • 支持 Kiali 附加组件,用户可以通过 Kiali 直接管理 Istio #3106
  • 支持 NGINX Ingress Gateway 的监控,新增 NGINX Ingress Controller 的监控指标 #1205
  • 支持在创建应用时添加应用路由 #1426
  • 升级 Istio 至 1.6.10 #3326

计量计费

  • 支持集群、企业空间和应用级别的应用消耗量统计 #3062
  • 通过 ConfigMap 方式可为计量资源配置计费单价

UI 页面优化

  • 优化首页的 Loading 效果
  • 优化 kubectl 为独立页面
  • 优化可视化流水线的配置显示
  • 优化流水线的运行状态的错误显示
  • 优化代码仓库的筛选方式
  • 优化节点调度策略的设置方式
  • 优化部署模式的设置方式

重要的技术调整

  • 升级 Kubernetes 版本依赖,从 v1.17 调整至 v1.18 #3274
  • 升级 Prometheus client_golang 版本依赖至 v1.5.1,升级 Prometheus 版本依赖至 v1.8.2 3097
  • 基于 CRD 重构应用管理框架 OpenPitrix 并修复原有架构导致的问题 #3036 #3001 #2995 #2981 #2954 #2951 #2783 #2713 #2700 #1903
  • 告警架构调整,不再使用 MySQL、Redis 和 etcd 等组件以及旧版告警规则格式。改为使用 Thanos Ruler 配合 Prometheus 内置告警规则进行告警管理,新版告警兼容 Prometheus 告警规则。KubeSphere v3.0.0 中旧版告警规则会在升级到 v3.1.0 后自动迁移为新版告警规则
  • 通知架构调整,不再使用 MySQL、Redis 和 etcd 等组件。改为使用 Notification Manager 以 CRD 的方式配置通知渠道。通知渠道设置由告警规则级别调整为集群级别,且多集群仅需设置一次通知渠道

废弃或移除的功能

  • 依赖 MySQL、Redis 和 etcd 等组件的旧版告警与通知被新版告警与通知替代
  • 容器终端 WebSocket API 发生变更 #3041

问题修复

  • 修复帐户无法登录的问题 #3132 3357
  • 修复容器日志不支持ANSI Color的问题 #1322
  • 修复以 kube 起始命名的项目(即 Namespace)下的微服务应用无法获取 Istio 相关的监控数据的问题 #3126
  • 修复 Viewer 可进入容器终端的安全隐患 #3041
  • 修复级联资源无法被删除的问题 #2912
  • 修复 Kubernetes 1.19 及以上版本无法正常使用的问题 #2928 #2928
  • 修复微服务应用监控按钮无效的问题 #1394
  • 修复灰度发布的服务名不能与微服务应用的标签名相同的问题 #3128
  • 修复微服务应用状态无法更新的问题 #3241
  • 修复 Host 和 Member 集群在有同名企业空间的情况下,Member 集群下的企业空间被删除的问题 #3169
  • 修复通过 Proxy 方式下联邦多集群连接断开的问题 #3202
  • 修正多集群状态显示问题 #3135
  • 修复 DevOps 流水线中无法部署工作负载的问题 #3112
  • 修复 DevOps 工程管理员无法下载 Artifact 的问题 #3088
  • 修复 DevOps 无法创建流水线的问题 #3105
  • 修复多集群下流水线触发的问题 #2626
  • 修复某些情况下编辑流水线时导致的数据丢失问题 #1270
  • 修复点击 Docker Container Registry Credentials 时的报错问题 #1269
  • 修复英文控制台显示中文代码质量检查结果的问题 #1278
  • 修复 Jenkinsfile 中包含布尔值时的显示报错问题 #3043
  • 修复当 PVC 不含有 StorageClassName 时存储管理页面无法显示的问题 #1109

计量计费

多通知渠道

流水线模板

控制台充值渠道增加“微信支付”

为了方便您充值,我们在控制台增加了微信支付的充值渠道,充值成功后可以实时到账。 目前充值有金额限制,每次100~10000元。

另外,我们的银行卡支付目前是对接的支付宝的第三方支付,由于支付宝有更新目前已经不支持“平安银行”,我们本次下线了“平安银行”的充值入口。

账号认证新增手机扫码快速认证流程

为帮助用户更高效的完成完成账户认证,新增通过微信扫码完成个人或企业认证,整个流程大约需要 1-2 分钟,流程结束后认证结果即时生效。具体流程请参考:

个人扫码认证

1.登录控制台,点击“账户信息”—访问“认证信息”界面,认证类型选择“个人认证”。认证方式,选择“扫码认证”。

2. 点击后,弹出二维码,用微信扫描二维码

3.手机微信打开青云实名认证界面,上传身份证正面照片和身份证反面照片,系统自动识别信息填入信息框,核实无误后,点击下一步。

4. 开用户本人在光线充足的地方,拍摄一段视频,点击开始拍摄后,需要本人用普通话读出图片中4位/6位数字。

5. 拍摄完成后,请等待10-20秒左右,即可完成认证。

 

企业扫码认证
1. 登录控制台,点击“账户信息”—访问“认证信息”界面,认证类型选择“企业认证”。认证方式,选择“扫码认证”。

2. 点击后,弹出二维码,用手机微信扫描二维码。

3. 手机微信打开青云实名认证界面,依次上传企业营业执照图片、身份证正面图片和身份证反面图片。点击”下一步“。

4. 系统识别出企业相关信息,核实无误后,填写本人个人信息。点击“验证资料”,验证资料需要10-20秒,请耐心等待。

5. 资料通过后,开始进行人脸识别,开用户本人在光线充足的地方,拍摄一段视频,点击开始拍摄后,需要本人用普通话读出图片中4位/6位数字。


6. 拍摄完成后,请等待10-20秒左右,即可完成认证。

 

青云QingCloud云计算管理平台4.7版本亮点荟萃

云计算管理平台是青云QingCloud 企业云平台的管理、运维及运营系统(BOSS),v4.7 版本提供更加的丰富的运维与运营功能:

一、运维能力加强

1.1.资源池用量预测

运维能力加强的第一个功能点是“资源池用量预测”。

青云云平台的安置组用于根据硬件类型划分资源调度策略,根据不同类型的资源调度请求下发到不同安置组的计算节点,管理员可以根据实际资源池划分需求,配置相应的安置组规则,但不同安置组之间不会触发自动迁移;

目前不管是公有云,还是私有云,都需要有数据能够帮助管理员规划扩容;特别是私有云客户,由于私有云客户硬件采购周期很长,他们的运维人员非常需要知道各种资源扩容的启动时间和扩容数量。

如上图所示,为 “资源用量预测” 中的 “安置组用量预测”,在后续的规划中将有更多的资源类型(例如EIP)会开放用量预测的功能。 在该功能中,预计可用时间剩余1~20 天的资源会用【红色】警示, 预计可用时间超过20天但小于90天内的资源用【橙色】提示。

对于每个安置组的用量预测,会使用到安置组内各类资源的监控数据,通过该组监控数据,计算预测出一个“用量燃尽”数值。 由于监控了该安置组内 CPU 、VCPU、物理内存、虚拟内存、物理硬盘、虚拟硬盘等多维度数据, 当某个资源最先达到 “用量燃尽” 预警状态时,该安置组就会处于 “用量燃尽” 预警状态。

为了能让客户自由定义触发扩容通知的资源用量阈值。 在用量预测中,提供了针对各种资源自定阈值的功能,当超过客户设定的阈值时,就会触发通知。同时,对于处于警告状态下的安置组,也可以配置通知规则,将告警信息通知到指定的运维人员。

Continue reading

发票抬头管理和地址管理功能上线

为了避免用户每次申请发票都需要输入一次发票抬头信息和地址。我们在控制台开放了发票抬头管理和地址管理的功能。通过这个功能,您可以保存您的发票抬头信息和地址信息,在该功能上线时,我们也使用您最新一次的发票申请记录中的抬头对数据进行了初始化,如果需要,您可以进行更改。

1、发票抬头管理

您可以通过【费用中心→发票管理】界面 , 新增和修改发票抬头:

发票抬头添加完成后,在申请发票的时候就会自动的带出您保存的抬头信息:

关于个人增值税普通发票、企业普通增值税发票、企业专用增值税发票的抬头添加限制,还是和以往保持一致,本次并未修改。

PS:发票抬头的修改,虽然您可以随时进行,但是在发票审核时,我们财务人员还是检查发票抬头信息是否符合标准,所以请谨慎修改。

2、邮寄地址管理

        通过这个菜单,您可以维护5个邮寄地址并设为默认的邮寄地址,在发票申请时,可以直接选择寄送到默认地址。

控制台消费预估支持自定义期限

为了满足您对于消费预估的差异化需求,我们支持在消费预估界面设置【默认预估时长】,通过这个功能,您可以设置您期望看到的时间维度(例如:小时、天、月、季、年)的消费预估,方便您提前对账户余额进行充值,避免因费用不足引起资源暂停。

  • 设置入口

  • 默认预估时长设置

当设置为7天时,下面这些界面的费用预估维度就是7天的,当设置为30天时,下面这些界面的费用预估维度就是30天的,其他同理。

  • 设置后影响界面

1)工作台–>消费预估

2)费用中心–>账户总览

3)项目总览

4)费用中心–>消费预估

 

预留合约未绑定资源时,支持界面查询和通知

目前,我们采用预留合约的模式来实现用户的包年包月购买,预留合约只是一个合约产品,需要去绑定资源,合约开始生效后,不管合约是否全部被绑定,或者是否被绑定,合约都会计费,这样用户会在不知情的情况下,被收取费用,实际没有资源绑定在合约中。

为了避免用户存在收费中的空预留合约,预留合约在计费但是没有资源在计费的情况,我们对控制台和通知功能做了升级,目的是让用户能够方便的定位到未绑定资源的合约。

  • 控制台改动

1)界面改动1-支持快速查看未绑定资源的合约(包括主机和硬盘的预留合约界面)

2)界面改动2-支持根据合约id查询合约(包括主机和硬盘的预留合约界面)

  • 增加如下通知

目的:帮助用户即使发现有未绑定资源的合约,并且提醒用户。

通知名称:合约未绑定资源提醒

通知标题:

[QingCloud] wzw1511it, 您有2个计费中的预留合约未绑定/完全绑定资源,

通知内容:

您好,您有如下N个预留合约未完全绑定资源,在此期间,合约都正常收费,请您及时绑定资源以免造成浪费。可前往:预留合约(主机)/预留合约(硬盘)界面进行操作。

合约id
合约产品类型
合约包括的资源数量
 未绑定合约的资源
合约失效日期
是否自动续费
rc-dfe234 主机 5 3 2039-1-2
rc-dfe235 硬盘 4 2 2020-1-2

提醒逻辑:

1)每天早上9:00对用户的合约情况进行检查,发现合约未绑定资源时发送通知。

2)针对主机硬盘的预留合约产品

3)主账户和非独立计费的子账户,独立计费的子账户,该信息都作为财务通知发送给相应账户。

4)满足条件的合约的检查逻辑

1、合约目前是在合约期(不包括OPEN期,因为OPEN期已存在未绑定提醒)

2、合约未完全绑定资源(绑定合约的资源数量<合约可绑定的资源数量)

3、每天判断,如果符合提醒条件,每个合约id,按是否完全绑定去判断,每个自然月连续发送3天后这个月内不再继续发送。