当前位置:主页 > 查看内容

一文了解如何使用数字身份认证平台 EIAM 保护 API 网关访问

发布时间:2021-08-12 00:00| 位朋友查看

简介:01.背景介绍 通过腾讯云 API 网关,开发者可以将来自 Serverless 无服务器的云函数 SCF、CVM 上的 Web 服务、用户自身的 Web 服务进行统一封装并开放给最终用户。最终用户无论是移动客户端、Web 客户端、物联网或其他应用,都可以通过 API 网关调用 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 模型,免自建鉴权服务器和授权模型;
  • 内置缓存机制,更快的访问速度;

03.功能亮点简析

1. API 网关新功能详解

  • 新增鉴权类型

鉴权类型中新增 EIAM 认证类型,通过配置化组合满足不同的客户需求;

  • 多种接入方式

支持自动新建 EIAM 应用、自动关联已建 EIAM 应用;

  • 不同粒度的认证与鉴权

支持选择只认证不鉴权、既认证又鉴权;

  • 多端 API 调用适配

支持适用于非 Web 客户端(如服务器端、APP 客户端、小程序客户端等)、Web 客户端(浏览器、web viewer 等)发起的API 调用;

2. EIAM 新功能详解

  • 应用类型支持

支持创建 API 网关应用类型,支持 OAuth2 + JWT 结合方式对 API 调用进行认证和鉴权支持;

  • 资源级授权支持

支持按照组组织机构、用户组、用户进行 API 级的授权;

  • 鉴权支持

OAuth2 输出增加 id_token,带有 scope,支持返回用户信息和当前用户可访问的 API 列表;

04.配置流程

通过 EIAM 为 API 网关提供防护能力包括 3 个步骤:???

1. 创建 API 发布服务;???

2. 对 API 进行授权;???

3. 从客户端访问API;

从业务场景上,终端用户对于 API 调用的发起方可能为非 Web 客户端(如服务器端、C/S 架构系统客户端、App 客户端、小程序客户端)、Web 客户端(如浏览器、Web Viewer)。非Web 客户端能支持以 POST 方式发起请求,Web 客户端支持以 Web 重定向方式接收返回信息。下文以非 Web 客户端为例说明配置流程。

第一步:创建 API 发布服务

1. 进入 API 网关的控制台 --> 服务菜单 --> 管理 API Tab 页面

  • API 网关控制台地址:https://console.cloud.tencent.com/apigateway

2. 点击新建 API 进入前端配置

  • 鉴权类型选择 EIAM 认证;
  • 接入方式选择新建 EIAM 应用,会在 EIAM 自动创建 API 网关应用;
  • 既认证又鉴权;
  • EIAM 应用类型选择非 Web 客户端;

3. 完成前端配置后,进入后端配置;

  • 公网 URL/IP 的后端类型,填写应用域名、后端路径、请求方式选择 GET 等信息;

4.选择响应结果类型

第二步:对 API 进行授权(EIAM)

1. 进入 EIAM 的控制台 --> 资源级授权;

2. 选择用户授权 Tab 页,选择 API 网关应用;

3. 选择新增授权;

4. 选择用户 “user001” 和 “userName_11” 进行授权;

5. 授权完成后,可以在资源级授权页面看到授权结果

第三步:从客户端访问 API

采用 postman 的方式对非 Web 客户端对 API 的调用进行验证。1. 对于未完成授权的用户

  • 获取 id token;
  • 鉴权验证,返回结果 “Access not authorized”;

2.对于完成授权的用户

  • 解析 id token 内容,可以查看对应用户身份为 user001;
  • 鉴权验证,返回结果 “Work!!!”,即可以进行 API 的调用;

通过 3 步简单配置,即可快速完成 EIAM + API 网关联合方案的配置,无需自建认证服务器、鉴权服务器,即可为您的业务 API 调用提供认证与鉴权能力。在未来,通过 EIAM 对多种授权模型的支持可以为 API 网关后防护的业务 API 提供更为细粒度的访问控制能力,让开发者聚焦关注自身业务开发。

05.直播预告,参与有礼 ??

参与直播互动,将有机会 免费获得 腾讯视频 VIP 月卡 1 张!8 16 日,晚 7 点见!

内容纲要: 1.API网关EIAM认证的功能特性及使用场景

2.API网关EIAM认证的技术架构及原理

3.Demo演示

4.未来展望


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