Time XACML 3.0中对时间数学和时区的支持

Time XACML 3.0中对时间数学和时区的支持,time,authorization,xacml,abac,pdp,Time,Authorization,Xacml,Abac,Pdp,我想了解一下XACML版本3的PDP过程决策,关于基于时间窗口的决策的处理,特别是它如何与作为规范一部分的时区字段支持一起工作 对于策略,我使用以下方式定义时间事件:HH:MM:SS Tz:00 例如,我们可以讨论位于纽约市的一个数据中心,目前UTC-4小时,在东部夏令时(EDT)下运行, 虽然在西海岸,旧金山地区的客户在UTC - 7小时,也使用DST调整。此外,我们可能会看到在UTC-3从圣保罗进入,无需DST 如何定义授权访问窗口,以覆盖每个地点营业时间内的所有服务交付?我们是否应在UTC

我想了解一下XACML版本3的PDP过程决策,关于基于时间窗口的决策的处理,特别是它如何与作为规范一部分的时区字段支持一起工作

对于策略,我使用以下方式定义时间事件:HH:MM:SS Tz:00

例如,我们可以讨论位于纽约市的一个数据中心,目前UTC-4小时,在东部夏令时(EDT)下运行, 虽然在西海岸,旧金山地区的客户在UTC - 7小时,也使用DST调整。此外,我们可能会看到在UTC-3从圣保罗进入,无需DST

如何定义授权访问窗口,以覆盖每个地点营业时间内的所有服务交付?我们是否应在UTC(+00:00)下申报,或者PDP是否在保单处理过程中进行了必要的转换,例如在18:00:00-07:00(旧金山的一天结束时间),这将映射到UTC 01:00:00,作为服务交付的最终限制,转换回纽约21:00:00-04:00

我假定请求将在本地时间生成,也将引用本地时间

P>我们可以将基于中央时间的决策推到XACML PDP之下,还是更好地在每个办公室和时区基础上应用多个政策,比如对每个城市使用单独的政策,比如旧金山、Paulo和纽约?然而,一个类似的担忧是对亚洲时区的支持,这些时区显示的时间很少。是否有文档澄清XACML下与时间数学相关的疑问

时间窗口决策的示例规则

                    <Rule Effect="Deny" RuleId="DenyOutsideOfficeHours">
                           <Target></Target>
                           <Condition>
                              <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
                                 <Apply FunctionId="urn:oasis:names:tc:xacml:2.0:function:time-in-range">
                                    <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:time-one-and-only">
                                       <AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-time" DataType="http://www.w3.org/2001/XMLSchema#time" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" MustBePresent="false"></AttributeDesignator>
                                    </Apply>
                                    <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:time-one-and-only">
                                       <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:time-bag">
                                          <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#time">08:00:00-03:00</AttributeValue>
                                       </Apply>
                                    </Apply>
                                    <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:time-one-and-only">
                                       <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:time-bag">
                                          <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#time">18:00:00-03:00</AttributeValue>
                                       </Apply>
                                    </Apply>
                                 </Apply>
                              </Apply>
                           </Condition>
                           <ObligationExpressions>
                              <ObligationExpression ObligationId="obligation.displayAttributes" FulfillOn="Deny">
                                 <AttributeAssignmentExpression AttributeId="urn:oasis:names:tc:xacml:3.0:example:attribute:text" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject">
                                    <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">access to resource is limited to office hours between 08:00 to 18:00 GMT-3</AttributeValue>
                                 </AttributeAssignmentExpression>
                              </ObligationExpression>
                           </ObligationExpressions>
                        </Rule>

08:00:00-03:00
18:00:00-03:00
访问资源仅限于格林尼治标准时间08:00至18:00-3之间的办公时间

您必须有一个PIP来解析每个位置的打开和关闭时间

XACML请求不会发送任何时间戳。相反,XACML请求的内容大致如下:

  • 艾丽丝能在办公室里做X吗
PDP将包含一项政策,即如果openTime 属性openTime和closeTime将从基于officey的PIP中读取


openTime、closeTime和currentTime这三个属性都需要时区信息,以便充分进行比较。

您必须有一个PIP来解析每个位置的打开和关闭时间

XACML请求不会发送任何时间戳。相反,XACML请求的内容大致如下:

  • 艾丽丝能在办公室里做X吗
PDP将包含一项政策,即如果openTime 属性openTime和closeTime将从基于officey的PIP中读取

openTime、closeTime和currentTime这三个属性都需要时区信息,以便充分实现比较