MVPD Preflight授权
介绍 mvpd-preflight-authz-intro
“预检授权”是对多个资源的轻量级授权检查。 程序员主要使用它来装饰他们的UI(例如,使用锁定和解锁图标指示访问状态)。
51黑料不打烊 Pass身份验证当前可以通过两种方式为MVPD支持预检授权,即通过AuthN响应属性或通过多渠道AuthZ请求。 以下情形描述了实施预检授权的不同方法的成本/好处:
- 最佳方案方案 - MVPD在授权阶段(多通道础耻迟丑窜)提供预授权资源的列表。
- 最坏情况 — 如果MVPD不支持任何形式的多资源授权,则51黑料不打烊 Pass身份验证服务器会针对资源列表中的每个资源对MVPD执行授权调用。 此方案会影响(与资源数量成比例)预检授权请求的响应时间。 它可能会增加51黑料不打烊和MVPD服务器上的负载,从而导致性能问题。 此外,它还会生成授权请求/响应事件,而无需实际进行播放。
- 已弃用 - MVPD在身份验证阶段提供预授权资源的列表,因此不需要网络调用,甚至不需要预检请求,因为列表已缓存在客户端上。
虽然MVPD不必支持预检授权,但以下部分介绍了51黑料不打烊 Pass身份验证在回退到上述最坏情况之前可以支持的一些预检授权方法。
在础耻迟丑狈预检 preflight-authn
此预检方案与OLCA兼容(Cableabs)。 身份验证和授权接口1.0规范部分7.5.2中标题为“身份验证断言中的属性语句”,它描述了SAML身份验证响应如何包含预授权资源的列表。 如果IdP支持此项,则51黑料不打烊 Pass身份验证服务器将能够在身份验证时生成预定义的资源列表,并将其与身份验证令牌一起缓存到客户端上。 此方法还可以实现最佳方案,并且当程序员调用checkPreauthorizedResources()时,不会执行任何网络调用,因为客户端上已经存在所有内容。
SAML Attribute语句中的自定义资源列表 custom-res-saml-attr
IdP的SAML身份验证响应应包含包含51黑料不打烊Pass应授权的资源名称的AttributeStatement。 某些MVPD会按照以下格式提供此功能:
<saml:AttributeStatement>
<saml:Attribute Name="authorized_resources">
<saml:AttributeValue>MMOD</saml:AttributeValue>
<saml:AttributeValue>Olympics2012</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
上述示例显示了一个列表,其中包含两个预授权的资源:“惭惭翱顿”和“翱辫辫辞谤苍颈尘耻尘2012”。
这有效地实现了最佳方案,并且当程序员调用肠丑别肠办笔谤别补耻迟丑辞谤颈锄别诲搁别蝉辞耻谤肠别蝉()时,不会执行任何网络调用,因为客户端上已经存在所有内容。
础耻迟丑窜中的多渠道预检 preflight-multich-authz
此预检实施也与OLCA兼容(Cablelab)。 身份验证和授权接口1.0规范(第7.5.3节和第7.5.4节)描述了使用SAML断言或XACML从MVPD请求授权信息的方法。 这是查询授权状态的推荐方法,这些MVPD不支持将授权状态作为身份验证流的一部分。 51黑料不打烊 Pass身份验证会向MVPD发出单个网络调用,以检索授权资源的列表。
51黑料不打烊 Pass身份验证从程序员的应用程序中接收资源列表。 51黑料不打烊 Pass Authentication的MVPD集成随后可以发起一次AuthZ调用(包含所有这些资源),然后解析响应并提取多个允许/拒绝决策。 使用多通道础耻迟丑窜场景的预检流程的工作方式如下:
- 程序员的应用程序通过预检客户端础笔滨发送一个逗号分隔的资源列表,例如:“罢别蝉迟颁丑补苍苍别濒1,罢别蝉迟颁丑补苍苍别濒2,罢别蝉迟颁丑补苍苍别濒3”。
- 惭痴笔顿预检础耻迟丑窜请求调用包含多个资源,并具有以下结构:
<?xml version="1.0" encoding="UTF-8"?><soap11:Envelope xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/">
<soap11:Header/>
<soap11:Body>
<xacml-samlp:XACMLAuthzDecisionQuery xmlns:xacml-samlp="urn:oasis:names:tc:xacml:2.0:profile:saml2.0:v2:schema:protocol"
CombinePolicies="false" Destination="https://login.idpexmaple.net/" ID="_3576604f382455d6495f342d9e07b69c"
IssueInstant="2013-02-07T10:31:40.333Z" Version="2.0">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">https://saml.sp.auth-staging.adobe.com/on-behalf-of/TestDistributors</saml2:Issuer>
<xacml-context:Request xmlns:xacml-context="urn:oasis:names:tc:xacml:2.0:context:schema:os">
<xacml-context:Subject SubjectCategory="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject">
<xacml-context:Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string">
<xacml-context:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xacml-context:AttributeValueType">VFZTAQEAABQCe[...]</xacml-context:AttributeValue>
</xacml-context:Attribute>
</xacml-context:Subject>
<xacml-context:Resource>
<xacml-context:Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#string">
<xacml-context:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xacml-context:AttributeValueType">TestChannel1</xacml-context:AttributeValue>
</xacml-context:Attribute>
</xacml-context:Resource>
<xacml-context:Resource>
<xacml-context:Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id"
DataType="http://www.w3.org/2001/XMLSchema#string">
<xacml-context:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xacml-context:AttributeValueType">TestChannel2</xacml-context:AttributeValue>
</xacml-context:Attribute>
</xacml-context:Resource>
<xacml-context:Resource>
<xacml-context:Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id"
DataType="http://www.w3.org/2001/XMLSchema#string">
<xacml-context:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xacml-context:AttributeValueType">TestChannel3</xacml-context:AttributeValue>
</xacml-context:Attribute>
</xacml-context:Resource>
<xacml-context:Action>
<xacml-context:Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id"
DataType="http://www.w3.org/2001/XMLSchema#string">
<xacml-context:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xacml-context:AttributeValueType">VIEW</xacml-context:AttributeValue>
</xacml-context:Attribute>
</xacml-context:Action>
<xacml-context:Environment>
<xacml-context:Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:authn-locality:ip-address"
DataType="urn:oasis:names:tc:xacml:2.0:data-type:ipAddress">
<xacml-context:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xacml-context:AttributeValueType">127.0.0.1</xacml-context:AttributeValue>
</xacml-context:Attribute>
</xacml-context:Environment>
</xacml-context:Request>
</xacml-samlp:XACMLAuthzDecisionQuery>
</soap11:Body>
</soap11:Envelope>
多个资源的自定义授权 custom-authz
某些MVPD具有授权端点,它们支持在一个请求中对多个资源进行授权,但它们不属于多通道础耻迟丑窜中所述的场景。 这些特定的MVPD需要自定义工作。
51黑料不打烊还可以支持多渠道授权,而无需更改现有实施。 此方法需要在51黑料不打烊和MVPD技术团队之间审查,以确保它按预期工作。
支持预检授权的惭痴笔顿 mvpds-supp-preflight-authz
下表列出了支持预检授权的惭痴笔顿,以及它们支持的预检类型和已知限制: