多云平台_多云系统的授权

多云平台

这是我目前正在使用的项目设计,用于消耗SPIFFE(
受所有人保护的安全生产身份框架( )的信任和身份识别,在WSO2的Prabath Siriwardena先生的启发下,在Moratuwa大学的Gihan Dias教授的指导下,在动态扩展的异构系统中提供了授权。 像在混合云中一样,跨多个云运行的企业系统就是一个明显的例子,将从中受益。 目的是为基于SPIFFE标准的系统打开大门,使其以最小的努力与其余系统共存,而不会损害安全性,同时拥有基于SPIFFE的授权解决方案。

简而言之,这是一个信任引导和识别框架,已作为标准提交并被CNCF(Cloud Native Computing Foundation)[1]接受。 到目前为止,该标准有两个主要实现,分别是SPIRE和Istio [2],该平台支持使用SPIFFE进行识别方面的服务网格体系结构。 此实现解决了跨异构系统的信任引导和标识所涉及的许多复杂问题。 有关更多详细信息,请访问
spiffe.io网站。

OAuth 2.0当前是API安全领域中使用最广泛的标准,在工作负载领域中也用于访问委派和授权。 尽管SPIFFE是目前新兴的标准,但是OAuth 2.0已经存在了一段时间,可以说大多数企业系统都采用了它。 因此,如果我们可以将这两个标准融合在一起,则可以兼具两全其美的优势,并具有OAuth 2.0提供的互操作性以及SPIFFE的动态信任引导和识别功能。

请注意,下图中的SPIRE服务器可以是任何支持SPIFFE标准的实现。

多云系统


–我们假设一个企业系统由两个云中的工作负载组成,此处我们假设是AWS和GCP。 如果我们将其想象为GCP中当前正在运行的系统,且其工作负载基于OAuth 2.0范围而受到保护,则要消耗这些工作负载的其他工作负载应带有有效的访问令牌和相关的范围。

–可以想象在AWS云中运行的系统部分是新设计的,可以作为多云系统的一部分运行。 它利用SPIFFE标准来唯一地识别跨多个云的工作负载。 –作为此基于SPIFFE的信任引导和标识的一部分,每个工作负载均接收由SPIRE服务器签名的X.509证书,并带有其标识符,称为SPIFFE ID。 例如。 spiffe:// localdomain / us-west / data(包含在SAN中)[3] –这是OAuth 2.0的图片。 我们依赖于授权服务器在客户端凭据授予类型下发出OAuth 2访问令牌的能力。 这将处于草稿阶段[4]的MTLS OAuth2.0规范之下。

这里很少有特殊的事情发生,

  • 基于工作负载的SPIRE服务器签名密钥对创建MTLS连接。 因此,假定授权服务器和SPIRE服务器具有预先建立的信任。
  • 当工作负载创建与授权服务器的MTLS连接时,它会动态地动态创建OAuth 2客户端,生成OAuth2机密并颁发令牌。 此时,授权服务器应在发出验证之前进行几次验证。
  • 首先需要验证证书,然后需要读取证书的内容以及SAN中的SPIFFE ID。
  • 仅查看SPIFFE ID并颁发令牌不足以满足企业用例。
  • 因此,我们将提供基于在使用OPA的授权服务器中定义的策略将范围附加到这些令牌的功能。 (OPA代表开放策略代理,它非常灵活,可以像复杂策略一样提供RBAC,ABAC或XACML。)此策略可以使用其他可用数据并做出决策。
  • 验证完成后,授权服务器将发出一个自包含的访问令牌,包括范围,过期时间等,这些令牌将发送到AWS工作负载,以便在调用GCP工作负载时提交。
  • 除了使用其现有机制来验证OAuth 2.0令牌并获取其附带的任何有用信息外,GCP工作负载此处不需要任何其他功能。


希望这能很好地解释这种情况。 我将这个解决方案命名为Dvaara,表示可以打开更多门并控制进出。 :)
我们欢迎任何反馈,建议。
[1] – https://www.cncf.io/blog/2018/03/29/cncf-to-host-the-spiffe-project/ [2] – https://istio.io/docs/concepts/security/#istio-security-vs-spiffe [3] –样本SVID https://gist.github.com/Pushpalanka/b70d5057154eb3c34d651e6a4d8f46ee#file-svid-cert [4] – https://tools.ietf.org/html/draft-ietf-oauth-mtls-12 [5] – https://www.openpolicyagent.org/docs/comparison-to-other-systems.html

干杯!

翻译自: https://www.javacodegeeks.com/2019/01/authorization-multi-cloud-system.html

多云平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XML的学习

文章目录XML 简介XML 语法XML 组成部分XML 约束DTD名称解释引用内部的 DTD引用外部的 DTDSchema语法格式详解命名空间前缀的意义XML 解析解析 XML 的方式(思想)解析器JSOUP 的使用JSOUP 入门快捷查询Jsoup 选择器查询XPathXML 简介 XML,Exte…

php 日期多余小时,在PHP中添加小时到日期时间

DateTime是PHP中的一个很棒的功能$string 1/1/2016 11.00PM;$date new DateTime($string);$interval new DateInterval(PT6H);$date->add($interval);// Now add another 6 hours while we are between 12:00 AM and 6:00 AMwhile($date->format(G) > 0 &&…

streaming api_通过Spring Integration消费Twitter Streaming API

streaming api1.概述 众所周知, Spring Integration具有用于与外部系统交互的大量连接器。 Twitter也不例外,而且很长一段时间以来,因为Spring Social一直是一个开箱即用的解决方案,Spring Integration利用该解决方案来连接到社交…

Linux命令之 mount -- 文件系统挂载

