Share via


ContentKeyAuthorizationPolicyOption

Media Services는 키를 요청 하는 사용자를 인증 하는 여러 방법을 지원합니다. 콘텐츠 키 권한 부여 정책은 사용자가 구성해야 하며 이 키를 클라이언트에 배달하기 위해서는 해당 클라이언트(플레이어)를 충족시켜야 합니다. 콘텐츠 키 권한 부여 정책에는 열기, 토큰 제한 또는 IP 제한과 같은 하나 이상의 권한 부여 제한이 있을 수 있습니다. ContentKeyAuthorizationPolicyOption을 사용하여 권한 부여 옵션을 지정합니다. 그런 다음 ContentKeyAuthorizationPolicy에 만든 옵션을 추가합니다.

키 배달 서비스는 15분 동안 및 관련 개체(정책 옵션 및 제한 사항)를 캐시 ContentKeyAuthorizationPolicy 합니다. 를 만들고 ContentKeyAuthorizationPolicy "토큰" 제한을 사용하도록 지정한 다음 테스트한 다음 정책을 "열기" 제한으로 업데이트하는 경우 정책이 정책의 "열기" 버전으로 전환되기까지 약 15분이 걸립니다.

이 항목에서는 ContentKeyAuthorizationPolicyOption을 설명하고 이 엔터티 사용 방법을 표시합니다. 와 연결하는 방법을 보여 주는 보다 완전한 예제는 ContentKeyAuthorizationPolicy를 참조하세요.ContentKeyAuthorizationPolicyOptionContentKeyAuthorizationPolicy

중요

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

ContentKeyAuthorizationPolicyOption 엔터티 속성

속성 형식 설명
Id

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.String 고유 식별자입니다.
Name Edm.String 권한 부여 정책의 이름입니다.
KeyDeliveryType

필수 요소.
Edm. Int32 콘텐츠 키를 클라이언트로 배달하는 방법입니다.

KeyDeliveryType은 다음 중 하나일 수 있습니다. 없음 = 0, PlayReadyLicense = 1, BaselineHttp = 2).
KeyDeliveryConfiguration Edm.String 키가 클라이언트로 배달되는 방식을 정의하는 키 배달 형식과 관련된 Xml 데이터입니다.
Restrictions

필수 요소.
ContentKeyAuthorizationPolicyRestriction ComplexType 속성의 컬렉션입니다. 키 배달 데이터를 사용하여 키를 배달하려면 각 제한 사항에 정의된 요구 사항을 충족해야 합니다.

ContentKeyAuthorizationPolicyRestriction ComplexType 속성

속성 형식 Description
Name Edm.String 제한 사항의 이름입니다.
KeyRestrictionType

필수 요소.
Edm. Int32 제한 사항의 종류입니다.

KeyRestrictionType은 다음 중 하나일 수 있습니다. Open = 0, TokenRestricted = 1, IPRestricted = 2.
Requirements Edm. 문자열 제한 사항 요구 사항입니다.

ContentKeyAuthorizationPolicyOption 만들기

다음 예제에서는 다음과 같이 값이 설정된 ContentKeyAuthorizationPolicyOption을 만듭니다. Open 권한 부여 제한("KeyRestrictionType":0) 및 BaselineHttp(MPEG 기준선 HTTP 키 프로토콜) 키 제공 메서드("KeyDeliveryType":2). Fiddler의 작성기 탭에서 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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:을 얻으려면 Media Services 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>"  
      }  
   ]  
}