次の方法で共有


ContentKeyAuthorizationPolicyOption

Media Services では、キーを要求するユーザーを承認する複数の方法がサポートされています。 コンテンツ キー承認ポリシーを構成する必要があります。キーがクライアント (プレーヤー) に配信されるには、クライアントがこのコンテンツ キー承認ポリシーを満たしている必要があります。 コンテンツ キー承認ポリシーには、1 つまたは複数の承認制限 (オープン、トークン制限、IP 制限) を指定できます。 承認のオプションは、ContentKeyAuthorizationPolicyOption を使用して指定します。 作成したそのオプションを ContentKeyAuthorizationPolicy に追加してください。

Key Delivery サービスでは、15 分間、その関連オブジェクト (ポリシー オプションと制限) がキャッシュ ContentKeyAuthorizationPolicy されることに注意してください。 を作成 ContentKeyAuthorizationPolicy し、"トークン" 制限を使用するように指定し、それをテストし、ポリシーを "開く" 制限に更新すると、ポリシーがポリシーの "開く" バージョンに切り替わるまでに約 15 分かかります。

このトピックでは、ContentKeyAuthorizationPolicyOption について説明すると共に、このエンティティの使用方法について説明します。 に関連付けるContentKeyAuthorizationPolicyOptionContentKeyAuthorizationPolicy方法を示すより完全な例については、「ContentKeyAuthorizationPolicy」を参照してください。

重要

Media Services でエンティティにアクセスするときは、HTTP 要求で特定のヘッダー フィールドと値を設定する必要があります。
詳細については、「 Media Services REST API 開発のセットアップ」および「Media Services REST APIを使用した Media Services への接続」を参照してください。

ContentKeyAuthorizationPolicyOption エンティティのプロパティ

プロパティ Type 説明
Id

読み取り専用です。 Media Services で設定します。
Edm.String 一意識別子。
Name Edm.String 承認ポリシーのフレンドリ名。
KeyDeliveryType

必須。
Edm. Int32 クライアントへのコンテンツ キーの配信方法。

KeyDeliveryType には、None = 0、PlayReadyLicense = 1、BaselineHttp = 2 のいずれかを指定できます。
KeyDeliveryConfiguration Edm.String キーをクライアントに配信する方法を定義するキー配信タイプに固有の XML データ。
Restrictions

必須。
ContentKeyAuthorizationPolicyRestriction ComplexType プロパティのコレクション。 キー配信データを使用してキーを配信するには、各制限で定義されている要件を満たす必要があります。

ContentKeyAuthorizationPolicyRestriction ComplexType のプロパティ

プロパティ Type 説明
Name Edm.String 制限のフレンドリ名。
KeyRestrictionType

必須。
Edm. Int32 制限の種類。

KeyRestrictionType には、Open = 0、TokenRestricted = 1、IPRestricted = 2 のいずれかを指定できます。
Requirements Edm. String 制限の要件。

ContentKeyAuthorizationPolicyOption を作成します

次の例で作成する ContentKeyAuthorizationPolicyOption には、承認制限として Open ("KeyRestrictionType":0) が、キー配信手法として MPEG ベースライン HTTP キー プロトコル BaselineHttp ("KeyDeliveryType":2) の値が設定されています。 この例は、 Fiddler の [Composer] タブで試すことができます。

最新 x-ms-version:の を取得するには、「 Media Services REST」を参照してください。

要求ヘッダー:

POST https://testrest.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions HTTP/1.1  
  
Content-Type: application/json  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json  
Accept-Charset: UTF-8  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
x-ms-version: 2.19  

要求本文:

  
{    
   "Name":"policy",  
   "KeyDeliveryType":2,  
   "KeyDeliveryConfiguration":"",  
   "Restrictions":[    
      {    
         "Name":"HLS Open Authorization Policy",  
         "KeyRestrictionType":0,  
         "Requirements":null  
      }  
   ]  
}  

成功すると、応答本文に HTTP/1.1 201 Created ステータス コードと、作成されたエンティティの表記が返されます。

次の例で作成する ContentKeyAuthorizationPolicyOption には、承認制限として Token ("KeyRestrictionType":1) が、キー配信手法として MPEG ベースライン HTTP キー プロトコル BaselineHttp ("KeyDeliveryType":2) の値が設定されています。

最新 x-ms-version:の を取得するには、「 Media Services REST」を参照してください。

要求ヘッダー:

POST https:/testrest.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions HTTP/1.1  
  
Content-Type: application/json  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json  
Accept-Charset: UTF-8  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
x-ms-version: 2.19  
  

要求本文:

{    
   "Name":"Token option for HLS",  
   "KeyDeliveryType":2,  
   "KeyDeliveryConfiguration":null,  
   "Restrictions":[    
      {    
         "Name":"Token Authorization Policy",  
         "KeyRestrictionType":1,  
         "Requirements":"<TokenRestrictionTemplate xmlns:i=\"https://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.microsoft.com/Azure/MediaServices/KeyDelivery/TokenRestrictionTemplate/v1\"><AlternateVerificationKeys><TokenVerificationKey i:type=\"SymmetricVerificationKey\"><KeyValue>dliLr1QQJrATxNuoss2Btvk1KxcDJDHvTgu7fII5LEMGAt1p6J1YAD7I0EVd6D69nEkNUlkSDXfgaJ3cswrf8g==</KeyValue></TokenVerificationKey></AlternateVerificationKeys><Audience>urn:test</Audience><Issuer>http://testacs.com/</Issuer><PrimaryVerificationKey i:type=\"SymmetricVerificationKey\"><KeyValue>tqdCrSPGDZYJ4l3YyWR1NH7OdTvucBm7bU/ZQKPszV/hR54saMgyJK9bA9bay996NtNpcA0OruHETvy885g46A==</KeyValue></PrimaryVerificationKey><RequiredClaims><TokenClaim><ClaimType>urn:microsoft:azure:mediaservices:contentkeyidentifier</ClaimType><ClaimValue i:nil=\"true\" /></TokenClaim></RequiredClaims><TokenType>JWT</TokenType></TokenRestrictionTemplate>"  
      }  
   ]  
}