Share via


ContentKeyAuthorizationPolicy

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

샘플 정책 구성이 필요한 콘텐츠 키를 여러 개 만들려는 경우 권한 부여 정책 하나를 만든 다음 여러 콘텐츠 키에 다시 사용하는 것이 좋습니다.

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

이 항목에서는 ContentKeyAuthorizationPolicy을 설명하고 이 엔터티 사용 방법을 표시합니다.

중요

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

ContentKeyAuthorizationPolicy 엔터티 속성

속성 형식 설명
Id

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.String 고유 식별자입니다.
Name Edm.String 콘텐츠 키 권한 부여 정책의 이름입니다.
Options ContentKeyAuthorizationPolicyOption의 컬렉션입니다. 콘텐츠 키에 액세스할 수 있는 권한을 클라이언트에 부여하는 다양한 방법 목록입니다.

ContentKeyAuthorizationPolicy 만들기

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

최신 x-ms-version:을 얻으려면 Media Services REST를 참조하세요.

헤더 요청:

POST https://testrest.cloudapp.net/api/ContentKeyAuthorizationPolicies  
  
Content-Type: application/json  
DataServiceVersion: 1.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" : "Authorization Policy" }   

이 코드가 성공적으로 실행되면 응답 본문에 만든 엔터티가 표시되고 HTTP/1.1 201 작성됨 상태 코드가 반환됩니다.

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>"  
      }  
   ]  
}  
  

옵션과 ContentKeyAuthorizationPolicy 연관

다음 예제에서는 ContentKeyAuthorizationPolicy를 ContentKeyAuthorizationPolicyOption과 연관시킵니다. Fiddler의 작성기 탭에서 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services REST를 참조하세요.

헤더 요청:

POST https://testrest.cloudapp.net/api/ContentKeyAuthorizationPolicies('nb%3Ackpid%3AUUID%3Ac0a7c7cb-09c2-4306-86f5-9e9dc718cd90')/$links/Options  
  
DataServiceVersion: 1.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json  
Accept-Charset: UTF-8  
Content-Type: application/json  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
x-ms-version: 2.19  
  

본문 요청:

{ "uri":"https://wamsbayclus001rest-hs.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions('nb%3Ackpoid%3AUUID%3A288f8084-e93b-4d04-90c0-a7af9145b7ae')" }  
  

이 코드가 성공적으로 실행되면 응답 본문에 만든 엔터티가 표시되고 HTTP/1.1 200 정상 상태 코드가 반환됩니다.