• 沒有找到結果。

对象存储服务_云审计服务 CTS_用户指南_支持审计的服务及详细操作列表_存储_华为云

N/A
N/A
Protected

Academic year: 2022

Share "对象存储服务_云审计服务 CTS_用户指南_支持审计的服务及详细操作列表_存储_华为云"

Copied!
177
0
0

加載中.... (立即查看全文)

全文

(1)

用户指南

文档版本 01

发布日期 2022-02-11

(2)

版权所有 © 华为技术有限公司 2022。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

(3)

目 录

1 管理追踪器... 1

1.1 创建追踪器... 1

1.2 配置追踪器... 3

1.3 停用/启用追踪器... 5

1.4 删除追踪器... 5

2 云审计服务应用示例... 7

2.1 安全审计...7

2.2 问题定位...8

2.3 资源跟踪...9

3 云审计服务事件参考... 10

3.1 事件结构... 10

3.2 事件样例... 12

4 校验云审计事件文件完整性...15

4.1 开启事件文件完整性校验功能... 15

4.2 摘要文件... 15

4.2.1 摘要文件简介及存储路径... 15

4.2.2 摘要文件命名格式... 16

4.2.3 摘要文件结构... 16

4.2.4 摘要文件样例... 17

4.2.5 摘要文件签名... 17

4.2.6 摘要文件注意事项... 17

4.3 事件文件完整性校验... 18

5 支持审计的服务及详细操作列表...24

5.1 计算... 24

5.1.1 弹性云服务器... 24

5.1.2 镜像服务... 27

5.1.3 裸金属服务器... 28

5.1.4 云容器引擎... 28

5.1.5 云容器实例... 32

5.1.6 弹性伸缩... 36

5.1.7 函数工作流服务...37

5.1.8 云手机... 38

(4)

5.2 存储... 39

5.2.1 云服务器备份服务... 39

5.2.2 对象存储服务... 40

5.2.3 云硬盘服务... 42

5.2.4 云硬盘备份服务...46

5.2.5 内容分发网络服务... 46

5.2.6 弹性文件服务... 47

5.2.7 存储容灾服务... 48

5.2.8 云备份服务... 49

5.2.9 云存储网关服务...50

5.3 网络... 51

5.3.1 虚拟私有云... 51

5.3.2 云专线... 55

5.3.3 弹性负载均衡... 56

5.3.4 云解析服务的 Region 级... 57

5.3.5 云解析服务的 Global 级...57

5.3.6 云速建站... 58

5.3.7 云连接... 59

5.3.8 虚拟私有云终端节点服务... 60

5.3.9 虚拟专用网络... 60

5.4 迁移... 61

5.4.1 对象存储迁移服务... 61

5.4.2 主机迁移服务... 61

5.5 专属云...62

5.5.1 专属企业存储服务... 62

5.6 管理与部署... 63

5.6.1 云审计服务... 63

5.6.2 云监控... 64

5.6.3 应用运维管理... 65

5.6.4 应用性能管理... 66

5.6.5 统一身份认证... 67

5.6.6 云目录服务... 67

5.6.7 标签管理服务... 68

5.6.8 云性能测试服务...69

5.6.9 云运营中心... 70

5.6.10 云日志服务... 70

5.6.11 资源管理服务...71

5.7 应用服务... 71

5.7.1 消息通知服务... 71

5.7.2 分布式消息服务 Kafka... 72

5.7.3 分布式消息服务 RabbitMQ... 74

5.7.4 分布式缓存服务...76

(5)

5.7.6 API 网关... 87

5.7.7 应用编排服务... 88

5.7.8 区块链服务... 89

5.7.9 容器镜像服务... 90

5.7.10 基因测序服务...92

5.7.11 API 开发者门户... 93

5.7.12 云特效...93

5.7.13 API 错误中心...94

5.8 数据库...94

5.8.1 分布式数据库中间件... 94

5.8.2 关系型数据库... 96

5.8.3 数据复制服务... 97

5.8.4 文档数据库服务...98

5.8.5 云数据库 GaussDB NoSQL... 99

5.8.6 云数据库 TaurusDB... 101

5.9 软件开发云 DevCloud... 102

5.9.1 软件开发平台...102

5.9.2 项目管理... 102

5.9.3 代码托管... 103

5.9.4 编译构建... 103

5.9.5 代码检查... 104

5.9.6 云测... 105

5.9.7 发布... 106

5.9.8 部署... 107

5.9.9 流水线...107

5.9.10 CloudIDE... 108

5.9.11 Classroom... 108

5.9.12 激励系统... 109

5.9.13 专家服务... 109

5.9.14 意见反馈... 109

5.9.15 悟空插件平台... 110

5.9.16 DevStar... 111

5.9.17 Mock 中心...112

5.10 物联网...113

5.10.1 设备接入服务... 113

5.10.2 全球 SIM 联接服务... 114

5.10.3 路网数字化服务... 114

5.10.4 IoT 边缘... 115

5.11 安全... 115

5.11.1 数据加密服务... 115

5.11.2 Anti-DDoS 流量清洗服务... 116

(6)

5.11.3 Web 应用防火墙...116

5.11.4 SSL 证书管理... 117

5.11.5 漏洞扫描服务... 118

5.11.6 DDoS 高防服务...119

5.11.7 主机漏洞检测... 120

5.11.8 数据库安全服务... 120

5.11.9 企业主机安全... 121

5.11.10 安全中心... 121

5.11.11 云堡垒机... 122

5.11.12 容器安全服务... 123

5.11.13 云证书管理服务... 124

5.12 企业应用... 124

5.12.1 应用与数据集成平台 ROMA Connect...124

5.13 云通信...130

5.13.1 语音通话... 130

5.13.2 消息&短信服务... 131

5.14 EI 企业智能... 131

5.14.1 MapReduce 服务... 131

5.14.2 数据湖探索服务... 131

5.14.3 数据仓库服务... 132

5.14.4 数据接入服务... 133

5.14.5 CloudTable 服务...133

5.14.6 图引擎服务...134

5.14.7 云搜索服务...135

5.14.8 推荐系统... 135

5.14.9 数据湖工厂服务... 136

5.14.10 云数据迁移... 137

5.14.11 内容审核... 137

5.14.12 对话机器人服务... 137

5.14.13 ModelArts... 139

5.14.14 视频分析服务... 140

5.14.15 语音识别... 140

5.14.16 图像识别... 141

5.14.17 水智能体... 141

5.14.18 慧眼 HiLens... 142

5.14.19 数据湖治理中心... 143

5.14.20 自动驾驶云服务... 147

5.14.21 运筹优化算法服务... 147

5.14.22 知识图谱... 148

5.14.23 文字识别服务... 148

5.15 边缘云服务... 148

5.15.1 智能边缘平台... 148

(7)

5.16 用户服务... 149

5.16.1 企业管理服务... 149

5.17 支持与服务... 150

5.17.1 专业服务... 150

5.18 由底层服务触发的操作与 OpenStack 原生接口的关系... 151

6 权限管理... 161

7 配额调整... 163

A 修订记录... 164

(8)

1 管理追踪器

1.1 创建追踪器

操作场景

云审计服务管理控制台支持创建数据事件追踪器,用于记录数据操作日志。

追踪器分两类,包括管理事件追踪器和数据事件追踪器。管理事件追踪器用于记录管 理事件,即针对所有云资源的操作日志,例如创建、登录、删除等。数据事件追踪器 用于记录数据事件,即针对数据的操作日志,例如上传、下载等。

由于您在开通云审计服务时,系统已为您自动创建了一个管理事件追踪器,管理事件 追踪器只能有一个且不可删除,故您自行创建的追踪器均为数据事件追踪器。

说明

因OBS服务不存在子项目的情况,所以在云审计服务子项目下创建的数据追踪器无法追踪到OBS 日志,可在主项目下创建数据追踪器。

操作步骤

1. 如果您是以主帐号登录华为云,请直接进行步骤2;如果您是以IAM用户登录华为 云,需要联系管理员(主帐号、admin用户组中的用户或被授予了“Security Administrator权限”的用户)对IAM用户授予以下权限:

a. Security Administrator b. CTS FullAccess

授权方法请参见给IAM用户授权。

2. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务授权 页面,如下图所示。

(9)

3. 单击“同意授权并开通”,进入云审计服务页面。

