다음을 통해 공유


ContentKey

ContentKey는 Asset에 대한 안전한 액세스를 제공합니다. ContentKey 엔터티를 만드는 것 외에, 보호 키를 사용하여 콘텐츠를 암호화해야 합니다. 보호 키를 검색하는 방법에 대한 자세한 내용은 자산 암호화(선택 사항)REST API 함수를 참조하세요.

이 항목에서는 ContentKey 엔터티에 대해 간략하게 설명하는 동시에 미디어 서비스 REST API를 사용하여 다양한 작업을 실행하는 방법도 보여 줍니다.

중요

Media Services에서 엔터티에 액세스할 때는 HTTP 요청에서 구체적인 헤더 필드와 값을 설정해야 합니다.
자세한 내용은 Media Services REST API 개발 설정 및 Media Services REST API를 사용하여 Media Services에 연결을 참조하세요.

ContentKey 엔터티 속성

속성 형식 Description
Id

필수 요소. 이 값은 Media Services에 의해 설정되지 않습니다.
Edm.String 사용자 정의 고유 식별자입니다.
Created

읽기 전용입니다. 만들 때 Media Services에서 설정합니다.
Edm.DateTime 이 값은 생성 시 Media Services에 의해 설정됩니다.
LastModified

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
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 요청을 사용하여 만들 수 있습니다.

메서드 요청 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을 가져옵니다. 클라이언트는 보호된 콘텐츠를 재생하기 위해 AES 키 또는 PlayReady 라이선스를 요청하여 반환된 URL을 사용합니다.

HTTP 요청의 본문을 가져오려면 URL의 유형을 지정 합니다. PlayReady로 콘텐츠를 보호하는 경우 에 를 사용하여 1 Media Services PlayReady 라이선스 획득 URL을 keyDeliveryType{"keyDeliveryType":1}요청합니다. 봉투 암호화를 사용하여 콘텐츠를 보호하는 경우 에 를 지정하여 키 획득 URL을 2keyDeliveryType{"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 OK 상태 코드와 지정된 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:을 얻으려면 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 요청을 통해 삭제됩니다.

메서드 요청 URI HTTP 버전
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') HTTP/1.1

샘플 요청

Fiddler의 작성기 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 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
자산
AssetFile
작업
JobTemplate
로케이터
MediaProcessor
Task
TaskTemplate
할당량 및 제한 사항