共用方式為


ContentKeyAuthorizationPolicyOption

媒體服務支援多種方式來驗證提出金鑰要求的使用者。 內容金鑰授權原則必須由您設定,而且用戶端 (播放器) 必須符合條件,才能將金鑰傳遞給用戶端。 內容金鑰授權原則可能會有一個或多個授權限制:Open、權杖限制或 IP 限制。 您使用 ContentKeyAuthorizationPolicyOption 來指定授權選項。 之後新增建立的選項至 ContentKeyAuthorizationPolicy

請注意,金鑰傳遞服務會 ContentKeyAuthorizationPolicy 快取及其相關物件, (原則選項和限制) 15 分鐘。 如果您建立 ContentKeyAuthorizationPolicy 並指定使用「權杖」限制,然後測試它,然後將原則更新為「開啟」限制,則原則切換至原則的「開啟」版本之前大約需要 15 分鐘的時間。

本主題描述 ContentKeyAuthorizationPolicyOption,並示範如何使用此實體。 如需更完整的範例,示範如何與 ContentKeyAuthorizationPolicy 產生關聯 ContentKeyAuthorizationPolicyOption ,請參閱ContentKeyAuthorizationPolicy

重要

在媒體服務中存取實體時,您必須在 HTTP 要求中設定特定的標頭欄位和值。
如需詳細資訊,請參閱媒體服務 REST API 開發和使用媒體服務 REST API 連線到媒體服務

ContentKeyAuthorizationPolicyOption 實體屬性

屬性 類型 說明
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 Propertiess 的集合。 定義於每項限制中的需求必須相符,才能使用金鑰傳遞資料來傳遞金鑰。

ContentKeyAuthorizationPolicyRestriction ComplexType 屬性

屬性 類型 描述
Name Edm.String 限制的易記名稱。
KeyRestrictionType

必要。
Edm. Int32 限制的類型。

KeyRestrictionType 可以是下列其中一項:Open = 0、TokenRestricted = 1、IPRestricted = 2。
Requirements Edm. String 限制需求。

建立 ContentKeyAuthorizationPolicyOption

下列範例會建立已設定下列值的 ContentKeyAuthorizationPolicyOption: Open 授許可權制 ("KeyRestrictionType":0) 和 BaselineHttp (MPEG 基準 HTTP 金鑰通訊協定) 金鑰傳遞方法 ("KeyDeliveryType":2) 。 您可以在 Fiddler的 [編輯器] 索引標籤中試用範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 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 已建立狀態碼以及已建立實體的表示式。

下列範例會建立已設定下列值的 ContentKeyAuthorizationPolicyOption: Token 授許可權制 () "KeyRestrictionType":1 和 BaselineHttp (MPEG 基準 HTTP 金鑰通訊協定) 金鑰傳遞方法 ("KeyDeliveryType":2) 。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 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>"  
      }  
   ]  
}