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을 2
keyDeliveryType
{"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
할당량 및 제한 사항