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 정상 상태 코드가 반환됩니다.