当前位置: 首页 > news >正文

番禺知名网站建设公司小红书关键词热度查询

番禺知名网站建设公司,小红书关键词热度查询,网站怎么做支付,大型门户网站建设包括哪些方面本博客地址:https://security.blog.csdn.net/article/details/130152887 一、认证服务 1.1、基于JWT的认证 在微服务架构下,每个服务是无状态的,由于服务端需要存储客户端的登录状态,因此传统的session认证方式在微服务中不再适…

本博客地址:https://security.blog.csdn.net/article/details/130152887

一、认证服务

1.1、基于JWT的认证

在微服务架构下,每个服务是无状态的,由于服务端需要存储客户端的登录状态,因此传统的session认证方式在微服务中不再适用。理想的实现方式应为无状态登录,流程通常如下:

1、客户端请求某服务,服务端对用户进行登录认证。
2、认证通过,服务端将用户登录信息进行加密并形成令牌,最后再返回至客户端作为登录凭证。
3、在步骤2之后,客户端每次请求都须携带认证的令牌。
4、服务端对令牌进行解密,判断是否有效,若有效则认证通过,否则返回失败信息。

可通过JWT实现无状态登录,JWT是JSON风格轻量级认证和授权规范,也就是上述流程中提到的令牌,它主要用于分布式场景,需要注意的是,JWT令牌中会包含用户敏感信息,为防止被绕过,JWT令牌采用了签名机制。此外,传输时需要使用加密协议。

1.2、基于Istio的认证

Istio的基础知识可以参考此前写的一篇博文:https://security.blog.csdn.net/article/details/128449214

Istio主要有两种认证类型:传输认证、请求级认证

1、传输认证

传输认证是Istio的一种认证类型,其主要用于微服务应用架构中服务到服务的认证,从而可验证所连接的客户端。针对此类型的认证,Istio提供了双向TLS的解决方案,该解决方案提供以下功能 :

1、确保服务到服务间的通信安全。
2、提供密钥管理系统,从而自动进行密钥及证书的生成、分发和轮换。
3、为每个服务提供一个代表其角色的身份,从而实现跨集群的互操作性。

具体地,我们可以通过使用传输认证策略为Istio中的服务指定认证要求,如命名空间级别TLS认证策略可以指定某命名空间下所有的Pod间的访问均使用TLS加密、Pod级别TLS认证策略可以指定某具体Pod被访问时需要进行TLS加密等。

2、请求级认证

请求级认证是Istio的一种认证类型,主要用于对终端用户的认证,与传输认证的主要区别为,请求级认证主要用于验证用户请求服务时携带的凭据,而非服务到服务的认证。

请求级认证主要通过JWT机制实现。相比于传统Session认证方法的最大区别在于认证信息保存在客户端,由于不再将认证信息存储在服务端,因此非常适用于无状态的微服务场景,并达到了易于扩展的目的。

Istio的JWT认证主要依赖于JWKS,JWKS是一组密钥集合,其中包含用于验证JWT的公钥,在实际应用场景中,运维人员通过为服务部署JWT认证策略实现请求级认证。

下面展示了JWT认证策略的核心部分配置:

// issuer:代表发布JWT的发行者
issuer: https://example.com
// jwksUri:JWKS获取的地址,本地或远程均可,用于验证JWT的签名
jwksUri: https://example.com/.well-known/jwks.json
// triggerRules:triggerRules为使用JWT验证请求的规则触发列表,如果满足匹配规则就进行JWT验证
triggerRules:
- excludedPaths:// 对于任何带有/status/前缀的请求路径,除了/status/version以外,都需要JWT认证- exact: /status/versionincludedPaths:- prefix: /status/

当JWT认证策略部署完成后,外部对某服务有新的请求时,请求级认证会根据策略内容验证请求携带的令牌(Token),若与策略内容匹配则返回认证失败,反之认证成功。

二、基于Istio的访问控制

2.1、Istio授权

Istio授权流程可以归纳总结为以下内容:

