MVPD Preflight Authorization

NOTE
このページのコンテンツは情報提供のみを目的としています。 この API を使用するには、Adobeから現在のライセンスが必要です。 無許可の使用は許可されていません。

概要 mvpd-preflight-authz-intro

「プリフライト認証」は、複数のリソースに対する軽量の認証チェックです。 プログラマーは主に UI を装飾するためにこの機能を使用します(例えば、ロックやロック解除のアイコンを使用してアクセスステータスを示します)。

現在、Adobe Pass認証は、MVPD に対して、AuthN 応答属性またはマルチチャネル AuthZ リクエストの 2 つの方法でプリフライト認証をサポートできます。 次のシナリオは、プリフライト認証を実装する様々な方法のコストとメリットを説明しています。

  • 最良のシナリオ - MVPD は、承認フェーズ(マルチチャネル AuthZ)で事前承認されたリソースのリストを提供します。
  • 最悪のシナリオ - MVPD が複数リソースの認証をまったくサポートしていない場合、Adobe Pass Authentication Server はリソースリストの各リソースに対して MVPD への認証コールを実行します。 このシナリオは、プリフライト認証リクエストの応答時間に(リソース数に比例して)影響を与えます。 Adobeサーバーと MVPD サーバーの両方の負荷が増え、パフォーマンスの問題が発生する可能性があります。 また、実際に再生を行う必要なく、承認リクエスト/応答イベントが生成されます。
  • 非推奨 - MVPD は、認証段階で事前許可されたリソースのリストを提供するので、リストがクライアントにキャッシュされるので、プリフライト要求でさえも、ネットワーク呼び出しは必要ありません。

MVPD はプリフライト認証をサポートする必要はありませんが、以下の節では、上記の最悪のシナリオに戻る前に、Adobe Pass認証がサポートできるプリフライト認証方式について説明します。

AuthN でのプリフライト preflight-authn

このプリフライトシナリオは OLCA 互換(Cableabs)です。 「認証アサーション内の属性文」と題された認証と承認インタフェース 1.0 仕様の 7.5.2 節では、SAML 認証応答に事前承認されたリソースのリストを含める方法について説明しています。 IdP がこれをサポートしている場合、Adobe Pass Authentication Server は、認証時にプリフライトされたリソースリストを生成し、認証トークンと共にクライアントにキャッシュできます。 このメソッドは最良のシナリオも実現します。プログラマが checkPreauthorizedResources ()を呼び出しても、すべてがクライアント上に既に存在するので、ネットワークコールは実行されません。

SAML Attribute ステートメントのカスタム・リソース・リスト custom-res-saml-attr

IdP の SAML 認証応答には、AdobePass が許可する必要があるリソース名を含んだ AttributeStatement が含まれなければなりません。 一部の MVPD は、これを次の形式で提供します。

<saml:AttributeStatement>
  <saml:Attribute Name="authorized_resources">
    <saml:AttributeValue>MMOD</saml:AttributeValue>
    <saml:AttributeValue>Olympics2012</saml:AttributeValue>
  </saml:Attribute>
</saml:AttributeStatement>

上記の例は、事前認証済みの 2 つのリソース(「MMOD」と「Olympics 2012」)を含むリストを示しています。

これにより、最良のシナリオが効果的に実現され、プログラマが checkPreauthorizedResources ()を呼び出しても、すべてがクライアント上に既に存在するので、ネットワークコールは実行されません。

AuthZ でのマルチチャネルプリフライト preflight-multich-authz

このプリフライト実装も OLCA 互換(Cablelabs)です。 Authentication and Authorization Interface 1.0 Specification (7.5.3 および 7.5.4 節)は、SAML アサーションまたは XACML を使用して MVPD から認証情報を要求する方法について説明しています。 これは、認証フローの一部としてこれをサポートしない MVPD の認証ステータスを照会する場合に推奨される方法です。 Adobe Pass認証は、MVPD に対して 1 回のネットワーク呼び出しを発行して、許可されたリソースのリストを取得します。

Adobe Pass認証は、プログラマーのアプリケーションからリソースのリストを受け取ります。 Adobe Pass認証の MVPD 統合では、これらすべてのリソースを含む 1 つの AuthZ 呼び出しを行い、応答を解析して、複数の permit/deny 決定を抽出できます。 マルチチャネル AuthZ を使用したプリフライトのシナリオのフローは、次のように機能します。

  1. プログラマーのアプリは、preflight クライアント API を使用して、リソースのコンマ区切りリスト(例:"TestChannel1,TestChannel2,TestChannel3")を送信します。
  2. MVPD プリフライト AuthZ リクエスト呼び出しには、複数のリソースが含まれ、次の構造になっています。
<?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 は、1 回のリクエストで複数のリソースの認証をサポートする認証エンドポイントを持っていますが、マルチチャネル AuthZ で説明されているシナリオには該当しません。 これらの特定の MVPD には、カスタム作業が必要です。

また、Adobeは、既存の実装を変更せずに複数チャネルの認証をサポートすることもできます。 このアプローチは、Adobeと MVPD 技術チームの間で見直され、期待どおりに動作することを確認する必要があります。

プリフライト認証をサポートする MVPD mvpds-supp-preflight-authz

次の表に、プリフライト認証をサポートする MVPD と、サポートするプリフライトのタイプおよび既知の制限事項を示します。

プリフライトアプローチ
MVPD
備考
マルチチャネル AuthZ
Comcast AT&T Proxy Clearleap Charter_Direct Proxy GLDS Rogers Verizon OSN Bell Sasktel Optimum AlticeOne
ユーザーメタデータのチャネルラインアップ
Suddenlink HTC
すべての Synacor 直接統合もこのアプローチをサポートできます。
分岐と結合
上記に記載されていないその他すべて
チェックされるリソースのデフォルトの最大数= 5。
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b