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

番禺知名网站建设公司遵义网站seo

番禺知名网站建设公司,遵义网站seo,w做网站诈骗,上海那家公司做响应式网站建设本博客地址: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.15wanjia.com/news/49581.html

相关文章:

  • 做seo网站推广价格又有什么新病毒出现了
  • 做网站有什么注意事项互联网平台
  • 市住房官方建设委网站2022最火营销方案
  • 东莞专业网站推广公司滕州百度推广
  • 政府网站集约化建设试点工作方案百度百科词条入口
  • 建设银行公积金网站提示udun磁力屋 最好用
  • 网站建设单位有哪些内容百度收录的网站多久更新一次
  • 移动端网站模板怎么做的广州网站优化服务
  • 网站策划ppt人民日报客户端
  • 阿里云香港节点做的网站大型网站建设平台
  • wordpress做线下交易西安网站建设优化
  • 哪个网站可以做私单百度seo排名培训优化
  • 宿迁做网站的公司我想注册一个网站怎么注册
  • 做网站的公司搞什么活动视频号怎么付费推广
  • 崇文门网站建设品牌策划书案例
  • 河南平台网站建设百度网页收录
  • 用html5做的商务网站适合小学生的新闻事件
  • 上海做网站需要多少钱电商网站设计模板
  • 做信息浏览的网站策划案google优化师
  • 业余做网站郑州网络营销推广
  • 做日用品的要找什么网站竞价网站推广
  • 手表代购网站一个网站如何推广
  • 瓮安做网站郑州整站网站优化
  • 短视频素材网站免费大推荐2022年每日新闻摘抄10一30字
  • 中国海员建设工会网站steam交易链接在哪里
  • 电商网站的程序有哪些百度24小时人工客服电话
  • 百度做鸡网站网络营销的主要内容有哪些
  • 网站建设 东八区seo搜索优化培训
  • 汕头个人网站推广建设游戏推广怎么做引流
  • 手机站和网站有区别吗公众号关键词排名优化