说明

1. 同意授权并开通CTS服务后,系统会自动为您创建以下管理追踪器,用于记录管理事 件,即针对所有云资源的操作日志,例如创建、登录、删除等:

● 自动在当前region创建1个管理追踪器,用于记录区域级服务的管理事件。

● 自动在华北-北京四区域创建1个管理追踪器,用于记录全局级服务(如IAM服务)的管 理事件。

4. 单击左侧导航树的“追踪器”,进入追踪器信息页面。

5. 单击页面右上角的“创建追踪器”。

6. 在创建追踪器页面填写相关参数。

– 基本信息

追踪器类型:仅可选择“数据事件”。

追踪器名称:为追踪器取名,便于识别。

追踪对象:选择您存储数据的容器,当前为OBS桶。

追踪操作:选择需要记录日志的数据操作。

事件分析:开启“事件分析”。

事件分析位置。

– OBS转储

OBS转储:

当选择是否转储OBS为“转储”时,您可以选择已存在的OBS桶或直接 通过配置页面新建OBS桶,并配置操作事件文件前缀。

如果配置OBS桶转储为“不转储”时,则无需配置相应参数。

创建新的OBS桶:若打开此开关,在您填写一个桶名后系统将自动为您 创建一个OBS桶。若关闭开关,则需要您选择一个已有的OBS桶。

转储OBS桶:您可以直接新建OBS桶或选择已存在的OBS桶。

(10)

保存周期:选择转储至OBS桶中日志的保存时长。

事件文件前缀:用于标识被转储的事件文件,该字段支持用户自定义,

会自动添加在转储事件文件的文件名前端,方便用户快速进行筛选。

开启文件校验:可以检验转储至OBS桶的数据是否被篡改,保障事件文 件的完整性。如何校验文件完整性可参考校验云审计事件文件完整性。

7. 单击“确定”完成追踪器的创建。

1.2 配置追踪器

操作场景

云审计服务管理控制台支持对已创建的追踪器增加OBS转储的相关配置。

用户可以选择是否将已记录的事件发送到OBS桶永久保存。如果用户想要对事件进行 统一管理,还可以设置将多个帐号记录的事件统一转储到一个OBS桶。

说明

OBS桶有标准存储、低频访问存储和归档存储三种类型。由于云审计服务需要高频次的访问转储 的OBS桶,因此必须使用标准存储类型的OBS桶。

配置追踪器完成后,系统立即以新的规则开始记录操作。

本节介绍如何配置追踪器。

前提条件

已开通云审计服务。

操作步骤

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务详情 页面。

4. 单击左侧导航树的“追踪器”,进入追踪器信息页面。

5. 在追踪器信息右侧,单击操作下的“配置”。

(一)配置管理事件追踪器

– 当选择是否转储OBS为“转储”时,

i. 您可以设置事件文件转储的OBS桶所属用户为当前用户或者其他用户。

(11)

● 您可以通过“OBS桶所属用户”设置转储OBS桶所属的用户,默认设置为

“当前用户”。

● 当设置为“当前用户”时,您可以选择已存在的OBS桶或直接通过配置页面 新建OBS桶。

● 当设置为“其他用户”时,您需要手动输入待转储的其他用户OBS桶的桶 名。该OBS桶需向当前用户授权,且需保证OBS桶名输入正确,否则会转储 失败。

ii. 您可选择已存在的OBS桶或直接通过配置页面新建OBS桶。云审计服务 会自动为该OBS桶挂载转储所需的桶策略。

说明

云审计服务仅保存近7天的事件,您可通过配置对象存储服务(Object Storage Service,以下简称OBS),将事件同步、长期保存至OBS桶。

iii. “操作事件文件前缀”用于标识被转储的事件文件,该字段支持用户自 定义,会自动添加在转储事件文件的文件名前端,方便用户快速进行筛 选。

iv. 您可以选择是否为转储在OBS桶中的事件文件进行加密处理,并选择预 先创建的密钥。

v. “开启文件校验”可以检验转储至OBS桶的数据是否被篡改,保障事件 文件的完整性。如何校验文件完整性可参考校验云审计事件文件完整 性。

– 如果配置OBS桶转储为“不转储”时,则无需配置相应参数。

(二)配置数据事件追踪器

– 追踪操作:配置需要记录日志的数据操作。

– OBS转储:

当选择是否转储OBS为“转储”时,您可以选择已存在的OBS桶或直接通过 配置页面新建OBS桶,并配置操作事件文件前缀。

如果配置OBS桶转储为“不转储”时,则无需配置相应参数。

– 创建新的OBS桶:若打开此开关,在您填写一个桶名后系统将自动为您创建 一个OBS桶。若关闭开关,则需要您选择一个已有的OBS桶。

– 转储OBS桶:您可以直接新建OBS桶或选择已存在的OBS桶。

– 保存周期:选择转储至OBS桶中日志的保存时长。

– 事件文件前缀:用于标识被转储的事件文件,该字段支持用户自定义,会自 动添加在转储事件文件的文件名前端,方便用户快速进行筛选。

– 开启文件校验:可以检验转储至OBS桶的数据是否被篡改,保障事件文件的 完整性。如何校验文件完整性可参考校验云审计事件文件完整性。

6. 单击“确定”,完成配置追踪器。

追踪器配置成功后,您可以在追踪器信息页面查看配置的追踪器的详细信息。

说明

因为CTS所存储的事件是周期性转储到OBS桶的,因此当您配置了追踪器所对应的OBS桶 后,当前转储周期内(通常为数分钟)已收到事件会转储到配置后的OBS桶中。例如当前 转储周期为12:00~12:05,用户在12:02分修改了当前追踪器对应的OBS桶,那么

12:00~12:02分之间收到的事件会在12:05分时转储到新配置的OBS桶中。

(12)

1.3 停用/启用追踪器

操作场景

云审计服务管理控制台支持停用已创建的追踪器。追踪器停用成功后,系统将不再记 录新的操作,但是您依旧可以查看已有的操作记录。

本节介绍如何停用追踪器。

前提条件

已在云审计服务中成功创建追踪器。

操作步骤

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务详情 页面。

4. 单击左侧导航树的“追踪器”,进入追踪器信息页面。

5. 在追踪器信息右侧,单击操作下的“停用”。

6. 单击“确定”,完成停用追踪器。

追踪器停用成功后,操作下的“停用”切换为“启用”。如果您需要重新启用追 踪器,单击“启用 > 确定”,则系统重新开始记录新的操作。

1.4 删除追踪器

操作场景

云审计服务管理控制台支持删除已创建的数据事件追踪器。删除数据事件追踪器对已 有的操作记录没有影响,当您重新开通云审计服务后,依旧可以查看已有的操作记 录。

须知

