次の方法で共有


ContentKeyAuthorizationPolicy

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

同じポリシー構成を必要とする複数のコンテンツ キーを使用する場合は、単一の承認ポリシーを作成し、そのポリシーを複数のコンテンツ キーで繰り返し使用することを強くお勧めします。

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

このトピックでは、ContentKeyAuthorizationPolicy について説明すると共に、このエンティティの使用方法について説明します。

重要

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

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

プロパティ Type 説明
Id

読み取り専用です。 Media Services で設定します。
Edm.String 一意識別子。
Name Edm.String コンテンツ キー承認ポリシーのフレンドリ名。
Options ContentKeyAuthorizationPolicyOptionsのコレクション。 クライアントがコンテンツ キーへのアクセスの承認を得る各種方法のリスト。

ContentKeyAuthorizationPolicy を作成します

次の例では、ContentKeyAuthorizationPolicy を作成します。 この例は、 Fiddler の [Composer] タブで試すことができます。

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

要求ヘッダー:

POST https://testrest.cloudapp.net/api/ContentKeyAuthorizationPolicies  
  
Content-Type: application/json  
DataServiceVersion: 1.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" : "Authorization Policy" }   

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

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>"  
      }  
   ]  
}  
  

ContentKeyAuthorizationPolicy へのオプションの関連付け

次に示したのは、ContentKeyAuthorizationPolicy に ContentKeyAuthorizationPolicyOption を関連付ける例です。 この例は、 Fiddler の [Composer] タブで試すことができます。

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

要求ヘッダー:

POST https://testrest.cloudapp.net/api/ContentKeyAuthorizationPolicies('nb%3Ackpid%3AUUID%3Ac0a7c7cb-09c2-4306-86f5-9e9dc718cd90')/$links/Options  
  
DataServiceVersion: 1.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json  
Accept-Charset: UTF-8  
Content-Type: application/json  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
x-ms-version: 2.19  
  

要求本文:

{ "uri":"https://wamsbayclus001rest-hs.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions('nb%3Ackpoid%3AUUID%3A288f8084-e93b-4d04-90c0-a7af9145b7ae')" }  
  

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