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