【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

XACML 终有出头天?

  • 2007-07-04
  • 本文字数:1459 字

    阅读完需:约 5 分钟

XACML ,即可扩展访问控制标记语言(eXtensible Access Control Markup Language),是一份 Oasis 两年多前通过的标准,在上周的 Burton’s Catalyst Conference 会议上演示了 XACML 如何跨厂商平台工作。 XACML 标准提供了一种(标记)语言,用来定义访问授权的决策规则和用于策略决策交换的请求 / 响应协议。XACML 定义了 4 个主要实体:

  • PAP——策略管理点(Policy Administration Point)——基本上是一个存放策略的仓库。
  • PIP——策略信息点(Policy Information Point)——目录或者其他身份证明(identity)的供应者。PIP 可提供被访问的资源的属性,以及试图访问该资源的实体(身份证明)。
  • PDP——策略决策点(Policy Decision Point)——这个组件负责对访问授权的决策。PDP 使用从 PAP 获得的策略以及从 PIP 获得的附加信息来进行决策。
  • PEP——策略实施点(Policy Enforcement Point)——这个组件负责接收对授权的请求。PEP 向 PDP 发送 XAXML 请求,然后根据 PDP 的决策来行动。

要说明的是,XACML 并不是完全独立的。XACML 定义了实现请求 / 响应所必需的消息内容,但没有定义消息交换方面的协议和传输机制。这个问题要用到另一个 Oasis 标准,名为 SAML(Security Assertions Markup Language)。概括来说,XACML 提供了一种确定对资源的访问权限的方法,而 SAML 则提供了一种安全地交换这些信息的方法。

互操作性的之所以重要,不单是因为在一家具有相当规模的企业里几乎不可能存在均一的环境,而且就算你能找到这样的企业,当需要与其他企业合作的时候,你仍然要面对异质环境的问题。

这次互操作演示包括 8 家厂商:BEA、IBM、JBoss/Red Hat、Oracle、CA、Jericho Systems、SymLabs 和 Securent。厂商们演示了几个安全方面的互操作场景, JBoss 的 Anil Saldhana 对此作了描述:

用例: 授权决策
======================== 在授权决策互操作演示中,由 */Vendor A/* (*/PEP-A/*) 的 */PEP/* 产生的 XACML 2.0 授权决策请求,将被 */Vendor B /*(*/PDP-B/*) 的 */PDP/* 正确解读,其中 Vendor A 和 Vendor B 可为参与互操作的任意厂商。

场景一:授权决策:客户访问

客户从浏览器中提交用户名和密码。在身份认证之后,PEP 将客户的用户名用户 Id 和“ViewAccount”操作,在 CustomerAccount Web 应用程序的上下文中打包成 XACML 请求,然后交给 PDP 解读。在此事件中,PDP 可来自不同厂商。场景二:授权决策:客户事务

客户试图购买 500 股 XYZ 股票。PEP 收集此事务的相关信息(举例来说,“Buy”操作和股票数量“500”),然后和其他上下文中的信息一起,打包成 XACML 请求交给 PDP 解读。在此事件中,PDP 可来自不同厂商。场景三:授权决策:客户经理访问

客户经理需要批准请求。PEP 收集关于客户经理的信息,交给 PDP 来处理客户经理的访问。场景四:授权决策:账户经理批准

客户经理需要批准股票购买。PEP 收集关于客户经理的批准的信息,然后询问 PDP 是否允许此批准通过。用例:策略交换

===================
由一家厂商产生的 XACML 策略可被其他厂商的 PDP 访问和使用。

James McGovern 提出了互操作性的另一个方面,事实上 JBoss 也做到了这个方面:

Anil Saldhana 认为 JBoss XACML 2.0 的发布是一件大事。这可能是给 Alfresco 的 John Newton、Intalio 的 Ismael Ghalimi 以及 Liferay 的 Brian Chan 的一个机会,让他们能够非常容易地在他们的产品中加入 XACML 支持,把他们的闭源竞争者们打倒在地。

无论如何,即便用了超过两年时间,看到这个标准终于成熟仍然是一件令人高兴的事,特别是在上面提到的那些用例并不罕见的情况下。

2007-07-04 09:301990
用户头像

发布了 225 篇内容, 共 61.0 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

面向深蓝!西北工业大学团队借助昇腾AI,打造海面落水目标智能机载搜寻系统

Geek_2d6073

前端工程师leetcode算法面试必备-二叉树的构造和遍历

js2030code

JavaScript LeetCode

重磅发布!《天翼云白皮书》+天翼云紫金DPU来了!

天翼云开发者社区

CDN 系统

react源码分析:实现react时间分片

flyzz177

React

react源码分析:babel如何解析jsx

flyzz177

React

数字先锋| 公开!青海师大“接轨社会人才”培养秘籍!

天翼云开发者社区

云计算 大数据 云平台

2022 倒带 - NutUI

京东科技开发者

小程序 开源 开发 技术栈 企业号 1 月 PK 榜

Polaris 和 dubbogo 全面对接,让微服务更简单

阿里巴巴云原生

阿里云 云原生 dubbogo

无代码开发

间隔

阿里达摩院5G云网技术融合实践——与世炬网络共同探索智能制造场景应用

云布道师

阿里云 5G

直播|PostgreSQL 技术内幕(五)Greenplum-Interconnect模块

酷克数据HashData

postgresql

手把手带你开发starter,点对点带你讲解原理

京东科技开发者

spring 开发 服务器 系统 企业号 1 月 PK 榜

不愧是Alibaba内网《并发编程笔记》,这细节讲解,神了!

架构师之道

Java 编程 架构师

【深入浅出Sentinel原理及实战】「基础实战专题」零基础探索分析Sentinel控制台开发指南(3)

洛神灬殇

sentinel sentinel集群限流 1月日更

2022 年,这 20+22 位共建者闪耀 StarRocks 社区

StarRocks

数据库 开源

什么是A/B实验,为什么要开A/B实验?

字节跳动数据平台

大数据 AB testing实战

从React源码角度看useCallback,useMemo,useContext

flyzz177

React

超全!9种PCB表面处理工艺大对比

华秋PCB

生产 PCB PCB工艺

用javascript分类刷leetcode24.其他类型题(图文视频讲解)

js2030code

JavaScript LeetCode

开源共创,StarRocks 祝您 2023 年前 “兔” 无量!

StarRocks

数据库 开源

技术分享| 如何使用Prometheus实现系统进程监控

anyRTC开发者

Prometheus 服务器 运维开发 数据监控 系统进程监控

王龙:数据烟囱亟需打破 —— 解读云原生数据库的2022

MatrixOrigin

数据库 云原生 MatrixOrigin MatrixOne

互联网一线研发管理之殇

葱小白

互联网 管理 前端

前端工程师leetcode算法面试必备-二叉树深度广度遍历

js2030code

JavaScript LeetCode

深度解读天翼云紫金DPU,软硬协同造就极致性能!

天翼云开发者社区

音视频开发进阶|第七讲:分辨率与帧率·上篇

ZEGO即构

使用QuTrunk+AWS ParallelCluster3进行并行计算

启科量子开发者官方号

量子计算

从React源码来学hooks是不是更香呢

flyzz177

React

react源码分析:深度理解React.Context

flyzz177

React

2023年工作上的几个小目标

SAP虾客

系统集成 在家办公 PRA 自动化仓库

带你实现react源码的核心功能

flyzz177

React

XACML终有出头天?_SOA_Arnon Rotem-Gal-Oz_InfoQ精选文章