ContentKey
ContentKey は、Asset へのセキュリティで保護されたアクセスを提供します。 ContentKey エンティティの作成に加えて、生成するコンテンツ キーを保護キーで暗号化する必要があります。 保護キーの取得の詳細については、「 資産の暗号化 (省略可能)」 と 「REST API 関数」を参照してください。
このトピックは、ContentKey
エンティティを概説し、また Media Services REST API でさまざまな操作を実行する方法を示します。
重要
Media Services でエンティティにアクセスするときは、HTTP 要求で特定のヘッダー フィールドと値を設定する必要があります。
詳細については、「 Media Services REST API 開発のセットアップ」および「Media Services REST APIを使用した Media Services への接続」を参照してください。
ContentKey エンティティ プロパティ
プロパティ | Type | 説明 |
---|---|---|
Id 必須。 この値は Media Services によって設定されません。 |
Edm.String | ユーザー定義の一意の識別子。 |
Created 読み取り専用です。 作成時に Media Services によって設定されます。 |
Edm.DateTime | この値は、作成時に Media Services によって設定されます。 |
LastModified 読み取り専用です。 Media Services で設定します。 |
Edm.DateTime | この値は、プロパティの変更が行われた後に Media Services によって更新されます。 |
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 に関連付けられた認証ポリシー ID。 |
ContentKey の作成
ContentKey は、POST HTTP 要求を使用して作成できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
POST | <https:// accountname.restv2>。<location.media.azure.net/api/ContentKeys> | HTTP/1.1 |
要求のサンプル
最新 x-ms-version:
の を取得するには、「 Media Services 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 でコンテンツを保護する場合は、 に を使用して1
、Media Services PlayReady ライセンス取得 URL を要求します{"keyDeliveryType":1}
。keyDeliveryType
エンベロープ暗号化を使用してコンテンツを保護する場合は、 に を指定2
keyDeliveryType
してキー取得 URL を要求します{"keyDeliveryType":2}
。
Method | 要求 URI | HTTP バージョン |
---|---|---|
POST | <https:// accountname.restv2>。<location.media.azure.net/api/ContentKeys>('ContentkeyId')/GetKeyDeliveryUrl | HTTP/1.1 |
サンプル
Fiddler の [Composer] タブで次の例を試すことができます。この例では、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 OK 状態コードおよび指定された URL が返されます。 たとえば、https://account001.keydelivery.mediaservices.windows.net/PlayReady/
のように指定します。
ContentKey の一覧表示
ContentKey は、GET HTTP 要求を使用して取得します。
Method | 要求 URI | HTTP バージョン |
---|---|---|
GET | <https:// accountname.restv2>。<location.media.azure.net/api/ContentKeys> | HTTP/1.1 |
Method | 要求 URI | HTTP バージョン |
---|---|---|
GET | <https:// accountname.restv2>。<location.media.azure.net/api/ContentKeys>('contentkeyid') | HTTP/1.1 |
Method | 要求 URI | HTTP バージョン |
---|---|---|
GET | <https:// accountname.restv2>。<location.media.azure.net/api/Assets>('assetid')/ContentKeys | HTTP/1.1 |
要求のサンプル
最新 x-ms-version:
の を取得するには、「 Media Services 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 要求を使用して削除します。
Method | 要求 URI | HTTP バージョン |
---|---|---|
DELETE | <https:// accountname.restv2>。<location.media.azure.net/api/ContentKeys>('contentkeyid') | HTTP/1.1 |
要求のサンプル
Fiddler の [Composer] タブで次の例を試すことができます。
最新 x-ms-version:
の を取得するには、「 Media Services 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
Asset
AssetFile
ジョブ
JobTemplate
ロケーター
MediaProcessor
タスク
TaskTemplate
クォータと制限