华为云用户手册

  • 前提条件 云服务器状态为“运行中”。 已获取Windows云服务器用户名和密码。忘记密码请参考在控制台重置E CS 密码重置密码。 弹性云服务器已经绑定弹性公网IP,绑定方式请参见绑定弹性公网IP。 所在安全组入方向已开放3389端口,配置方式请参见配置安全组规则。 已安装Microsoft Remote Desktop for Mac或其他macOS系统适用的远程连接工具。 微软官方已停止提供Remote Desktop客户端的下载链接,您可单击Microsoft Remote Desktop Beta下载Beta版本使用。
  • 操作步骤 启动Microsoft Remote Desktop。 单击“Add Desktop”。 图1 Add Desktop 在“Add PC”页面,设置登录信息。 PC name:输入需要登录的Windows实例的弹性公网IP地址。 User account:在下拉列表中选择“Add user account”。 弹出“Add user account”对话框。 输入Windows实例账号“administrator”,并输入实例的登录密码,单击“Add”。 图2 Add user account 图3 Add PC 在“Remote Desktop”页面,双击需要登录的Windows实例图标。 图4 双击登录Windows实例 确认信息后,单击“Continue”。 至此,您已经登录Windows实例。 图5 登录成功
  • 云备份产品架构 云备份由备份、存储库和策略组成。 备份: 备份即一个备份对象执行一次备份任务产生的备份数据,包括备份对象恢复所需要的全部数据。 云服务器备份:云服务器备份提供对弹性云服务器和裸金属服务器的基于多云硬盘一致性快照技术的数据保护。同时,未部署数据库等应用的服务器产生的备份为服务器备份,部署数据库等应用的服务器产生的备份为数据库服务器备份。 云硬盘备份:云硬盘备份提供对云硬盘的基于快照技术的数据保护。 存储库 云备份使用存储库来存放备份。创建备份前,需要先创建至少一个存储库,并将服务器或磁盘绑定至存储库。服务器或磁盘产生的备份则会存放至绑定的存储库中。 存储库分为备份存储库和复制存储库两种。备份存储库用于存放备份对象产生的备份,复制存储库用于存放复制操作产生的备份。 不同类型的备份对象产生的备份需要存放在不同类型的存储库中。 策略 策略分为备份策略和复制策略。 备份策略:需要对备份对象执行自动备份操作时,可以设置备份策略。通过在策略中设置备份任务执行的时间、周期以及备份数据的保留规则,将备份存储库绑定到备份策略,可以为存储库执行自动备份。 复制策略:需要对备份或存储库执行自动复制操作时,可以设置复制策略。通过在策略中设置复制任务执行的时间、周期以及备份数据的保留规则,将备份存储库绑定到复制策略,可以为存储库执行自动复制。复制产生的备份需要存放在复制存储库中。
  • 备份、快照、镜像有什么区别? 备份分为云服务器备份和云硬盘备份。 镜像分为系统盘镜像、数据盘镜像、整机镜像。 备份类型 备份对象 适用场景 区别和优势 备份方法 恢复方法 云服务器备份 弹性云服务器中的所有云硬盘(系统盘和数据盘) 云服务器受到攻击或病毒入侵 通过云服务器备份,可立即恢复到最近一次没有受黑客攻击或病毒入侵的备份时间点。 数据被误删 通过云服务器备份,可立即恢复到删除前的备份时间点,找回被删除的数据。 应用程序更新出错 通过云服务器备份,可立即恢复到应用程序更新前的备份时间点,使系统正常运行。 云服务器宕机 通过云服务器备份,可立即恢复到宕机之前的备份时间点,使云服务器能再次正常启动。 备份的同一个云服务器下的所有云硬盘数据具有一致性,即同时对所有云硬盘进行备份,不存在因备份创建时间差带来的数据不一致问题。 且云备份支持根据备份策略自动备份。 创建云服务器备份 使用云服务器备份恢复数据(恢复至原服务器) 使用云服务器备份恢复数据(创建新的云服务器) 云硬盘备份 指定的单个或多个云硬盘(系统盘或数据盘) 系统盘没有个人数据,因而只需要对部分的数据盘进行备份 当云硬盘出现故障或云硬盘中的数据发生逻辑错误时(如误删数据、遭遇黑客攻击或病毒危害等),可快速恢复数据。 备份作为基线数据 设置备份策略,根据策略自动对云硬盘进行数据备份,通过定期创建的备份作为基线数据,用来创建新的云硬盘或者恢复数据到云硬盘。 备份数据则存储在对象存储 (OBS)中,可以实现在云硬盘存储损坏情况下的数据恢复 保证数据安全的同时降低备份成本 创建云硬盘备份 使用云硬盘备份恢复数据(恢复至原磁盘) 使用云硬盘备份恢复数据(创建新的磁盘) 快照 指定的单个或多个云硬盘(系统盘或数据盘) 日常备份数据 通过对云硬盘定期创建快照,实现数据的日常备份,可以应对由于误操作、病毒以及黑客攻击等导致数据丢失或不一致的情况。 快速恢复数据 应用软件升级或业务数据迁移等重大操作前,您可以创建一份或多份快照,一旦升级或迁移过程中出现问题,可以通过快照及时将业务恢复到快照创建点的数据状态。 例如,当由于云服务器 A的系统盘 A发生故障而无法正常开机时,此时您可以使用系统盘 A已有的快照新创建一块云硬盘 B并挂载至正常运行的云服务器 B上,从而云服务器 B能够通过云硬盘 B读取原系统盘 A的数据。 快速部署多个业务 通过同一个快照可以快速创建出多个具有相同数据的云硬盘,从而可以同时为多种业务提供数据资源。例如数据挖掘、报表查询和开发测试等业务。 这种方式既保护了原始数据,又能通过快照创建的新云硬盘快速部署其他业务,满足企业对业务数据的多元化需求。 说明: 只支持回滚快照数据至原云硬盘,不支持快照回滚到其它云硬盘。 重装操作系统或切换操作系统后,系统盘快照会自动删除;数据盘快照不受影响,可以照常使用。 快照数据与云硬盘数据存储在一起,可以支持快速备份和恢复 快速保存指定时刻云硬盘的数据,同时还可以通过快照创建新的云硬盘,这样云硬盘在初始状态就具有快照中的数据 创建快照 使用快照回滚数据 系统盘镜像 系统盘 快速恢复系统 更换操作系统、应用软件升级或业务数据迁移等重大操作前,将系统盘创建成系统盘镜像,一旦迁移过程中出现问题,可以通过系统盘镜像切换操作系统,或重新创建新的云服务器。 快速部署多个业务 通过同一个系统盘镜像可以快速创建出多个具有相同操作系统的云服务器,从而快速部署多个业务。 系统盘镜像可以实现在云服务器操作系统损坏情况下快速切换至损坏前的操作系统。 创建系统盘镜像 使用系统盘镜像切换故障云服务器的操作系统 使用系统盘镜像创建新的云服务器 数据盘镜像 指定的数据盘 快速复制数据 通过同一个数据盘镜像可以快速创建出多个具有相同数据的云硬盘,再将新创建的云硬盘挂载到其他服务器上,从而可以同时为多种业务提供数据资源。 数据盘镜像可以复制全盘的数据并创建新的云硬盘挂载到其他服务器上,实现云服务器数据盘的复制和共享。 创建数据盘镜像 使用数据盘镜像创建数据盘 整机镜像 弹性云服务器中的所有云硬盘(系统盘和数据盘) 快速恢复系统 更换操作系统、应用软件升级或业务数据迁移等重大操作前,将云服务器的系统盘和数据盘创建成整机镜像,一旦迁移过程中出现问题,可以通过整机镜像切换操作系统,或重新创建新的云服务器。 快速部署多个业务 通过同一个整机镜像可以快速创建出多个具有相同操作系统和数据的云服务器,从而快速部署多个业务。 通过整机镜像实现业务的整理迁移。 创建整机镜像 使用整机镜像创建新的云服务器
  • 备份机制 首次备份为全量备份,备份云服务器/磁盘已使用空间。 示例:某磁盘大小为100GB,已使用空间为40GB,则备份的是40GB的已使用空间。 后续备份均为增量备份,备份上次备份后变化的数据,缩短备份时长、节约备份空间。 删除备份时,仅删除不被其他备份依赖的数据块,不影响使用其他备份进行恢复。无论是全量还是增量备份,都可以快速、方便地将数据恢复至备份所在时刻的状态。 云备份会在备份过程中自动创建快照并且为每个磁盘保留最新的快照。如果该磁盘已备份,再次备份后会自动将旧快照删除,保留最新的快照。 云备份通过云服务器/磁盘与 对象存储服务 的结合,将数据备份到对象存储中,高度保障用户的备份数据安全。
  • 备份的方式及适用场景 云备份提供两种配置方式,一次性备份和周期性备份。一次性备份是指用户手动创建的一次性备份任务。周期性备份是指用户通过创建备份策略并绑定存储库的方式创建的周期性备份任务。 表1 备份的方式及适用场景 对比项 一次性备份 周期性备份 备份策略 不需要 需要 备份次数 手动执行一次性备份 根据备份策略进行周期性备份 备份名称 支持自定义,默认为“manualbk_xxxx” 系统自动生成,默认为“autobk_xxxx” 备份方式 默认首次全量备份,后续增量备份 默认首次全量备份,后续增量备份 适用场景 资源进行操作系统补丁安装、升级,应用升级等操作之前,以便安装或者升级失败之后,能够快速恢复到变更之前的状态。 资源的日常备份保护,以便发生不可预见的故障而造成数据丢失时,能够使用邻近的备份进行恢复。
  • 请求签名与API调用 在工程中引入sdk。 1 2 3 4 5 6 using System; using System.Net; using System.IO; using System.Net.Http; using System.Threading; using APIGATEWAY_SDK; 生成一个新的Signer, 填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。 打开终端,输入以下命令打开环境变量配置文件。 vi ~/.bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 生成一个新的Signer, 填入已设置的环境变量。 1 2 3 4 5 Signer signer = new Signer(); // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. signer.Key = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_AK"); signer.Secret = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_SK"); 生成一个新的Request,指定 域名 、方法名、请求uri和body。 1 2 3 4 //The following example shows how to set the request URL and parameters to query a VPC list. HttpRequest r = new HttpRequest("GET", new Uri("https://{service}.region.example.com/v1/77b6a44cba5**********9a8ff44fd/vpcs?limit=1")); //Add a body if you have specified the PUT or POST method. Special characters, such as the double quotation mark ("), contained in the body must be escaped. r.body = ""; 添加需要签名的其他头域,或者其他用途的头域,如API的环境信息添加x-stage,多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 1 2 3 4 r.headers.Add("x-stage", "RELEASE"); r.headers.Add("X-Project-Id", "xxx"); r.headers.Add("X-Domain-Id", "xxx"); //Add header parameters, for example, X-Domain-Id for invoking a global service and X-Project-Id for invoking a project-level service. 进行签名,执行此函数会生成一个新的HttpWebRequest,并在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 如果您使用HTTP Client,可以从请求中获取头部信息使用。关于头部信息,请参考AK/SK签名认证算法详解。 1 HttpWebRequest req = signer.Sign(r); 访问API,查看访问结果。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 try { var writer = new StreamWriter(req.GetRequestStream()); writer.Write(r.body); writer.Flush(); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); var reader = new StreamReader(resp.GetResponseStream()); Console.WriteLine(reader.ReadToEnd()); } catch (WebException e) { HttpWebResponse resp = (HttpWebResponse)e.Response; if (resp != null) { Console.WriteLine((int)resp.StatusCode + " " + resp.StatusDescription); var reader = new StreamReader(resp.GetResponseStream()); Console.WriteLine(reader.ReadToEnd()); } else { Console.WriteLine(e.Message); } } Console.WriteLine("----------------");
  • 获取SDK 点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 apigateway-signature\Signer.cs SDK代码 apigateway-signature\HttpEncoder.cs sdk-request\Program.cs 签名请求示例代码 csharp.sln 工程文件 licenses\license-referencesource 第三方库license文件
  • 准备环境 获取并安装IntelliJ IDEA 2018.3.5或以上版本,可至IntelliJ IDEA官方网站下载。 获取并安装Python安装包(可使用2.7.9+或3.X,包含2.7.9),可至Python官方下载页面下载。 Python安装完成后,在命令行中使用pip安装“requests”库。 pip install requests 如果pip安装requests遇到证书错误,请下载并使用Python执行此文件,升级pip,然后再执行以上命令安装。 在IDEA中安装Python插件,如下图所示。
  • 请求签名与API调用 在命令行中,使用pip安装“requests”库。 1 pip install requests 在工程中引入apig_sdk。 1 2 from apig_sdk import signer import requests 生成一个新的Signer,填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。 打开终端,输入以下命令打开环境变量配置文件。 vi ~/.bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。 1 2 3 4 5 6 sig = signer.Signer() # Set the AK/SK to sign and authenticate the request. # Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. # In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. sig.Key = os.getenv('HUAWEICLOUD_SDK_AK') sig.Secret = os.getenv('HUAWEICLOUD_SDK_SK') 生成一个新的Request,指定域名、方法名、请求uri和body。 以虚拟私有云服务的查询VPC列表接口为例,HTTP方法为GET,域名(Endpoint)为service.region.example.com,请求URI:/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?limit=1 1 2 3 # The following example shows how to set the request URL and parameters to query a VPC list. r = signer.HttpRequest("GET", "https://{service}.region.example.com/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?limit=1") # r.body = "{\"a\":1}" 添加需要签名的请求消息头,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。如果添加多个请求消息头,使用英文逗号分隔。 1 r.headers = {"X-Project-Id": "xxx"} 进行签名,执行此函数会在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 1 sig.Sign(r) X-Sdk-Date是一个必须参与签名的请求消息头参数。 您无需关注哪些消息头参数参与了签名,由SDK自行完成。 访问API,查看访问结果。 1 2 3 resp = requests.request(r.method, r.scheme + "://" + r.host + r.uri, headers=r.headers, data=r.body) print(resp.status_code, resp.reason) print(resp.content)
  • 准备环境 获取并安装IntelliJ IDEA 2018.3.5或以上版本,可至IntelliJ IDEA官方网站下载。 获取并安装PHP安装包8.0.3或以上版本,可至PHP官方下载页面下载。 将PHP安装目录中的“php.ini-production”文件复制到“C:\windows”,改名为“php.ini”,并在文件中增加如下内容。 1 2 3 extension_dir = "{php安装目录}/ext" extension=openssl extension=curl 在IDEA中安装PHP插件,如下图所示。
  • 准备环境 获取并安装IntelliJ IDEA 2018.3.5或以上版本,可至IntelliJ IDEA官方网站下载。 获取并安装Nodejs安装包15.10.0或以上版本,可至Nodejs官方下载页面下载。 NodeJs安装后,在命令行中,用npm安装“moment”和“moment-timezone”模块。 npm install moment --save npm install moment-timezone --save 在IDEA中安装Nodejs插件,如下图所示。
  • API调用(Node.js) 在命令行中,用npm安装“moment”和“moment-timezone”模块。 1 2 npm install moment --save npm install moment-timezone --save 在工程中引入signer.js。 1 2 var signer = require('./signer') var https = require('https') 生成一个新的Signer,填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。 打开终端,输入以下命令打开环境变量配置文件。 vi ~/.bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。 1 2 3 4 5 var sig = new signer.Signer() // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. sig.Key = process.env.HUAWEICLOUD_SDK_AK sig.Secret = process.env.HUAWEICLOUD_SDK_SK 生成一个新的Request,指定域名、方法名、请求uri和body。 1 2 3 4 5 //The following example shows how to set the request URL and parameters to query a VPC list. var r = new signer.HttpRequest("GET", "service.region.example.com/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?limie=1"); //Add a body if you have specified the PUT or POST method. Special characters, such as the double quotation mark ("), contained in the body must be escaped. r.body = ''; 添加需要签名的其他头域,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 1 2 //Add header parameters, for example, X-Domain-Id for invoking a global service and X-Project-Id for invoking a project-level service. r.headers = {"X-Project-Id": "xxx"}; 进行签名,执行此函数会生成请求参数,用于创建https请求,请求参数中添加了用于签名的X-Sdk-Date头和Authorization头。 1 var opt = sig.Sign(r) 访问API,查看访问结果。 1 2 3 4 5 6 7 8 9 10 11 var req = https.request(opt, function(res){ console.log(res.statusCode) res.on("data", function(chunk){ console.log(chunk.toString()) }) }) req.on("error",function(err){ console.log(err.message) }) req.write(r.body) req.end()
  • 请求签名与API调用 在Android工程中的“app/libs”目录下,加入SDK所需jar包。其中jar包必须包括: java-sdk-core-x.x.x.jar commons-logging-1.2.jar joda-time-2.9.9.jar 在“build.gradle”文件中加入okhttp库的依赖。 在“build.gradle”文件中的“dependencies”下加入“implementation 'com.squareup.okhttp3:okhttp:3.11.0'”。 1 2 3 4 5 dependencies { ... ... implementation 'com.squareup.okhttp3:okhttp:3.11.0' } 创建request,输入AK和SK,并指定域名、方法名、请求uri和body。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。 打开终端,输入以下命令打开环境变量配置文件。 vi ~/.bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 创建request,填入已设置的环境变量,并指定域名、方法名、请求uri和body。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Request request = new Request(); try { // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. request.setKey(System.getenv("HUAWEICLOUD_SDK_AK")); request.setSecret(System.getenv("HUAWEICLOUD_SDK_SK")); request.setMethod("GET"); request.setUrl("https://service.region.example.com3/v1/{project_id}/vpcs"); request.addQueryStringParam("name", "value"); request.addHeader("Content-Type", "text/plain"); //request.setBody("demo"); } catch (Exception e) { e.printStackTrace(); return; } 对请求进行签名,生成okhttp3.Request对象来访问API。 1 2 3 okhttp3.Request signedRequest = Client.signOkhttp(request); OkHttpClient client = new OkHttpClient.Builder().build(); Response response = client.newCall(signedRequest).execute();
  • 获取SDK 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 点此下载SDK与Demo。 解压时选择解压到当前文件夹,解压后目录结构如下: 名称 说明 hasher.cpp SDK代码 hasher.h header.h RequestParams.cpp RequestParams.h signer.cpp signer.h constants.h Makefile Makefile文件 main.cpp 示例代码
  • 概述 欢迎使用API网关(API Gateway),API网关为您提供高性能、高可用、高安全的API托管服务,帮助您轻松构建、管理和部署任意规模的API。 您可以使用本文档提供的API对API网关进行相关操作,如创建、删除、修改等。支持的全部操作请参见API概览。 在调用API网关的API前,请确保已经充分了解API网关相关概念,详细信息请参见产品介绍。 专享版开放V2版本的接口,共享版开放V1.0版本的接口。共享版已下线,建议用户使用新版(专享版)管理您的API。 父主题: 使用前必读
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 在构造请求中以调用创建API分组(专享版API)接口为例说明了如何调用API。 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 POST https://apig.cn-north-1.myhuaweicloud.com/v2/{project_id}/apigw/instances/{instance_id}/api-groups Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 通过AK/SK获取的Token有效期最短为15分钟。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。 客户端必须注意本地时间与时钟服务器的同步,避免请求消息头X-Sdk-Date的值出现较大误差。 API网关除了校验时间格式外,还会校验该时间值与网关收到请求的时间差,如果时间差大于15分钟,API网关将拒绝请求。
  • 专享版API概览 API网关专享版接口的分类与说明如表1所示。 表1 专享版API概览 类型 说明 API分组管理 包括API分组的创建、修改、删除、查询详情和列表等接口。 环境管理 包括环境的创建、修改、删除和查询列表等接口。 环境变量管理 包括环境变量的新建、修改、删除、查询详情和列表等接口。 流控策略管理 包括流控策略的创建、修改、删除、查看详情和列表等接口。 API管理 包括API的创建、修改、删除、发布或下线、查询、调试、切换版本、校验API定义等接口。 签名密钥管理 包括签名密钥的创建、修改、删除和查询等接口。 签名密钥绑定关系管理 包括签名密钥的绑定、解绑、查询API绑定的密钥列表、查看密钥绑定/未绑定的API列表。 API绑定流控策略 包括绑定、解绑、批量解绑API与流控策略的关系,查看流程策略绑定/未绑定的API列表,查看API绑定的流控策略列表。 设置特殊流控 包括创建、修改、删除特殊流控策略,查看特殊设置列表。 APP授权管理 包括APP授权、解除授权,查看APP已绑定/未绑定的API列表,查看API已绑定的APP列表。 概要查询 包括查询API概况、API分组概况、APP概况。 域名管理 包括域名的绑定、修改、解绑。域名证书的绑定、删除、查看。 ACL策略管理 包括ACL策略的创建、修改、删除、批量删除,查看ACL策略详情、查询ACL策略列表。 API绑定ACL策略 包括将API与ACL策略绑定、解绑、批量解绑,查看ACL策略绑定/未绑定的API列表,查看API绑定的ACL策略列表。 自定义认证管理 包括自定义认证的创建、修改、删除,查看自定义认证详情,查询自定义认证列表。 OpenAPI接口 包括API的导出、导入。 VPC通道管理 包括: VPC通道的创建、更新、删除、查看,查询VPC通道列表。 后端实例的添加、查看、删除。 后端服务器状态的批量修改。 VPC通过健康检查的修改。 后端服务器组的添加、更新、删除、查看,查询VPC通道后端服务器组列表。 监控信息查询 包括查询最近一段时间的API统计信息,查询最近一小时内的分组统计信息。 分组自定义响应管理 包括分组自定义响应的创建、查询、修改、删除,查询分组自定义响应列表,查看、修改分组下指定错误类型的自定义响应,删除分组指定错误类型的自定义响应配置。 标签管理 包括标签列表的查询。 实例特性管理 包括实例特性的配置,查看实例特性列表。 配置管理 包括查看某实例的租户配置列表,查询租户实例配置列表。 实例管理 包括: 实例的创建、更新、查看、删除,查看实例创建进度,查询实例列表。 EIP的绑定、解绑。 实例公网出口的开启、关闭,更新实例公网出口带宽。 查看可用区信息。 实例的规格变更。 查看实例约束信息。 实例终端节点管理 包括: 查询实例终端节点连接列表。 查询实例终端节点服务的白名单列表。 接受/拒绝终端节点连接。 批量添加/删除实例终端节点白名单。 实例标签管理 包括实例标签的添加、删除和查询。 微服务中心管理 包括导入微服务。 SSL证书管理 包括: 证书的创建、删除、修改、查看,获取SSL证书列表。 域名绑定/解绑SSL证书。 SSL证书绑定/解绑域名 获取SSL证书已绑定的域名列表。 插件管理 包括: 插件的创建、修改、删除、查看,查询插件列表。 插件绑定/解绑API。 API绑定/解绑插件。 查询插件/API下绑定的API/插件。 查询可绑定当前插件的API,查询可绑定当前API的插件。 APP管理 包括: APP的创建、修改、删除、校验,重置密钥,查看APP详情、查询APP列表。 APP Code的创建、自动生成、删除,查看APP Code详情、查询APP Code列表。 查询凭据关联的凭据配额。 设置/删除APP的访问控制,查看APP的访问控制详情。 凭据配额管理 包括: 凭据配额的创建、修改、删除。 获取凭据配额详情和凭据配额列表。 凭据配额绑定/解绑凭据列表 。 查询凭据配额已绑定的凭据和未绑定的凭据。 异步任务管理 包括: API的异步导入/导出。 获取异步任务结果。 父主题: API概览
  • 使用Go应用部署模板创建并部署应用 在主机上部署Go框架的web服务,并启动该服务。 请确认目标主机已安装Go语言,若已安装请移除模板中“安装Go语言”步骤。 该模板涉及的部署步骤如下所示: 安装GO语言 下载软件包 停止GO服务 启动GO服务 健康测试 该模板需要填写的参数如下表所示。 表1 模板参数说明 参数 说明 host_group 该应用部署的目标环境。 package_url 软件包下载地址,可前往制品仓库-软件发布库获取下载链接。 app_name 应用名称,用于获取进程ID并停止。 service_port 应用端口。 父主题: 使用预置模板新建并部署应用
  • 使用Django应用部署模板创建并部署应用 在主机上部署Django框架的Python后台应用,并启动该服务。 请确认目标主机已安装nginx,若已安装请移除模板中“安装nginx”步骤。 请确认目标主机已安装uWSGI,若已安装请移除模板中“安装uWSGI”步骤。 配置pip源和yum源保证安装正常。模板中安装软件使用yum和pip,请配置好对应的源地址,保证安装正常。 新建Django项目,并上传至制品仓库。使用构建服务,将Django项目文件压缩后上传至制品仓库,之后在部署步骤中下载并解压后使用。 该模板涉及的部署步骤如下所示: 安装python 安装django和uWSGI 安装Nginx 启动Nginx 下载软件包 解压软件包 重启uWSGI 重载Nginx配置文件 服务启动测试 该模板需要填写的参数如表1所示。 表1 模板参数说明 参数 说明 host_group 该应用部署的目标环境。 service_port Django应用端口,默认值为8080。 uwsgi_pid_file_path uwsgi进程id文件所在路径。 uwsgi_lni_file_path uwsgi配置文件所在路径。 package_path Django应用发布包下载至目标主机中的路径。 package_name Django应用发布包下载至目标主机中的文件名。 package_url 软件包下载地址,可前往制品仓库-软件发布库获取下载链接。 父主题: 使用预置模板新建并部署应用
  • 使用Docker应用部署(Linux)模板创建并部署应用 在主机上安装Docker,并登录远程仓库,下载Dockerfile等文件,并能执行build、push、run等操作。 请确认目标主机已安装Docker,若已安装请移除模板中“安装Docker”步骤。 该模板涉及的部署步骤如下所示: 安装Docker 登录Docker镜像仓 选择部署来源 构建镜像 镜像打标签 镜像上传到镜像仓 创建并启动容器 父主题: 使用预置模板新建并部署应用
  • 使用NodeJs应用部署模板创建并部署应用 在主机上部署Node.js框架的web服务,并启动该服务。 请确认目标主机已安装Node.js,若已安装请移除模板中“安装Node.js”步骤。 该模板涉及的部署步骤如下所示: 安装Node.js 下载软件包 停止nodeJs服务 启动nodeJs服务 服务启动测试 该模板需要填写的参数如表1所示。 表1 模板参数说明 参数 说明 host_group 该应用部署的目标环境。 package_url 软件包下载地址,可前往制品仓库-软件发布库获取下载链接。 service_port 应用端口。 父主题: 使用预置模板新建并部署应用
  • 使用SpringBoot应用部署模板创建并部署应用 在主机上部署SpringBoot框架的Java后台应用,并启动该服务。 请确认目标主机已安装JDK,若已安装请移除模板中“安装JDK”步骤。 该模板涉及的部署步骤如下所示: 安装JDK 选择部署来源 停止SpringBoot服务 启动SpringBoot服务 URL健康测试 该模板需要填写的参数如表1所示。 表1 模板参数说明 参数 说明 host_group 该应用部署的目标环境。 package_url 软件包下载地址,可前往制品仓库-软件发布库获取下载链接。 service_port SpringBoot应用端口,默认值为8080。 package_name SpringBoot应用发布包名称。 说明: 该名称不包含文件后缀。 父主题: 使用预置模板新建并部署应用
  • 部署服务CodeArts Deploy使用流程 部署(CodeArts Deploy)提供可视化、自动化部署服务。提供丰富的部署步骤,有助于您制定标准的部署流程,降低部署成本,提升发布效率。 部署服务具有以下特性: 支持主机部署(华为云ECS、您的自有主机及第三方主机)、容器部署(华为云CCE集群、您的自建集群及第三方集群)。 功能插件化封装,使用门槛低,通用应用的部署开箱即用。 提供丰富的部署插件,满足Tomcat、SpringBoot、Django等常用技术栈的快速部署。 针对不同的部署流程,支持拖拉拽方式自由编排组装应用,支持自定义应用模板,通过模板一键创建应用。 如果您本地正在开发一个项目,想使用部署服务来进行部署操作,其使用流程如下。 所涉及到的操作或知识如下: 新建基础资源:完成部署资源环境的搭建准备。 新建应用:根据业务规划或使用模板快速搭建应用。 导入基础资源:导入部署的目标主机。 编辑应用:根据业务完成应用步骤以及参数等信息配置。 部署应用:启动部署应用。
  • 使用执行shell脚本创建并部署通用应用 基于执行shell脚本实现通用的应用部署。 该模板涉及的部署步骤如下所示: 下载软件包 执行部署脚本 健康测试 该模板需要填写的参数如表1所示。 表1 模板参数说明 参数 说明 host_group 该应用部署的目标环境。 package_url 软件包下载地址,可前往制品仓库-软件发布库获取下载链接。 app_name 应用名称,用于获取进程ID并停止。 service_port 应用端口。 父主题: 使用预置模板新建并部署应用
  • 使用Vue应用部署模板创建并部署应用 在主机上部署Vue框架的web服务,并启动该服务。 请确认目标主机已安装Nginx,若已安装请移除模板中“安装Nginx”步骤。 该模板涉及的部署步骤如下所示: 安装Nginx 下载软件包 解压软件包 启动Nginx 重载Nginx配置文件 服务启动测试 该模板需要填写的参数如下表所示。 表1 模板参数说明 参数 说明 host_group 该应用部署的目标环境。 nginx_install_path Nginx安装路径。 service_port 应用端口。 package_path 软件包下载路径。 package_name 软件包名称(包含文件类型扩展名)。 package_url 软件包下载地址,可前往制品仓库-软件发布库获取下载链接。 父主题: 使用预置模板新建并部署应用
  • FunctionGraph权限 默认情况下,新建的 IAM 用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。 FunctionGraph资源通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在各区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问FunctionGraph时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。 如表1所示,包括了FunctionGraph的所有系统权限。 表1 系统权限说明 系统角色/策略名称 描述 类别 依赖关系 FunctionGraph Administrator 函数工作流 (FunctionGraph)管理员,具有管理函数、工作流、触发器以及调用函数的权限(该权限后期会下线,建议您不使用) 系统角色 Tenant Guest FunctionGraph Invoker 函数工作流(FunctionGraph)调用者,具有查询函数、工作流、触发器以及调用函数的权限 系统角色 无 FunctionGraph FullAccess 函数工作流服务所有权限 系统策略 无 FunctionGraph ReadOnlyAccess 函数工作流服务只读权限 系统策略 无 FunctionGraph CommonOperations 函数工作流(FunctionGraph)调用者,具有查询函数和触发器,以及调用函数的权限 系统策略 无 当添加了FunctionGraph FullAccess权限的子账号在创建触发器或使用其他功能时仍没有操作权限,是因为该服务或功能不支持细粒度鉴权,因此需要您单独添加对应服务或功能的Admin权限。具体详情如下: CTS 、APIG、DIS当前不支持细粒度鉴权,需要添加对应admin权限。 SMN 目前部分局点已支持细粒度鉴权,如您遇到无法细粒度鉴权情况,则需要添加对应admin权限。 IoTDA是新增加的触发器,FullAccess中缺少对应权限。您在创建该触发器时会提示需要创建委托并添加相应权限,创建委托需要您先添加iam: agencies:list,iam:agencies:createAgency 权限; TMS、DNS、BSS、 CES 、EG、DMS是新增加功能,FullAccess中缺少对应权限,需单独添加; 更多触发器及相关功能需要的权限,请参见表2所示。 表2 触发器及相关功能的权限 触发器/服务功能 权限 APIG apig:groups:get apig:groups:list apig:apis:create apig:apis:delete apig:apis:update apig:apis:publish apig:apis:list apig:apis:get apig:apis:offline apig:apps:list apig:envs:list APIG专享版 apig:instances:get apig:instances:create apig:instances:update apig:instances:list apig:sharedInstance:operate CTS cts:notification:create cts:notification:delete cts:notification:update cts:operation:list cts:tracker:list cts:trace:list DDS dds:instance:get dds:instance:list DIS dis:streams:list IoTDA iotda:routingrules:create iotda:routingrules:delete iotda:routingrules:queryList iotda:routingrules:query iotda:routingactions:create iotda:routingactions:delete iotda:routingactions:query iotda:routingactions:queryList iotda:subscriptions:queryList iotda:rules:modifyStatus iotda:apps:queryList LTS lts:groups:create lts:groups:get lts:groups:list lts:groups:put lts:logstreams:delete lts:logstreams:list lts:topics:get lts:subscriptions:create lts:subscriptions:delete lts:subscriptions:put lts:structConfig:create lts:structConfig:get OBS obs:bucket:GetBucketLocation obs:bucket:GetBucketNotification obs:bucket:PutBucketNotification obs:bucket:ListBucket SMN smn:topic:list smn:topic:update TMS tms:predefineTags:list tms:tagValues:list DNS dns:recordset:create, dns:recordset:list, dns:recordset:update, dns:zone:create, dns:zone:delete, dns:zone:get, dns:zone:list BSS bss:bill:view bss:renewal:view CES ces:alarms:get ces:alarms:list ces:alarms:create DMS dms:instance:get EG eg:subscriptions:get eg:subscriptions:list eg:sources:list eg:sources:get eg:agency:create eg:subscriptions:create eg:subscriptions:delete eg:subscriptions:operate 表3列出了FunctionGraph常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表3 常用操作与系统权限之间的关系 操作 FunctionGraph Invoker FunctionGraph Administrator FunctionGraph ReadOnlyAccess FunctionGraph CommonOperations FunctionGraph FullAccess 创建函数 × √ × × √ 查询函数 √ √ √ √ √ 修改函数 × √ × × √ 删除函数 × √ × × √ 调用函数 √ √ × √ √ 查看函数日志 √ √ √ √ √ 查看函数指标数据 √ √ √ √ √
  • 企业项目授权后仍报权限不足的说明 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM和企业管理的区别。 FunctionGraph当前仅函数资源接口支持企业项目方式授权,除函数资源外的部分接口仅支持IAM项目方式授权,因此针对仅支持IAM项目方式授权时需注意: 授权时选择“IAM项目视图”。 图1 IAM项目视图 选择授权范围时,建议根据最小化授权原则,选择“指定区域项目资源”,具体请根据实际业务情况选择授权范围。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
共100000条