一文了解如何使用数字身份认证平台 EIAM 保护 API 网关访问
01. 背景介绍
通过腾讯云 API 网关,开发者可以将来自 Serverless 无服务器的云函数 SCF、CVM 上的 Web 服务、用户自身的 Web 服务进行统一封装并开放给最终用户。最终用户无论是移动客户端、Web 客户端、物联网或其他应用,都可以通过 API 网关调用 API 服务。为了确保 API 调用的安全性,API 网关目前支持免鉴权、应用认证、OAuth2.0 三种方式。对于免鉴权方式,由于用户无需鉴权即可通过API网关调用后台业务,安全级别较低;对于应用认证方式,如果用户数目变多,需要考虑应用的管理安全问题;对于 OAuth2.0 方式,需要开发者自建和维护认证服务器。
腾讯数字身份管控平台(EIAM)支持对用户身份的集中管理、用户认证、应用集成、SSO、授权管理、审计管理等能力,支持 SAML、CAS、JWT、OIDC、OAuth2.0 等多种协议,支持多种基于角色的访问控制(RBAC)模型。采用 EIAM 为 API 网关提供认证和鉴权能力可以为 API 调用提供更为安全和简便的方式。
文章图片
02. 能力优势
通过 EIAM 为 API 网关提供防护的能力,具有以下优势:
- 使用标准 OAuth2.0 协议;
- 可一键创建授权 API 和业务 API,轻配置;
- EIAM 维护用户目录,免自建认证服务器;
- 在认证能力基础上支持鉴权功能,保护 API 安全;
- EIAM 内置多种 RBAC 模型,免自建鉴权服务器和授权模型;
- 内置缓存机制,更快的访问速度;
- 新增鉴权类型
- 多种接入方式
- 不同粒度的认证与鉴权
- 多端 API 调用适配
文章图片
2. EIAM 新功能详解
- 应用类型支持
- 资源级授权支持
- 鉴权支持
04. 配置流程 通过 EIAM 为 API 网关提供防护能力包括 3 个步骤:
- 创建 API 发布服务;
- 对 API 进行授权;
- 从客户端访问 API;
文章图片
从业务场景上,终端用户对于 API 调用的发起方可能为非 Web 客户端(如服务器端、C/S 架构系统客户端、App 客户端、小程序客户端)、Web 客户端(如浏览器、Web Viewer)。非Web 客户端能支持以 POST 方式发起请求,Web 客户端支持以 Web 重定向方式接收返回信息。下文以非 Web 客户端为例说明配置流程。
第一步:创建 API 发布服务
- 进入 API 网关的控制台 --> 服务菜单 --> 管理 API Tab 页面
- API 网关控制台地址:https://console.cloud.tencent...
- 点击新建 API 进入前端配置
文章图片
- 鉴权类型选择 EIAM 认证;
- 接入方式选择新建 EIAM 应用,会在 EIAM 自动创建 API 网关应用;
- 既认证又鉴权;
- EIAM 应用类型选择非 Web 客户端;
- 完成前端配置后,进入后端配置;
- 公网 URL/IP 的后端类型,填写应用域名、后端路径、请求方式选择 GET 等信息;
文章图片
- 选择响应结果类型
文章图片
第二步:对 API 进行授权(EIAM)
- 进入 EIAM 的控制台 --> 资源级授权;
- 选择用户授权 Tab 页,选择 API 网关应用;
- 选择新增授权;
文章图片
- 选择用户 “user001” 和 “userName_11” 进行授权;
文章图片
- 授权完成后,可以在资源级授权页面看到授权结果
文章图片
第三步:从客户端访问 API 【一文了解如何使用数字身份认证平台 EIAM 保护 API 网关访问】采用 postman 的方式对非 Web 客户端对 API 的调用进行验证。
- 对于未完成授权的用户
- 获取 id token;
文章图片
- 鉴权验证,返回结果 “Access not authorized”;
文章图片
- 对于完成授权的用户
- 解析 id token 内容,可以查看对应用户身份为 user001;
文章图片
- 鉴权验证,返回结果 “Work!!!”,即可以进行 API 的调用;
文章图片
通过 3 步简单配置,即可快速完成 EIAM + API 网关联合方案的配置,无需自建认证服务器、鉴权服务器,即可为您的业务 API 调用提供认证与鉴权能力。在未来,通过 EIAM 对多种授权模型的支持可以为 API 网关后防护的业务 API 提供更为细粒度的访问控制能力,让开发者聚焦关注自身业务开发。
05. 直播预告,参与有礼 参与直播互动,将有机会 免费获得 腾讯视频 VIP 月卡 1 张!
8 月 16 日,晚 7 点见!
文章图片
One More Thing 立即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 腾讯云 Serverless 新手体验 。
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- 我们重新了解付费。
- 拍照一年啦,如果你想了解我,那就请先看看这篇文章
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- C语言中的时间函数clock()和time()你都了解吗
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树