Administrator使用yaml文件指定Istio授权策略,并将其部署至Istiod核心组件中,Istiod通过API Server组件监测授权策略变更,若有更改,则获取新的策略,Istiod将授权策略下发至服务的Sidecar代理,每个Sidecar代理均包含一个授权引擎,在引擎运行时对请求进行授权。

如图所示:

在这里插入图片描述

举一个Istio授权策略的例子:

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:name: httpbin-policynamespace: foo
spec:selector:matchLabels:app: httpbinaction: ALLOWrules:- from:- source:principals: ["cluster.local/ns/default/sa/sleep"]to:- operation:methods: ["GET"]paths: ["/info*"]when:- key: request.auth.claims[iss]values: ["https://foo.com"]

这个授权策略的含义是:筛选出foo这个namespace中含有app:httpbin这个标签的pod,对发送到这些pod的请求进行匹配,如果匹配成功,则放行当前请求。

匹配规则如下:发起请求的pod的Service Account需要是cluster.local/ns/default/sa/sleep,请求使用HTTP协议,请求的具体方法类型是GET,请求的URL为/info*,并且请求中需要包含由https://foo.com签发的有效的JWT Token。

从这个例子中可以看出一个授权策略主要包含以下几个部分:

name:授权策略的名称,仅用于标识授权策略本身,不会影响规则的匹配和执行;
namespace:当前策略对象所在的namespace,可以使用这个字段配置不同作用范围的授权策略;
selector:使用label来选择当前授权策略作用于哪些pod上。注意,这里设置的是服务端的pod,因为最终这些规则会转换为Envoy规则由服务端的Envoy Porxy来具体执行;
action:可以为ALLOW(默认值)或者DENY;
rules:匹配规则,如果匹配成功,就会执行对应的action;

2.2、授权策略的匹配算法

针对某一个请求,会按照一定的匹配算法来执行相应的授权策略:

1、如果有任何一条 DENY 授权策略匹配当前请求,则拒绝当前请求;
2、针对当前 pod,如果没有任何 ALLOW 授权策略,则放行当前请求;
3、如果有任何一条 ALLOW 授权策略匹配当前请求,则放行当前请求;
4、拒绝当前请求;

也就意味着,如果同时有 ALLOW 和 DENY 策略作用于同一个 pod 上,则 DENY 策略会优先执行,其它的 ALLOW 规则就会被忽略。

http://www.ds6.com.cn/news/9998.html

相关文章:

  • 锦州网站制作2023年最新时政热点
  • 湖北网站seo设计网店运营培训哪里好
  • 小红书网站开发费用百度关键词优化软件如何
  • 网站建设报价方案对比廊坊seo外包
  • 小额贷网站建设百度网络小说排行榜
  • 白山市住房和建设局网站seo实战培训王乃用
  • wordpress驳回评论优化百度百科
  • 已有网站可以做服务器吗国外网站怎么推广
  • hph做动态网站阿里云域名注册流程
  • 优秀网站模板欣赏网络广告公司
  • 关于购物网站建设的论文市场推广方案范文
  • 公司做网站会计凭证怎么做淘宝推广费用一般多少
  • 佛山网站优化推广方案seo的基本步骤包括哪些
  • 在哪做网站好广州百度快速优化排名
  • 企业网站模板下载562佛山网站建设模板
  • 图书馆网站建设需求方案品牌营销策划案例ppt
  • 网站项目建设计划免费培训课程
  • 北医三院生殖科做试管的网站有人看片吗免费的
  • 网站建设与规划实验总结网站分析报告
  • asp iis设置网站路径免费seo推广软件
  • 企业网站设计的特点百度推广登陆网址
  • 织梦网站地图底部互联网推广是什么工作内容
  • net网站开发找那家济南优化哪家好
  • 做计算机网站有哪些功能长沙seo网站
  • 模板网站 可以做推广吗线上运营推广
  • 建设手机网站如何做一个自己的电商平台
  • 视频网站建设服务计算机培训机构排名前十
  • 音乐网站模板免费源码百度号注册官网
  • 太原手机模板建站百度seo优化排名软件
  • 做网站都需要哪些软硬件网站销售怎么推广