ContentKey
ContentKey 提供資產的安全存取。 除了建立 ContentKey 實體之外,您還必須使用保護金鑰將產生的內容金鑰加密。 如需擷取保護金鑰的詳細資訊,請參閱 加密資產 (選擇性) 和 REST API 函式。
本主題概述 ContentKey
實體,也會示範如何使用 Media Services REST API 執行各種作業。
重要
在媒體服務中存取實體時,您必須在 HTTP 要求中設定特定的標頭欄位和值。
如需詳細資訊,請參閱媒體服務 REST API 開發和使用媒體服務 REST API 連線到媒體服務。
ContentKey 實體屬性
屬性 | 類型 | 描述 |
---|---|---|
Id 必要。 這個值不是由媒體服務所設定。 |
Edm.String | 使用者定義的唯一識別碼。 |
Created 唯讀。 建立時由媒體服務設定。 |
Edm.DateTime | 此值會在建立時由媒體服務設定。 |
LastModified 唯讀。 由 Media Services 設定。 |
Edm.DateTime | 進行任何屬性變更之後,媒體服務就會更新此值。 |
ContentKeyType 選擇性。 |
Edm.Int32 | 指定內容金鑰類型的列舉值。 有效值為: - CommonEncryption = 0 - StorageEncryption = 1 - ConfigurationEncryption = 2 - EnvelopeEncryption = 4 |
EncryptedContentKey 選擇性。 |
Edm.String | 使用 X.509 憑證之公開金鑰加密的內容金鑰。 最大長度為 4000。 |
Name 選擇性。 |
Edm.String | ContentKey 的好記名稱。 最大長度為 4000。 |
ProtectionKeyId 選擇性。 |
Edm.String | 用來將儲存體、一般加密或組態加密金鑰加密之 X.509 憑證的指紋。 呼叫 GetProtectionKeyId 函數時會傳回此值給您。 最大長度為 4000。 |
ProtectionKeyType 選擇性。 |
Edm.Int32 | 指定保護金鑰類型的列舉值。 有效值為: - X509CertificateThumbprint = 0 |
Checksum 選擇性。 |
Edm.String | ContentKey 的總和檢查碼。 最大長度為 4000。 |
AuthorizationPolicyId |
Edm.String | 與 ContentKey 相關聯的授權原則識別碼。 |
建立 ContentKey
ContentKey 可以使用 POST HTTP 要求來建立。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
POST | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys > | HTTP/1.1 |
範例要求
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
POST https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 572
Expect: 100-continue
{"Id" : "nb:kid:UUID:316d14d4-b603-4d90-b8db-0fede8aa48f8", "ContentKeyType" : 1, "EncryptedContentKey" : "Y4NPej7heOFa2vsd8ZEOcjjpu/qOq3RJ6GRfxa8CCwtAM83d6J2mKOeQFUmMyVXUSsBCCOdufmieTKi+hOUtNAbyNM4lY4AXI537b9GaY8oSeje0NGU8+QCOuf7jGdRac5B9uIk7WwD76RAJnqyep6U/OdvQV4RLvvZ9w7nO4bY8RHaUaLxC2u4aIRRaZtLu5rm8GKBPy87OzQVXNgnLM01I8s3Z4wJ3i7jXqkknDy4VkIyLBSQvIvUzxYHeNdMVWDmS+jPN9ScVmolUwGzH1A23td8UWFHOjTjXHLjNm5Yq+7MIOoaxeMlKPYXRFKofRY8Qh5o5tqvycSAJ9KUqfg==", "ProtectionKeyId" : "7D9BB04D9D0A4A24800CADBFEF232689E048F69C", "ProtectionKeyType" : 1, "Checksum" : "TfXtjCIlq1Y=" }
取得金鑰傳遞 URL
取得內容金鑰指定傳遞方法的金鑰傳遞 URL。 用戶端會使用傳回的 URL 要求 AES 金鑰或 PlayReady 授權,以便播放受保護的內容。
指定要在 HTTP 要求主體中取得的 URL 類型。 如果您要使用 PlayReady 保護內容,請使用 要求 keyDeliveryType
媒體服務 PlayReady 授權取得 URL:。 1
{"keyDeliveryType":1}
如果您要使用信封加密來保護內容,請針對 指定 2
keyDeliveryType
來要求金鑰取得 URL: {"keyDeliveryType":2}
。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
POST | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys ('ContentkeyId> ') /GetKeyDeliveryUrl | HTTP/1.1 |
範例
您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。此範例會取得 PlayReady 授權取得 URL。
要求標頭:
POST https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:14e7e815-5db3-4027-9578-a55a416a3367')/GetKeyDeliveryUrl HTTP/1.1
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
Content-Type: application/json
Host: media.windows.net
Content-Length: 21
要求本文:
{"keyDeliveryType":1}
如果成功,此作業會傳回 [200 確定]狀態碼和指定的 URL。 例如:https://account001.keydelivery.mediaservices.windows.net/PlayReady/
。
列出 ContentKey
ContentKey 是使用 GET HTTP 要求來擷取。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
GET | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys > | HTTP/1.1 |
方法 | 要求 URI | HTTP 版本 |
---|---|---|
GET | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys ('contentkeyid> ') | HTTP/1.1 |
方法 | 要求 URI | HTTP 版本 |
---|---|---|
GET | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets ('assetid > ') /ContentKeys | HTTP/1.1 |
範例要求
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
GET https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:58b522a5-be4e-4988-8958-ee0cdb179273') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
刪除 ContentKey
ContentKey 會透過 DELETE HTTP 要求來刪除。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
刪除 | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys ('contentkeyid> ') | HTTP/1.1 |
範例要求
您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:58b522a5-be4e-4988-8958-ee0cdb179273') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 0
另請參閱
AccessPolicy
資產
AssetFile
工作 (Job)
JobTemplate
定位
MediaProcessor
Task
TaskTemplate
配額和限制