删除追踪器一个小时后,用户需要在追踪器对应OBS桶中手动删除格式为*:user/* 的桶 策略。如OBS桶中有多个*:user/* 的桶策略,请联系客服人员进行确认后再删除相关的 桶策略。

本节介绍如何删除追踪器。

前提条件

已在云审计服务中成功创建追踪器。

(13)

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务详情 页面。

4. 单击左侧导航树的“追踪器”,进入追踪器信息页面。

5. 在追踪器信息右侧,单击操作下的“删除”。

6. 单击“确定”,完成删除追踪器。

(14)

2 云审计服务应用示例

2.1 安全审计

操作场景

根据云审计服务收集的日志记录,通过查询具体的、符合某一特征的记录,执行安全 分析,判断用户的操作是否符合权限要求。

前提条件

已开通云审计服务且追踪器状态正常。

操作步骤

以审计最近两周内云硬盘服务的创建和删除操作为例:

1. 以管理员权限登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务详情 页面。

4. 单击左侧导航树的“事件列表”,进入事件列表界面。

5. 在事件列表界面依次选择过滤条件,“事件类型”>“事件来源”>“资源类 型”>“筛选类型”,单击“查询”按钮执行搜索,查看过滤结果。

说明

过滤条件查询示例:依次选择“管理事件”>“EVS”>“evs”>“按事件名 称”>“createVolume”或“管理事件”>“evs”>“evs”>“按事件名

称”>“deleteVolume”,单击“查询”按钮执行搜索,查询七天以内所有创建或删除EVS 的操作。

6. 单击左侧导航树的“追踪器”,进入追踪器详情页面,获取OBS桶名。

7. 参照查看已归档事件章节下载7天之前或者所有的事件。

8. 在操作记录中,以createVolume和deleteVolume作为关键字检索,找到对应记 录。

(15)

权操作,或不符合用户自身安全操作规范的操作。

2.2 问题定位

操作场景

当现网某个特定资源或动作出现问题,可根据云审计服务收集的日志记录,通过查询 对应时间、对应资源的操作记录,查看当时的请求动作和响应,支撑问题定位分析。

前提条件

已开通云审计服务且追踪器状态正常。

操作步骤

以现网某个弹性云服务器在某日上午发生故障后的辅助定位为例:

1. 以管理员权限登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务详情 页面。

4. 单击左侧导航树的“事件列表”,进入事件列表界面。

5. 在事件列表界面依次选择过滤条件,“事件类型”>“事件来源”>“资源类 型”>“筛选类型”,单击“查询”,查看过滤结果。

说明

过滤条件查询示例:依次选择“管理事件”>“ECS”>“ecs”>“按资源ID”>“问题虚拟 机ID”,并在右上角时间条件设置窗口设置时间为某日上午6点到中午12点,查看过滤结 果。

6. 逐条查看操作记录,注意请求的类型和响应结果,特别关注“事件级别”为 warning和incident的事件,以及相应结果为失败的事件。

以现网进行创建弹性云服务器操作失败报错后的辅助定位为例:

1. 以管理员权限登录管理控制台。

2. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务详情 页面。

3. 单击左侧导航树的“事件列表”,进入事件列表界面。

4. 根据创建虚拟机弹性云服务器失败的操作,设置过滤条件:“管理事

件”>“ECS”>“ecs”>“事件级别”>“Warning”,在结果中查看事件名称为

“createServer”操作记录事件。

5. 查看操作记录,重点关注响应中的错误提示信息,根据错误提示代码或错误提示 信息进行问题定位分析。

(16)

2.3 资源跟踪

操作场景

根据云审计服务所记录的操作记录,可以查看任意云服务资源在其整个生命周期内的 操作记录,并检视具体操作的细节。

前提条件

已开通云审计服务且追踪器状态正常。

操作步骤

以查看某个弹性云服务器的所有操作记录为例:

1. 以管理员权限登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务详情 页面。

4. 单击左侧导航树的“事件列表”,进入事件列表界面。

5. 在事件列表界面依次选择过滤条件,“事件类型”>“事件来源”>“资源类 型”>“筛选类型”,单击“查询”执行搜索,查看过滤结果。

说明

过滤条件查询示例:依次选择“管理事件”>“ECS”>“ecs”>“按资源ID”>“问题虚拟 机ID”,单击“查询”执行搜索,查看最近7天的操作记录。

6. 单击左侧导航树的“追踪器”,进入追踪器详情页面,获取OBS桶名。

7. 参照查看已归档事件章节下载7天之前或者所有的事件。

8. 从第5步和第7步的结果中,检视该弹性云服务器的所有操作和变更记录。

(17)

3 云审计服务事件参考

3.1 事件结构

云审计服务用于标示每个操作事件关键字段的详细信息,具体如表3-1所示。

说明

● 为方便用户,部分字段在管理控制台呈现时进行了格式优化。

● 本章节将基于CTS管理控制台进行介绍和描述。

3-1 事件的关键字段

字段名称 是否必选 类型 描述

time 是 Date 事件发生时间。以当地标准时间(采用格

林威治时间加当地时区形式)进行展示,

例如:2016/12/08 11:24:04 GMT +08:00。在接口中,该字段以时间戳格 式进行传输和存储。该字段为格林威治时 间1970年01月01日00时00分00秒(北京 时间1970年01月01日08时00分00秒)至 现在的总毫秒数。

user 是 Structure 发起操作的云账户信息。

在界面事件列表中,该字段于Operator 列呈现。

该字段在API接口中以String类型进行传 输和存储。

request 否 Structure 操作的请求内容。

该字段在API接口中以String类型进行传 输和存储。

response 否 Structure 操作的响应内容。

该字段在API接口中以String类型进行传 输和存储。

(18)

字段名称 是否必选 类型 描述 service_type 是 String 操作来源。

resource_type 是 String 资源类型。

resource_nam

e 否 String 资源名称。

resource_id 否 String 资源的唯一标识。

source_ip 是 String 发起本次操作的用户的IP,若为系统内调 用,则为空。

trace_name 是 String 操作名称。

trace_rating 是 String 操作事件等级,分为normal(正常)、

warning(警告)和incident(事故)。

● normal:代表本次操作成功。

● warning:代表本次操作失败。

● incident:代表本次操作引起了比失败 更严重的后果,比如会造成节点故障 或用户业务故障等情况。

trace_type 是 String 操作类型,分为如下五种:

● ConsoleAction表示通过管理控制台执 行的操作。

● SystemAction表示系统内部触发的操 作。

● ApiCall表示调用ApiGateway触发的操 作。

● ObsSDK表示通过调用OBS 提供的 SDK 触发的关于OBS桶相关操作。

● Others表示除去通过“ObsSDK”触 发的关于OBS桶相关的操作。

api_version 否 String 作为操作来源的云服务的API版本号。

message 否 Structure 备注信息。

record_time 是 Number 记录操作的时间,表示方式为时间戳。

trace_id 是 String 操作的唯一标识。

code 否 Number 事件http返回码例如200,400 request_id 否 String 记录本次请求的request id

location_info 否 String 记录本次请求出错后,问题定位所需要的 辅助信息

endpoint 否 String 该操作涉及云资源的详情页面的 endpoint

(19)

resource_url 否 String 该操作涉及云资源的详情页面的访问链接

(不含endpoint)

user_agent 否 String OBS桶相关操作中非ObsSDK方式调用时 的操作类型。

content_lengt

h 否 Number OBS桶相关操作中请求消息体的长度。

total_time 否 Number OBS桶相关操作中请求的响应时间。

3.2 事件样例

以下提供云审计服务所收集事件的两个页面样例,并对其中常用的观察点进行了描 述,以方便用户更直观的理解事件信息。其他服务所产生的事件可参照以下样例理 解。

详细的字段解释可参考事件结构章节。

创建云服务器实例

{ "time": "2016/12/08 11:07:28 GMT+08:00", "user": {

"name": "aaa/op_service",

"id": "f2fe9fac63414a35a7d03108d5f1ea73", "domain": {

"name": "aaa",

"id": "1f9b9ba51f6b4061bd5c1736b28469f8"

} },

"request": { "server": {

"name": "as-config-15f1_XWO68TFC",

"imageRef": "b2b2c7dc-bbb0-4d6b-81dd-f0904023d54f", "flavorRef": "m1.tiny",

"personality": [],

"vpcid": "e4c374b9-3675-482c-9b81-4acd59745c2b", "nics": [

{

"subnet_id": "fff89132-88d4-4e5b-9e27-d9001167d24f", "nictype": null,

"ip_address": null, "binding:profile": null, "extra_dhcp_opts": null }

],

"adminPass": "********", "count": 1,

"metadata": {

"op_svc_userid": "26e96eda18034ae9a44130bacb967b96"

},

"availability_zone": "az1.dc1", "root_volume": {

"volumetype": "SATA", "extendparam": {

"resourceSpecCode": "SATA"

}, "size": 40

(20)

},

"data_volumes": [], "security_groups": [ {

"id": "dd597fd7-d119-4994-a22c-891fcfc54be1"

} ],

"key_name": "KeyPair-3e51"

} },

"response": {

"status": "SUCCESS", "entities": {

"server_id": "42d39b4a-19b7-4ee2-b01b-a9f1353b4c54"

},

"job_id": "4010b39d58b855980158b8574b270018", "job_type": "createSingleServer",

"begin_time": "2016-12-01T03:04:38.437Z", "end_time": "2016-12-01T03:07:26.871Z", "error_code": null,

"fail_reason": null },

"service_type": "ECS", "resource_type": "ecs",

"resource_name": "as-config-15f1_XWO68TFC",

"resource_id": "42d39b4a-19b7-4ee2-b01b-a9f1353b4c54", "source_ip": "",

"trace_name": "createSingleServer", "trace_rating": "normal",

"trace_type": "SystemAction", "api_version": "1.0",

"record_time": "2016/12/08 11:07:28 GMT+08:00", "trace_id": "4abc3a67-b773-11e6-8412-8f0ed3cc97c6"

}

在以上信息中,可以重点关注如下字段:

● "time":记录了事件发生的时间,本例中为12月8日上午11点07分28秒。

● "user":记录了操作用户的信息,本例中操作用户为企业帐户(domain字段)

aaa下的用户(name字段)aaa。

● "request":记录了创建ECS服务器的请求,可以抽取该ECS服务器的简单信息,如 name为as-config-15f1_XWO68TFC,资源id为

e4c374b9-3675-482c-9b81-4acd59745c2b。

● "response":记录了创建ECS服务的返回结果,可以抽取其中的关键信息,如创建 结果(status字段)为SUCCESS,错误码(error_code字段)和失败原因

(fail_reason字段)均为空(null)。

云硬盘实例

{ "time": "2016/12/08 11:24:04 GMT+08:00", "user": {

"name": "aaa",

"id": "26e96eda18034ae9a44130bacb967b96", "domain": {

"name": "aaa",

"id": "1f9b9ba51f6b4061bd5c1736b28469f8"

} }, "request": "", "response": "", "service_type": "EVS", "resource_type": "evs",

"resource_name": "volume-39bc",

"resource_id": "229142c0-2c2e-4f01-a1b4-2dfdf1c678c7",

(21)

"trace_rating": "normal", "trace_type": "ConsoleAction", "api_version": "1.0",

"record_time": "2016/12/08 11:24:04 GMT+08:00", "trace_id": "c529254f-bcf5-11e6-a89a-7fc778a6c92c"

}

在以上信息中,可以重点关注如下字段:

● "time":记录了事件发生的时间,本例中为12月8日上午11点24分04秒。

● "user":记录了操作用户的信息,本例中操作用户为企业帐户(domain字段)

aaa下的用户(name字段)aaa。

● "request":非必选字段,此处为空。

● "response":非必选字段,此处为空。

● "trace_rating":记录了事件的级别,可代替response字段提示用户操作结果,本 例中为normal,按事件结构章节中约束,即代表操作成功。

(22)

4 校验云审计事件文件完整性

4.1 开启事件文件完整性校验功能

操作场景

在安全和事故调查中,通常由于事件文件被删除或者被私下篡改,而导致操作记录的 真实性受到影响,无法对调查提供有效真实的依据。事件文件完整性校验功能旨在帮 助您确保事件文件的真实性。

操作步骤

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击左上角 ,选择“管理与监管 > 云审计服务 CTS”,进入云审计服务页 面。

4. 单击左侧导航树的“追踪器”,进入追踪器信息页面。

说明

若未开通云审计服务,单击“开通云审计服务”, 开通云审计服务步骤请参见开通云审计 服务章节。

5. 单击追踪器的配置按钮,在弹出的“配置追踪器”窗口中,打开“开启文件校 验”开关,单击确定按钮,即可开启事件文件完整性校验功能。

4.2 摘要文件

4.2.1 摘要文件简介及存储路径

摘要文件均包含前一小时内提交到OBS桶事件文件的名称、事件文件的哈希值以及前 一摘要文件的数字签名。同时摘要文件的数字签名存储在摘要文件对象的元数据属性 中。

OBS桶名>CloudTraces>地区标示>时间标示:年>时间标示:月>时间标示:日

>trackername>Digest>服务类型目录

(23)

4.2.2 摘要文件命名格式

操作事件文件前缀_CloudTrace-Digest_区域标示/区域标示-项目标示_摘要文件提交 至OBS的时间标示:年-月-日T时-分-秒Z.json.gz

例如:File Prefix_CloudTrace-Digest_region/region- project_2016-05-30T16-20-56Z.json.gz

4.2.3 摘要文件结构

4-1 摘要文件的关键字段

字段名称 是否必选 类型 描述

project_id 是 String 摘要文件记录的事件的用户ID。

digest_start_time 是 String 摘要文件记录的事件文件的起始UTC 时间。

digest_end_time 是 String 摘要文件记录的事件文件的结束UTC 时间。

digest_bucket 是 String 摘要文件提交到的OBS桶的名称。

digest_object 是 String 摘要文件存储在OBS桶中的位置。

digest_signature_

algorithm 是 String 用于对摘要文件进行签名的算法。

digest_end 是 Boolean 该摘要文件是否为摘要结束文件。

previous_digest_b

ucket 否 String 前一摘要文件提交到的OBS桶的名

称。

previous_digest_o

bject 否 String 前一摘要文件存储在OBS桶中的位

置。

previous_digest_h

ash_value 否 String 前一摘要文件的十六进制编码哈希 值。

previous_digest_h

ash_algorithm 否 String 用于对前一摘要文件进行哈希处理的 哈希算法。

previous_digest_s

ignature 否 String 前一摘要文件的数字签名。

previous_digest_e

nd 是 Boolean 前一摘要文件是否为摘要结束文件。

log_files 否 Array 摘要文件记录的事件文件列表。

bucket 是 String 事件文件提交到的OBS桶的名称。

object 是 String 事件文件存储在OBS桶中的位置。

log_hash_value 是 String 事件文件的十六进制编码哈希值。

(24)

字段名称 是否必选 类型 描述 log_hash_algorit

hm 是 String 用于对事件文件进行哈希处理的哈希

算法。

4.2.4 摘要文件样例

{ "project_id": "3cfb09080bd944d0b4cdd72ef2685712", "digest_start_time": "2017-03-28T01-09-17Z", "digest_end_time": "2017-03-28T02-09-17Z", "digest_bucket": "bucket",

"digest_object": "CloudTraces/cn-north-01/2017/3/28/Digest/EVS/mylog_CloudTrace-Digest_cn- north-01_2017-03-28T02-09-17Z.json.gz",

"digest_signature_algorithm": "SHA256withRSA", "digest_end": false,

"previous_digest_bucket": "bucket",

"previous_digest_object": "CloudTraces/cn-north-01/2017/3/28/Digest/EVS/mylog_CloudTrace-Digest_cn- north-01_2017-03-28T01-09-17Z.json.gz",

"previous_digest_hash_value": "5e08875de01b894eda5d1399d7b049fe", "previous_digest_hash_algorithm": "MD5",

"previous_digest_signature":

"7af7cbef4f3c78eab5048030d402810841400cf70eb22f93d4fedd13b13a8208a5dc04ce2f8bd0a4918f933ca3fc b17595ae59386a2dc3e3046fa97688a9815a2d036fa10193534c0ebbecff67221e22ac9cf8b781cbae3a81eaccfc 0a2bd1a99081b1e4fe99b19caa771876ba7cce16d002feb4578cd89bc6f1faaca639ab48f3cb56007bcc5e248968 f4a17a95b8cdbc7d8bbd7c63630da878cd4d471fc75c60bac5f730d94fefe8fdd2f2fa8accd62dbe100eab7773e79 15e91be4474291b9dacea63a8267390bcb4855b5825554ebb07d4a29ce077c364213c575c461d1e9fafa0c29fde 1c6de1d5630e015200821b2f3ae91e53cd8591433dd7c0b4c8bc",

"previous_digest_end": false, "log_files": [{

"bucket": "bucket",

"object": "CloudTraces/cn-north-01/2017/3/28/ECS/mylog_CloudTrace_cn- north-01_2017-03-28T02-09-17Z_0faa86bc40071242.json.gz",

"log_hash_value": "633a8256ae7996e21430c3a0e9897828", "log_hash_algorithm": "MD5"

}]}

4.2.5 摘要文件签名

摘要文件的签名信息位于摘要文件对象的两个元数据属性中。每个摘要文件都有如下 两个元数据项:

● meta-signature

摘要文件签名的十六进制编码值。下面是示例签名:

7af7cbef4f3c78eab5048030d402810841400cf70eb22f93d4fedd13b13a8208a5dc04ce2f8bd0a4918f933c a3fcb17595ae59386a2dc3e3046fa97688a9815a2d036fa10193534c0ebbecff67221e22ac9cf8b781cbae3 a81eaccfc0a2bd1a99081b1e4fe99b19caa771876ba7cce16d002feb4578cd89bc6f1faaca639ab48f3cb560 07bcc5e248968f4a17a95b8cdbc7d8bbd7c63630da878cd4d471fc75c60bac5f730d94fefe8fdd2f2fa8accd 62dbe100eab7773e7915e91be4474291b9dacea63a8267390bcb4855b5825554ebb07d4a29ce077c3642 13c575c461d1e9fafa0c29fde1c6de1d5630e015200821b2f3ae91e53cd8591433dd7c0b4c8bc

● meta-signature-algorithm

摘要文件签名的算法。下面是示例算法:

SHA256withRSA

4.2.6 摘要文件注意事项

● 启动摘要文件

(25)

前一摘要文件相关的以下字段将为空:

– previous_digest_bucket – previous_digest_object – previous_digest_hash_value – previous_digest_hash_algorithm – previous_digest_signature

● “空”摘要文件

即使在摘要文件记录的一小时时间段内您的账户中没有事件活动,云审计也将提 交摘要文件,该摘要文件内容最后的log_files:[]字段将为空。如果需要确定在摘要 文件记录的一小时内未提交事件文件,这非常有用。

● 摘要文件链

摘要文件包含前一摘要文件(如果存在)的数字签名及哈希值,这样可实现一个

“链”,在指定时间范围内的摘要文件可以从最近开始往前连续校验。

● 摘要文件桶

摘要文件提交到和事件文件相同的与跟踪器关联的OBS桶中。

● 摘要文件存储文件夹

摘要文件存放在与事件文件不同的文件夹中,分开放置便于您执行细粒度安全策 略。

4.3 事件文件完整性校验

操作场景

由于云审计采用了行业标准、可公开使用的签名算法和哈希函数,因此,您可以自行 创建用于校验云审计事件文件完整性的工具。原则上进行完整性校验时必须包含字段 time、service_type、resource_type、trace_name、trace_rating、trace_type,其他 字段由各服务自己定义。

启用事件文件完整性校验后,云审计将摘要文件提交到您的OBS桶中,您可以使用这 些文件实现自己的校验解决方案。有关摘要文件的更多信息,请参阅摘要文件。

操作前提

在进行事件文件完整性校验前,您需先了解云审计摘要文件的签名方式:

云审计摘要文件使用RSA数字签名,对于每个摘要文件,云审计执行以下操作:

1. 创建数字签名字符串(由指定摘要文件字段构成),获取RSA私钥。

2. 将数字签名字符串的哈希值和私钥传递给RSA算法,生成数字签名,将数字签名 编码成十六进制格式。

3. 将该数字签名放入摘要文件对象的meta-signature元数据属性中。

数字签名字符串包含以下摘要文件字段:

● UTC扩展格式的摘要文件结束时间戳(2017-03-28T02-09-17Z)。

● 当前摘要文件的OBS存储路径。

● 当前摘要文件(压缩后的)的哈希值(十六进制编码)。

(26)

● 前一摘要文件的十六进制数字签名。

操作步骤

实现事件文件完整性校验方案时,您需要先校验摘要文件,然后再校验其引用的事件 文件。

1. 获取摘要文件。

a. 从华为云官网下载“OBS Java SDK”(SDK下载),调用OBS客户端接口从 OBS桶中获取需要验证的时间范围的最新摘要文件。

b. 检查该摘要文件在OBS桶中的存储位置是否与摘要文件中记录的OBS桶存储 位置匹配。

c. 从摘要文件对象的 meta-signature元数据属性中获取摘要文件的数字签名。

2. 获取用于校验数字签名的RSA公钥。

当前云审计系统的RSA公钥是

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjQDkl8COPRhOCvm7ZI8sYZ20ojl+ay/

gwRSk9q0gkY3pP0RrAhSsEzgYdYjaMCqixkmbpt4AH9AROJU4drnoCAZSMqRxgv0bGC9kVd4q95l4zibsw AsksjuNQo/XoJjBl+rRAqCa+1uetgVU4k4Yx8RryYxYx/tImvMe/O4mGAIaTf+rsqt3VXR1QIj5lYR/nx41BEgC/

Kb1elYAfDaaab8WS5INRprj7qdu6oAo4Ug47WqbecvEtG3JRpj5+oqLyW41Fvse3osC0h5DQdxTt4x00/rVZ +gH7Kua00y7gC8YOxFVpYbfn/oW61PUDeHG/N9hUjOrIgDDJpD2YbCIQIDAQAB。

说明

该公钥每180天会更新一次。

3. 获取数字签名字符串。

有了摘要文件的数字签名及RSA公钥后,您需要计算数字签名字符串。计算出数 字签名字符串后,您就有了验证数字签名所需的输入。

数字签名字符串采用以下格式:

signature_string = digest_end_time + digest_object

+ Hex(hash(digest-file-content)) + previous_digest_signature

下面是数字签名字符串的示例:

2017-03-28T02-09-17ZCloudTraces/cn-north-01/2017/3/28/Digest/EVS/mylog_CloudTrace-Digest_cn- north-01_2017-03-28T02-09-17Z.json.gze280d203da44015e0eda3faa7a2ec9612221cc0dc8b0fe320db4f ebe60142350641ad19da18cb6d3f5e7faad792c3efe98836c6d6547f5e5c7a48f7088000a057af26cc3bb91 3cae1637befa9e4231b7d1fd6d98eaba735e509e7c5ea3c6757f732b4468f7418ef18e3312ac696dd786ec5 792eacf94aee27cd7be76bf23b641c5e9a686cca6414745787254100c2bee31e584a15c2229270f9dee81f9 043574

4. 校验摘要文件。

将3获取的数字签名字符串、摘要文件的数字签名和公钥传给 RSA 签名验证算 法。如果输出为 true,则数字签名匹配,摘要文件有效。

5. 校验事件文件。

校验摘要文件有效后,您可以校验其记录的事件文件。

摘要文件记录了事件文件的哈希值,文件上传到OBS后会在其ETag元数据中存储 该文件的哈希值,如果某个事件文件在云审计提交到OBS桶后发生修改,则其哈 希值会发生变化,且摘要文件的数字签名也不匹配。

如下是校验事件文件的具体步骤:

a. 从摘要文件信息中获取事件文件的bucket 和object 信息。

b. 调用OBS客户端接口获取事件文件对象头信息中的ETag元数据的值。

(27)

d. 比较ETag元数据的值和摘要文件中事件文件的原始哈希值,如果哈希值匹 配,则事件文件有效。

6. 校验之前的摘要文件和事件文件。

在每个摘要文件中,如下字段提供了前一摘要文件的位置和签名:

– previous_digest_bucket – previous_digest_object – previous_digest_signature

按照4和5校验每个摘要文件的签名及其记录的事件文件。

对于6的摘要文件,您不需要从摘要文件对象的meta-signature元数据属性中获取 数字签名。previous_digest_signature字段提供了前一摘要文件的数字签名。您可 以一直向前校验摘要文件和事件文件,直到到达起始的摘要文件,或摘要文件链 断开。

下面的示例代码段提供校验云审计摘要和事件文件的框架代码,该代码段使用的 jar包如下,推荐使用下面jar包版本:

– esdk-obs-java-2.1.16.jar – commons-logging-1.2.jar – httpasyncclient-4.1.2.jar – httpclient-4.5.3.jar – httpcore-4.4.4.jar – httpcore-nio-4.4.4.jar – java-xmlbuilder-1.1.jar – jna-4.1.0.jar

– log4j-api-2.8.2.jar – log4j-core-2.8.2.jar – commons-codec-1.9.jar – json-20160810.jar – commons-io-2.5.jar 示例校验代码段:

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.ByteArrayInputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.security.KeyFactory;

import java.security.MessageDigest;

import java.security.PublicKey;

import java.security.Signature;

import java.security.spec.X509EncodedKeySpec;

import java.util.Arrays;

import java.util.zip.GZIPInputStream;

import org.apache.commons.codec.binary.Base64;

import org.apache.commons.codec.binary.Hex;

import org.apache.commons.io.IOUtils;

import org.json.JSONObject;

import com.obs.services.ObsClient;

import com.obs.services.ObsConfiguration;

import com.obs.services.model.ObjectMetadata;

import com.obs.services.model.S3Object;

(28)

public class DigestFileValidator { public static void main(String[] args) { //摘要文件所在桶名称

String digestBucket = "bucketname";

//摘要文件存储路径,样例:CloudTraces/eu-de/2017/11/15/Digest/ECS/tGPYa_CloudTrace- Digest_eu-de_2017-11-15T10-12-10Z.json.gz

String digestObject = "digestObject";

String ak = "*** Provide your Access Key ***";

String sk = "*** Provide your Secret Key***";

ObsConfiguration obsConfig = new ObsConfiguration();

obsConfig.setEndPoint("obs.cn-north-4.myhuaweicloud.com");

ObsClient client = new ObsClient(ak, sk, obsConfig);

try {

//获取摘要文件对象

S3Object object = client.getObject(digestBucket, digestObject);

InputStream is = new BufferedInputStream(object.getObjectContent());

byte[] digestFileBytes = IOUtils.toByteArray(is);

//获取摘要文件哈希值

MessageDigest messageDigest = MessageDigest.getInstance("MD5");

messageDigest.update(digestFileBytes);

byte[] digestFileHashBytes = messageDigest.digest();

StringBuilder outStr = new StringBuilder();

GZIPInputStream gis = new GZIPInputStream(new ByteArrayInputStream(digestFileBytes));

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(gis, "UTF-8"));

String line;

while ((line = bufferedReader.readLine()) != null) { outStr.append(line);

}

bufferedReader.close();

String digestInfo = outStr.toString();

//从OBS桶中的摘要文件头中获取元数据meta-signature的值,即该摘要文件的数字签名 ObjectMetadata objectMetadata = client.getObjectMetadata(digestBucket, digestObject);

String digestSignature = objectMetadata.getMetadata().get("meta-signature").toString();

JSONObject digestFile = new JSONObject(digestInfo);

// 校验摘要文件在OBS桶中是否移动过

if (!digestFile.getString("digest_bucket").equals(digestBucket) || ! digestFile.getString("digest_object")

.equals(digestObject)) {

System.err.println("Digest file has been moved from its original location.");

} else {

// 获取数字签名字符串

String signatureString = digestFile.getString("digest_end_time") + digestFile.getString("digest_object")

+ Hex.encodeHexString(digestFileHashBytes) + digestFile.getString("previous_digest_signature");

String publicKeyString =

"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjQDkl8COPRhOCvm7ZI8sYZ20ojl+ay/

gwRSk9q0gkY3pP0RrAhSsEzgYdYjaMCqixkmbpt4AH9AROJU4drnoCAZSMqRxgv0bGC9kVd4q95l4zibsw AsksjuNQo/XoJjBl+rRAqCa+1uetgVU4k4Yx8RryYxYx/tImvMe/O4mGAIaTf+rsqt3VXR1QIj5lYR/nx41BEgC/

Kb1elYAfDaaab8WS5INRprj7qdu6oAo4Ug47WqbecvEtG3JRpj5+oqLyW41Fvse3osC0h5DQdxTt4x00/rVZ +gH7Kua00y7gC8YOxFVpYbfn/oW61PUDeHG/N9hUjOrIgDDJpD2YbCIQIDAQAB";

//解密公钥

byte[] publicKeyBytes = Base64.decodeBase64(publicKeyString);

//构造X509EncodedKeySpec对象

X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(publicKeyBytes);

//指定加密算法

(29)

PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec);

Signature signatureInstance = Signature.getInstance("SHA256withRSA");

signatureInstance.initVerify(publicKey);

signatureInstance.update(signatureString.getBytes("UTF-8"));

byte[] signatureHashExpect = Hex.decodeHex(digestSignature.toCharArray());

//校验签名是否有效

if (signatureInstance.verify(signatureHashExpect)) {

System.out.println("Digest file signature is valid, validating log files…");

for (int i = 0; i < digestFile.getJSONArray("log_files").length(); i++) {

JSONObject logFileJson = digestFile.getJSONArray("log_files").getJSONObject(i);

String logBucket = logFileJson.getString("bucket");

String logObject = logFileJson.getString("object");

//从OBS桶中的事件文件头中获取元数据ETag的值,即事件文件的哈希值 ObjectMetadata objectLogMetadata = client.getObjectMetadata(logBucket, logObject);

String logHashValue = objectLogMetadata.getMetadata().get("ETag").toString();

logHashValue = logHashValue.replace("\"", "");

byte[] logFileHash = Hex.decodeHex(logHashValue.toCharArray());

//从摘要文件中获取事件文件的哈希值

byte[] expectedHash = logFileJson.getString("log_hash_value").getBytes();

boolean hashMatch = Arrays.equals(expectedHash, logFileHash);

if (!hashMatch) {

System.err.println("Validate log file hash failed.");

} else {

System.out.println("Log file hash is valid.");

} } } else {

System.err.println("Validate digest signature failed.");

}

System.out.println("Digest file validation completed.");

//获取前一摘要文件的previous_digest_bucket, previous_digest_object, previous_digest_signature,获取到该摘要文件后校验摘要文件哈希值及数字签名

String previousDigestBucket = digestFile.getString("previous_digest_bucket");

String previousDigestObject = digestFile.getString("previous_digest_object");

//从摘要文件对象头中的meta-signature元数据属性中获取该摘要文件的数字签名

ObjectMetadata objectPreviousMetadata = client.getObjectMetadata(previousDigestBucket, previousDigestObject);

String signatruePrevious = objectPreviousMetadata.getMetadata().get("meta- signature").toString();

String signatruePreviousExpect = digestFile.getString("previous_digest_signature");

if (signatruePrevious.equals(signatruePreviousExpect)) { System.out.println(

"Previous digest file signature is valid, " + "validating previous digest file hash value…

");

String digestPreviousHashValue =

objectPreviousMetadata.getMetadata().get("ETag").toString();

// ETag元数据的值是事件文件的哈希值用双引号引起来,这里需把双引号去掉 String digestPreviousHashValueExpect = "\"" +

digestFile.getString("previous_digest_hash_value") + "\"";

if (digestPreviousHashValue.equals(digestPreviousHashValueExpect)) { System.out.println("Previous digest file hash value is valid.");

} else {

System.err.println("Validate previous digest file hash value failed.");

} }

(30)

}

} catch (Exception e) {

System.out.println("Validate digest file failed.");

} } }

(31)

5 支持审计的服务及详细操作列表

5.1 计算

5.1.1 弹性云服务器

弹性云服务器(Elastic Cloud Server,以下简称ECS)是由CPU、内存、镜像、云硬盘 组成的一种可随时获取、弹性可扩展的计算服务器,同时它结合VPC、虚拟防火墙、

数据多副本保存等能力,为您打造一个高效、可靠、安全的计算环境,确保您的服务 持久稳定运行。

通过云审计服务,您可以记录与弹性云服务器相关的操作事件,便于日后的查询、审 计和回溯。

5-1 云审计服务支持的 ECS 操作列表

操作名称 资源类型 事件名称

创建云服务器 ecs createServer

删除云服务器 ecs deleteServer

启动云服务器 ecs startServer

重启云服务器 ecs rebootServer

关闭云服务器 ecs stopServer

添加云服务器网卡 ecs addNic

删除云服务器网卡 ecs deleteNic

云服务器挂载磁盘 ecs attachVolume

云服务器卸载磁盘 ecs detachVolume

重装操作系统 ecs reinstallOs

切换操作系统 ecs changeOs

(32)

操作名称 资源类型 事件名称

变更规格 ecs resizeServer

配置虚拟机自动恢复标签 ecs addAutoRecovery

删除虚拟机自动恢复标签 ecs deleteAutoRecovery

创建安全组 ecs createSecurityGroup

创建FPGA镜像 aei createFpgaImage

删除FPGA镜像 aei deleteFpgaImage

关联FPGA镜像 aei associateFpgaImage

解关联FPGA镜像 aei disassociateFpgaImage

注册FPGA镜像 aei registerFpgaImage

中断竞价计费型实例 server interruptServer

5-2 由 ECS 触发的操作与 OpenStack 原生接口的关系

操作名称 事件名称 服务类型 资源类型 归属

开启服务 enableService ECS-OpenStack computeServi

ce nova

停止服务 disableService ECS-OpenStack computeServi

ce nova

添加停止服务

的原因 logDisabledInf

o ECS-OpenStack computeServi

ce nova

删除服务 deleteService ECS-OpenStack computeServi

ce nova

创建规格 createFlavor ECS-OpenStack flavor nova 删除规格 deleteFlavor ECS-OpenStack flavor nova 添加/删除租户

访问规格权限 operateFlavor

Access ECS-OpenStack flavor nova 创建规格扩展

属性 createExtraSp

ecs ECS-OpenStack flavor nova 更新规格指定

扩展属性 updateExtraSp

ec ECS-OpenStack flavor nova 删除规格指定

扩展属性 deleteExtraSp

ec ECS-OpenStack flavor nova 创建主机组 createAggrega

te ECS-OpenStack hostAggregat

es nova

(33)

更新主机组 updateAggreg

ate ECS-OpenStack hostAggregat

es nova

删除主机组 deleteAggreg

ate ECS-OpenStack hostAggregat

es nova

向主机组添加 主机/从主机组 移除主机/设置 主机组元数据

operateAggre

gate ECS-OpenStack hostAggregat

es nova

创建keypair createKeypair ECS-OpenStack keypair nova 删除keypair deleteKeypair ECS-OpenStack keypair nova 更新配额 updateQuotas ECS-OpenStack quotaSets nova 删除配额 revertQuotasT

oDefaults ECS-OpenStack quotaSets nova 创建虚拟机 createServer ECS-OpenStack server nova 更新虚拟机 updateServer ECS-OpenStack server nova 删除虚拟机 deleteServer ECS-OpenStack server nova 操作虚拟机 operateServer ECS-OpenStack server nova 设置元数据 setMetadata ECS-OpenStack server nova 更新元数据/设

置指定key的元 数据

updateMetad

ata ECS-OpenStack server nova

删除指定key的

元数据 deleteMetada

ta ECS-OpenStack server nova 虚拟机添加网

卡 createInterfac

e ECS-OpenStack server nova 虚拟机卸载网

detachInterfac

e ECS-OpenStack server nova 清除指定虚拟

机的密码(DB) clearAdminPa

ssword ECS-OpenStack server nova 虚拟机挂载卷 attachVolume ECS-OpenStack server nova 虚拟机卸载卷 detachVolume ECS-OpenStack server nova 创建虚拟机组 createServerG

roup ECS-OpenStack serverGroup nova 删除虚拟机组 deleteServerG

roup ECS-OpenStack serverGroup nova

(34)

操作名称 事件名称 服务类型 资源类型 归属 创建虚拟机 createServerV

olumesBoot ECS-OpenStack server nova 创建console createServerR

emoteConsole s

ECS-OpenStack server nova

重置密码 resetServerPas

sword ECS-OpenStack server nova 中断竞价实例 interruptServe

r ECS-OpenStack server nova

5.1.2 镜像服务

镜像服务(Image Management Service,以下简称IMS)提供简单方便的镜像自助管 理功能,用户可以使用公共镜像或者私有镜像灵活便捷的申请弹性云服务器。同时,

用户还能通过已有的云服务器或使用外部镜像文件创建私有镜像。

通过云审计服务,您可以记录与镜像服务相关的操作事件,便于日后的查询、审计和 回溯。

5-3 云审计服务支持的 IMS 操作列表

操作名称 资源类型 事件名称

创建镜像 ims createImage

修改镜像 ims updateImage

批量删除镜像 ims deleteImage

复制镜像 ims copyImage

导出镜像 ims exportImage

新增成员 ims addMember

批量修改成员 ims updateMember

批量删除成员 ims deleteMember

5-4 由 IMS 触发的操作与 OpenStack 原生接口的关系

操作名称 事件名称 服务类型 资源类型 归属

创建镜像 createImage IMS image glance 修改镜像信息/

上传镜像

updateImage IMS image glance

(35)

删除镜像 deleteImage IMS image glance

添加标签 addTag IMS image glance

删除标签 deleteTag IMS image glance 添加镜像成员 addMember IMS image glance 修改镜像成员

信息 updateMemb

er IMS image glance

删除镜像成员 deleteMembe

r IMS image glance

5.1.3 裸金属服务器

裸金属服务器(Bare Metal Server,以下简称BMS)提供单租户专属的物理服务器,

通过卓越的计算性能,满足核心应用场景对高性能及稳定性的需求,同时可以和VPC 等其他云产品灵活结合使用,结合了传统托管主机带来的稳定性能与云上资源高度弹 性的优势。

通过云审计服务,您可以记录与裸金属服务器相关的操作事件,便于日后的查询、审 计和回溯。

5-5 云审计服务支持的 BMS 操作列表

操作名称 资源类型 事件名称

创建裸金属服务器 bms createBareMetalServers 删除裸金属服务器 bms deleteBareMetalServers 启动裸金属服务器 bms startBareMetalServers 关闭裸金属服务器 bms stopBareMetalServers 重启裸金属服务器 bms rebootBareMetalServers 裸金属服务器挂载数据

库逻辑卷

bms attachDataVolume

裸金属服务器卸载数据 库逻辑卷

bms detachDataVolume

5.1.4 云容器引擎

云容器引擎(Cloud Container Engine,以下简称CCE)

通过云审计服务,您可以记录与云容器引擎相关的操作事件,便于日后的查询、审计 和回溯。

(36)

5-6 云审计服务支持的 CCE 操作列表

操作名称 资源类型 事件名称

上传证书 aksk uploadAKSK

创建集群 cluster_cce createCluster 升级集群 cluster_cce upgradeCluster 更新集群 cluster_cce updateCluster 删除集群 cluster_cce deleteCluster

创建节点 node createNode

删除节点 node deleteNode

创建模板 component createComponent 更新模板 component updateComponent 删除模板 component deleteComponent

创建应用 app createApp

更新应用 app updateApp

回滚应用 app rollBackApp

删除应用 app deleteApp

蓝图创建应用 app createAppByBlueprint 新建蓝图 blueprint createBlueprint 删除蓝图 blueprint deleteBlueprint 更新蓝图 blueprint updateBlueprint 重命名蓝图 blueprint renameBlueprint 验证蓝图 blueprint validateBlueprint 清理镜像 image garbageCollectImage

删除特定镜像 image deleteImage

删除tag镜像 image deleteTagImage 更新镜像描述 image updateImageDesc

创建策略 policy createPolicy

更新策略 policy updatePolicy

删除策略 policy deletePolicy

开启策略 policy enablePolicy

关闭策略 policy disablePolicy

(37)

创建定时/周期策略 scaling_policy_cce createScalingPolicy 删除定时/周期策略 scaling_policy_cce deleteScalingPolicy 创建集群 clusters createCluster 更新集群 clusters updateCluster 删除集群 clusters claimCluster 创建节点 clusters-nodes createNode 添加静态节点 clusters-nodes addStaticNode 更新节点 clusters-nodes updateNode 删除一个主机 clusters-nodes deleteOneHost 删除所有主机 clusters-nodes deleteAllHosts

挂起用户资源 - suspendUserResource

创建ConfigMap configmaps createConfigmaps 创建DaemonSet daemonsets createDaemonsets 创建Deployment deployments createDeployments 创建Event events createEvents 创建Ingress ingress createIngresses

创建Job jobs createJobs

创建namespace namespaces createNamespaces

创建Node nodes createNodes

创建PersistentVolumeClai m

persistentvolumecla

ims createPersistentvolumeclaims

创建Pod pods createPods

创建ReplicaSet replicasets createReplicasets 创建ResourceQuota resourcequotas createResourcequotas 创建密钥 secrets createSecrets

创建服务 services createServices 创建StatefulSet statefulsets createStatefulsets

创建卷 volumes createVolumes

删除ConfigMap configmaps deleteConfigmaps 删除DaemonSet daemonsets deleteDaemonsets

(38)

操作名称 资源类型 事件名称

删除Deployment deployments deleteDeployments 删除Event events deleteEvents 删除Ingress ingresses deleteIngresses

删除Job jobs deleteJobs

删除Namespace namespaces deleteNamespaces

删除Node nodes deleteNodes

删除Pod pods deletePods

删除ReplicaSet replicasets deleteReplicasets 删除ResourceQuota resourcequotas deleteResourcequotas 删除Secret secrets deleteSecrets

删除Service services deleteServices 删除StatefulSet statefulsets deleteStatefulsets

删除卷 volumes deleteVolumes

替换指定的ConfigMap configmaps updateConfigmaps 替换指定的DaemonSet daemonsets updateDaemonsets 替换指定的

Deployment deployments updateDeployments 替换指定的Event events updateEvents 替换指定的Ingress ingresses updateIngresses

替换指定的Job jobs updateJobs

替换指定的Namespace namespaces updateNamespaces 替换指定的Node nodes updateNodes 替换指定的

PersistentVolumeClai m

persistentvolumecla

ims updatePersistentvolumeclaims

替换指定的Pod pods updatePods

替换指定的Replicaset replicasets updateReplicasets 替换指定的

ResourceQuota resourcequotas updateResourcequotas 替换指定的Secret secrets updateSecrets

替换指定的Service services updateServices 替换指定的Statefulset statefulsets updateStatefulsets

(39)

替换指定的状态 status updateStatus 上传组件模板 uploadchart uploadChart

更新组件模板 charts updateChart

删除组件模板 charts deleteChart

创建模板应用 releases createRelease 更新模板应用 releases updateRelease 删除模板应用 releases deleteRelease

5.1.5 云容器实例

云容器实例(Cloud Container Instance, 以下简称CCI)服务提供无服务器容器引 擎,用户不需要管理集群和服务器,只需要三步简单配置,即可畅享容器的敏捷和高 性能。CCI 支持创建无状态负载(Deployment)和有状态负载(StatefulSet),并基 于Kubernetes的负载模型增强了容器安全隔离、负载快速部署、弹性负载均衡、弹性 扩缩容、蓝绿发布等重要能力。

通过云审计服务,您可以记录与CCI相关的操作事件,便于日后的查询、审计和回溯。

5-7 云审计服务支持的 CCI 操作列表

操作名称 资源类型 事件名称

创建一个Service对象 service createService 删除一个Service对象 service deleteService 删除指定Namespace下的

Services对象 service deleteServicesByNamesp ace

替换指定的Service对象 service replaceService 更新指定的Service对象 service updateService 删除一个Endpoints对象 endpoint deleteEndpoint 删除指定Namespace下的

Endpoints对象 endpoint deleteEndpointsByNames pace

替换指定Namespace下的

Endpoints对象 endpoint replaceEndpoint 更新指定Namespace下的

Endpoints对象 endpoint updateEndpoint 创建Deployments对象 deployment createDeployment 删除一个Deployments对

象 deployment deleteDeployment

(40)

操作名称 资源类型 事件名称 删除指定Namespace下的

Deployments对象 deployment deleteDeploymentsByNa mespace

替换指定Namespace下的

Deployments对象 deployment replaceDeployment 更新指定Namespace下的

Deployments对象 deployment updateDeployment 创建Statefulsets对象 statefulset createStatefulset 删除一个Statefulsets对象 statefulset deleteStatefulset 删除指定Namespace下的

Statefulsets对象 statefulset deleteStatefulsetsByNam espace

替换指定Namespace下的

Statefulsets对象 statefulset replaceStatefulset 更新指定Namespace下的

Statefulsets对象 statefulset updateStatefulset

创建jobs对象 job createJob

删除一个jobs对象 job deleteJob

删除指定Namespace下的

jobs对象 job deleteJobsByNamespace

替换指定Namespace下的

某个jobs对象的状态 job replaceJob

更新指定Namespace下的

某个jobs对象的状态 job updateJob

创建cronjobs对象 cronjob createCronjob 删除一个cronjobs对象 cronjob deleteCronjob 删除指定Namespace下的

cronjobs对象 cronjob deleteCronjobsByNames pace

替换指定Namespace下的

某个cronjobs对象的状态 cronjob replaceCronjob 更新指定Namespace下的

某个cronjobs对象的状态 cronjob updateCronjob 创建ingresses对象 ingress createIngress 删除一个ingresses对象 ingress deleteIngress 删除指定Namespace下的

ingresses对象 ingress deleteIngressesByNames pace

替换指定Namespace下的

特定ingresses对象 ingress replaceIngress

(41)

更新指定Namespace下的

某个ingresses对象的状态 ingress updateIngress 创建namespace namespace createNamespace 删除指定namespace namespace deleteNamespace

创建POD pod createPod

更新指定POD pod updatePod

替换指定POD pod replacePod

删除指定POD pod deletePod

批量删除ns下的POD pod deletePodsByNamespace

删除指定event event deleteEvent

创建configmap configmap createConfigmap 更新指定configmap configmap updateConfigmap 替换指定configmap configmap replaceConfigmap 删除指定configmap configmap deleteConfigmap 批量删除指定ns下的

configmap configmap deleteConfigmapsByNam espace

创建secret secret createSecret

更新指定secret secret updateSecret 替换指定secret secret replaceSecret 删除指定secret secret deleteSecret 批量删除指定ns下的

secret secret deleteSecretsByNamespa ce

删除指定Network network deleteNetwork 创建network network createNetwork 批量删除指定ns的

networks network deleteNetworksByNames pace

更新指定network network updateNetwork 替换指定network network replaceNetwork 创建network-

attachment-definition networkAttachmentDefin

ition createNetworkAttachme ntDefinition

批量删除指定ns的 network-attachment- definitions

networkAttachmentDefin

ition deleteNetworkAttachme ntDefinitionsByNamespa ce

(42)

操作名称 资源类型 事件名称 删除指定network-

attachment-definition networkAttachmentDefin

ition deleteNetworkAttachme ntDefinition

创建pv persistentvolume createPersistentvolume 批量删除指定ns下的pv persistentvolume deletePersistentvolumes

ByNamespace

替换指定pv persistentvolume replacePersistentvolume 更新指定pv persistentvolume updatePersistentvolume 删除指定pv persistentvolume deletePersistentvolume 创建pvc persistentvolumeclaim createPersistentvolumecl

aim

导入已有存储 persistentvolumeclaim createPersistentvolumecl aimByStorageInfo

批量删除指定ns下的pvc persistentvolumeclaim deletePersistentvolumecl aimsByNamespace 替换指定pvc persistentvolumeclaim replacePersistentvolumec

laim

更新指定pvc persistentvolumeclaim updatePersistentvolumec laim

删除指定pvc persistentvolumeclaim deletePersistentvolumecl aim

购买套餐包 packageproduct createPackageproduct 购买活动套餐包 activeproduct createActiveproduct 创建kubeflow job kubeflowJob createKubeflowJob 批量删除指定ns下的

kubeflow jobs kubeflowJob deleteKubeflowJobsByNa mespace

替换指定kubeflow job kubeflowJob replaceKubeflowJob 更新指定kubeflow job kubeflowJob updateKubeflowJob 删除指定kubeflow job kubeflowJob deleteKubeflowJob 创建volcano job volcanoJob createVolcanoJob 批量删除指定ns下的

volcano jobs volcanoJob deleteVolcanoJobsByNa mespace

替换指定volcano job volcanoJob replaceVolcanoJob 更新指定volcano job volcanoJob updateVolcanoJob 删除指定volcano job volcanoJob deleteVolcanoJob

數據

表 4-1 摘要文件的关键字段
表 5-2 由 ECS 触发的操作与 OpenStack 原生接口的关系
表 5-6 云审计服务支持的 CCE 操作列表 操作名称 资源类型 事件名称 上传证书 aksk uploadAKSK 创建集群 cluster_cce createCluster 升级集群 cluster_cce upgradeCluster 更新集群 cluster_cce updateCluster 删除集群 cluster_cce deleteCluster 创建节点 node createNode 删除节点 node deleteNode 创建模板 component createComponen
表 5-8 云审计服务支持的 AS 操作列表 操作名称 资源类型 事件名称 创建伸缩组 scaling_group createScalingGroup 修改伸缩组 scaling_group modifyScalingGroup 删除伸缩组 scaling_group deleteScalingGroup 启用伸缩组 scaling_group enableScalingGroup 停用伸缩组 scaling_group disableScalingGroup 创建伸缩配置 scaling_configu
+7

參考文獻

相關文件

[r]

初制意。鈔云。何名為制。謂三衣六物。佛制令畜。通諸一化。竝

Wehman (Ed.), Supported employment in business: Expanding the capacity of workers with disabilities (pp.93-112). Augustine, FL: Training

百分点 %

16- 被访旅客对购物服务的评价 17- 被访旅客对公共交通服务的评价 18- 被访旅客对环境卫生的评价 19- 被访旅客对观光点的评价. 20-

[r]

[r]

线性拟合与二次拟合 数据拟合的线性模型 一次多项式拟合公式..