文章目录简介参考实例加载指定的分区参考简介 mount 命令用于加载文件系统到指定的加载点。此命令的最常用于挂载 cdrom,使我们可以访问 cdrom 中的数据,因为你将光盘插入 cdrom 中,Linux 并不会自动挂载,必须使用 Linux mount 命…

java 舍,java 4舍六入五成双

java 四舍六入五成双1. 小于5舍去,即舍去部分的数值小于保留部分的末位的半个单位,则末位不变;2. 大于5进1,即舍去部分的数值大于保留部分的末位的半个单位,则末位加1;3. 等于5时取偶数,即舍去部…

Linux命令之 umount -- 卸载文件系统

文章目录介绍参考介绍 umount 是“unmount”的缩写,译为“不挂载。所以它的”的作用是卸载已挂载的文件系统、目录或文件。 利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备&#x…

aws技术峰会2018_AWS re:Invent 2018的5大公告

aws技术峰会2018AWS re:Invent刚刚完成。 这是一个巨大的活动,在拉斯维加斯7家最大的酒店中,有50,000多名与会者,并发布了许多新的服务公告。 无服务器端通过新的lambda增强功能和更好的容器支持继续受到很多关注。 AWS通过新的“…

php 降低图像大小,PHP图像重新调整大小

我有一个PHP脚本,可以重新调整JPEG图像的大小.但是,由于某种原因,图像被扭曲,即使我将其编程为按比例计算x或y(取决于照片方向).质量是100,所以我不明白为什么它会使它们扭曲.我究竟做错了什么?编辑原始图像为3264px x 2448px谢谢代码:$im ImageCreateF…

Linux命令之 mke2fs -- 格式化分区(为分区写入文件系统)

文章目录简介命令选项参考实例格式化指定的分区简介 在磁盘分区上创建 ext2、ext3、ext4 等文件系统,默认情况下会创建 ext2。 虽然 mkfs 命令非常简单易用,但其不能调整分区的默认参数(比如块大小是 4096 Bytes),这…

Linux格式化分区的命令

查看系统所有的文件系统: [~]$ df -ah Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1s5s1 234Gi 15Gi 65Gi 19% 575614 682553320 0% / devfs 190Ki 190Ki 0Bi 100% 658 …

java jwt 验证_教程:用Java创建和验证JWT

java jwt 验证“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 Java对JWT(JSON Web令牌)的支持过去需要进行大量…

php网页布局边框,用CSS来设置网页当中的边框

摘要:跟着老师视频做的一个css边框小练习 css——边框 &nbs跟着老师视频做的一个css边框小练习 css——边框 .box{width:100px;height:100px;border:1px solid #ccc;border-radius:20px;}.main{width:100px;height:100px;border-top: 1px s…

Linux命令之 mkfs -- 在特定的分区创建 Linux 文件系统

文章目录简介选项参考示例在 /dev/hda5 上建一个 msdos 的文件系统,同时检查是否有坏轨存在,并且将过程详细列出来:将指定分区格式化成各种类型的文件系统简介 该命令用来在特定的分区创建 Linux 文件系统,常见的文件系统有 ext2…

本地线程分配缓冲_线程本地分配缓冲区

本地线程分配缓冲最近,我一直在研究遭受严重性能问题的Java应用程序。 在许多问题中,真正引起我注意的一个问题是新对象的分配速度相对较慢(应用程序分配了大量的相当大的对象)。 后来发现,原因是大量的分配发生在TLAB…

mysql 触发器计算总价,mysql’插入’触发器根据其他字段计算字段

我正在尝试创建一个触发器,它将根据用户输入的lat / lng列更新GEOMETRY列.我的触发器看起来像这样 –CREATE TRIGGER tbl.fooAFTER INSERT ON tbl FOR EACH ROWBEGINUPDATE tblSET coord Point(lng, lat)WHERE id NEW.id;END但是,当我插入一个带有lng,lat值的新行时,我收到以…

oracle连接外部数据库_使用Oracle验证外部数据

oracle连接外部数据库我经常在Corda Slack频道中闲逛,并尽可能回答问题。 我尝试回答的合理数量的问题与Oracle有关。 更具体地说,何时使用。 我觉得我可以回答,“当您需要验证可能经常更改的外部数据时使用Oracle”。 我大概在某个时候写了一…

macOS如何格式化移动硬盘和U盘

1.打开磁盘工具 2.在左侧选择要格式化的外置磁盘设备,接着在右上角点击【抹掉】 3.点击【抹掉】会弹出如下的对话框,在格式中建议选择 ExFAT 格式,这是一个在 Windows 和 macOS 都可以使用的文件系统格式 选择好要格式化的文件系统格式后&…

macOS查看IP地址的命令

查看内网的 IP 地址&#xff1a; [~]$ ipconfig getifaddr en0 192.168.30.25 # 或者 [~]$ ifconfig en0 en0: flags8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500options400<CHANNEL_IO>ether d4:61:9d:11:c2:94 inet6 fe80::cbc:309b:57a4:5cf6…

mysql注入漏洞语句,web安全之sql注入漏洞

概念通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器执行恶意的SQL命令。通俗地讲&#xff0c;它是利用现有应用程序&#xff0c;将(恶意)的SQL命令注入到后台数据库引擎执行的能力&#xff0c;它可以通过在Web表单中输入(恶意…

ssrs 基于表达式显示_基于表达式的访问控制

ssrs 基于表达式显示1.概述 今天&#xff0c;我们将回顾基于表达式的访问控制&#xff08;EBAC&#xff09;&#xff0c;基于角色的访问控制&#xff08;RBAC&#xff09;和基于属性的访问控制&#xff08;ABAC&#xff09;之间的区别&#xff0c;并将重点放在EBAC上。 2.什么…