• 沒有找到結果。

3.6.1 创建并使用签名密钥

操作场景

签名密钥用于后端服务验证API网关的身份,在API网关请求后端服务时,保障后端服 务的安全。

签名密钥是由一对Key和Secret组成,签名密钥需要绑定到API才能生效。当签名密钥 绑定API后,API网关向后端服务发送此API的请求时,会增加相应的签名信息,此时需 要后端服务依照同样方式进行签名,通过比对签名结果和API网关传过来的

Authorization头中签名是否一致来校验API的合法性。

说明

同一个环境中一个API只能被一个签名密钥绑定,一个签名密钥可以绑定多个API。

使用流程

1. 在控制台创建签名密钥。

2. 将新创建的签名密钥绑定API。

3. API网关将签名后的请求发送到后端服务,此时Authorization头中包含签名信息。

后端服务通过不同的开发语言(例如Java、Go、Python、JavaScript、C#、

PHP、C++、C、Android等)进行签名,比对签名结果和API网关传过来的 Authorization头中签名是否一致来校验API的合法性。

3-28 签名密钥流程图

创建签名密钥

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 ,选择区域。

步骤3 单击管理控制台左上角 ,然后单击“API网关 APIG”。

步骤4 在左侧选择您的API版本,单击并进入到对应版本的API开发与调用管理页面。

● “共享版”指直接创建并管理API,如涉及到费用,以API调用次数计费。

● “专享版”指在API专享版实例中创建并管理API,如涉及到费用,按实例运行时 间计费。

步骤5 单击“开放API > 签名密钥”,进入签名密钥管理信息页面。

步骤6 单击“创建密钥”,弹出“创建密钥”对话框。

步骤7 填写如表3-23所示信息。

3-23 密钥信息

信息项 描述

密钥名称 自定义名称,用于识别不同的密钥。

类型 专享版支持选择签名密钥的认证类型,可选择“hmac”和

“basic”。

信息项 描述

Key 与“Secret”配合使用,表示签名密钥对。

● hmac:填写hmac认证所使用密钥对的Key。

● basic:填写basic认证所使用的用户名。

Secret 与“Key”配合使用,表示签名密钥对。

● hmac:填写hmac认证所使用密钥对的Secret。

● basic:填写basic认证所使用的密码。

确认Secret 填写与Secret一致的值。

步骤8 单击“确定”,完成密钥的创建。

----结束

绑定 API

步骤1 单击“开放API > 签名密钥”,进入签名密钥管理信息页面。

步骤2 通过以下任意一种方法,查看签名密钥已绑定API列表页面。

● 在待绑定API的密钥所在行,单击“绑定API”,进入“签名密钥绑定API”页面。

● 单击待绑定API的密钥名称,进入密钥详情页面。

步骤3 单击“绑定API”,弹出“绑定API”对话框。

步骤4 选择“API分组”、“环境”以及“API名称”,筛选所需的API。

步骤5 勾选API,单击“绑定”,完成密钥绑定API。

说明

在签名密钥绑定API后,如果API不再需要此密钥,单击“解除”,解除绑定。

----结束

验证签名结果

参考签名算法对后端服务进行签名,比对签名结果和API网关传过来的Authorization头 中签名是否一致来校验API的合法性。

使用 API 方式创建签名密钥

您还可以使用API的方式创建签名密钥,具体操作请查看以下链接。

创建签名密钥

3.6.2 删除签名密钥

操作场景

如果某一个密钥不再提供服务,则可以将其删除。

前提条件

已创建密钥。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 ,选择区域。

步骤3 单击管理控制台左上角 ,然后单击“API网关 APIG”。

步骤4 在左侧选择您的API版本,单击并进入到对应版本的API开发与调用管理页面。

● “共享版”指直接创建并管理API,如涉及到费用,以API调用次数计费。

● “专享版”指在API专享版实例中创建并管理API,如涉及到费用,按实例运行时 间计费。

步骤5 单击“开放API > 签名密钥”,进入签名密钥管理信息页面。

步骤6 通过以下任意一种方法,弹出对话框。

● 在待删除的密钥所在行,单击“删除”。

● 单击“密钥名称”,进入签名密钥详情页面。在右上角单击“删除”。

说明

仅在签名密钥未绑定任何API时,支持删除,否则请先解绑API。

步骤7 单击“确定”,完成密钥的删除。

----结束

使用 API 方式删除签名密钥

您还可以使用API的方式删除签名密钥,具体操作请查看以下链接。

删除签名密钥