Classic/VPC 환경에서 이용 가능합니다.
DRM 정책을 생성합니다. 정책 상세 설정을 통해 DRM 타입별 재생 및 보안 레벨을 설정하고 라이선스 유효 기간, Persistent 여부(저장 여부) 등 재생과 관련된 정책을 정의할 수 있습니다.
참고
정책 생성 시 다음 내용을 참고해 주십시오.
- 해상도별 트랙이 나누어진 콘텐츠의 경우, 플레이백 정책은 모든 트랙에 동일하게 적용됩니다.
- One Click Multi DRM 서비스는 싱글키 라이선스만 지원하며, 멀티 트랙별 라이선스는 추후 지원 예정입니다.
- One Click Multi DRM 서비스의 DRM 정책 상세 설정은 DoveRunner(구 PallyCon) DRM의 옵션을 동일하게 지원합니다.
- 재생 정책 옵션: DoveRunner(구 PallyCon) Playback policy 상세 옵션 참조
- 보안 정책 옵션: DoveRunner(구 PallyCon) Security policy 상세 옵션 참조
- DRM 타입별 상세 지원 단말 보안 레벨은 개별 단말 기기 지원 현황을 확인해 주십시오.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| POST | /api/v1/policy |
요청 헤더
One Click Multi DRM API에서 공통으로 사용하는 헤더에 대한 정보는 One Click Multi DRM 요청 헤더를 참조해 주십시오.
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
policyName |
String | Required | 정책 이름
|
persistent |
Boolean | Required | 오프라인용 라이선스 저장 여부
|
rentalDuration |
Integer | Required | 오프라인 라이선스 획득 후 콘텐츠를 최초 재생해야 하는 유효 기간(초)
|
playbackDuration |
Integer | Required | 콘텐츠 최초 재생 시작 시점부터의 라이선스 유효 기간(초)
|
drmPolicyConfig |
Object | Required | DRM 타입별 정책 설정 |
drmPolicyConfig.widevine |
Object | Required | Widevine 타입 정책 |
drmPolicyConfig.widevine.useYn |
Boolean | Required | Widevine 정책 사용 여부
|
drmPolicyConfig.widevine.securityLevel |
Integer | Optional | Widevine 보안 레벨 값
|
drmPolicyConfig.widevine.hdcp |
String | Optional | 디지털 출력에 대한 보안(HDCP) 레벨
|
drmPolicyConfig.widevine.cgms |
String | Optional | 아날로그 출력에 대한 보안(CGMS-A) 레벨
|
drmPolicyConfig.widevine.disableAnalogOutputYn |
Boolean | Optional | 아날로그 출력 차단 여부
|
drmPolicyConfig.widevine.hdcpSrmRule |
String | Optional | HDCP 기기가 SRM (System Renewability Message)을 처리하지 못하는 경우의 콘텐츠 재생 여부
|
drmPolicyConfig.widevine.deviceRevocation |
Boolean | Optional | Revoke (Widevine 지원 대상에서 철회)된 안드로이드 기기에 대한 라이선스 발급 허용 여부
|
drmPolicyConfig.playready |
Object | Required | PlayReady 타입 정책 |
drmPolicyConfig.playready.useYn |
Boolean | Required | PlayReady 정책 사용 여부
|
drmPolicyConfig.playready.securityLevel |
Integer | Optional | PlayReady 보안 레벨 값
|
drmPolicyConfig.playready.digitalVideoProtectionLevel |
Integer | Optional | 디지털 비디오 출력에 대한 보안 레벨
|
drmPolicyConfig.playready.analogVideoProtectionLevel |
Integer | Optional | 아날로그 비디오 출력에 대한 보안 레벨
|
drmPolicyConfig.playready.digitalAudioProtectionLevel |
Integer | Optional | 디지털 오디오 출력에 대한 보안 레벨
|
drmPolicyConfig.playready.hdcpUseYn |
Boolean | Optional | OPL(출력 보호 수준) 설정에 따라 HDCP가 적용될 때, Type 1 (HDCP 2.2 이상) 필요 여부
|
drmPolicyConfig.fairplay |
Object | Required | FairPlay Streaming 타입 정책 |
drmPolicyConfig.fairplay.useYn |
Boolean | Required | FairPlay Streaming 정책 사용 여부
|
drmPolicyConfig.fairplay.hdcpEnforcement |
String | Optional | HDCP 적용 여부 및 버전
|
drmPolicyConfig.fairplay.allowAirPlay |
Boolean | Optional | AirPlay 허용 여부
|
drmPolicyConfig.fairplay.allowAvAdaptor |
Boolean | Optional | 디지털 AV 어댑터를 통한 출력 허용 여부
|
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request POST 'https://multi-drm.apigw.ntruss.com/api/v1/policy' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--header 'x-ncp-region_code: KR' \
--data '{
"policyName": "mySamplePolicy",
"persistent": false,
"rentalDuration": 0,
"playbackDuration": 0,
"drmPolicyConfig": {
"wideVine": {
"useYn": true,
"securityLevel": 1,
"hdcp": "HDCP_NONE",
"cgms": "CGMS_NONE",
"disableAnalogOutputYn": true,
"hdcpSrmRule": "HDCP_SRM_RULE_NONE",
"deviceRevocation": true
},
"playReady": {
"useYn": true,
"securityLevel": 150,
"digitalVideoProtectionLevel": 100,
"analogVideoProtectionLevel": 100,
"digitalAudioProtectionLevel": 100,
"hdcpUseYn": true
},
"fairPlay": {
"useYn": true,
"hdcpEnforcement": -1,
"allowAirPlay": true,
"allowAvAdaptor": true
}
}
}'
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
success |
Boolean | - | API 처리 결과
|
content |
Object | - | 정책 정보 |
content.disabled |
Boolean | - | Sub Account 비활성화 여부
|
content.policyId |
Integer | - | DRM 정책 아이디
|
content.policyName |
String | - | 정책 이름 |
content.policyStatus |
String | - | 정책 상태
|
content.policyCreatedTime |
Integer | - | 정책 생성 일시(밀리초)
|
content.policyUpdateTime |
Integer | - | 정책 수정 일시(밀리초)
|
content.persistent |
Boolean | - | 오프라인용 라이선스 저장 여부
|
content.rentalDuration |
Integer | - | 오프라인 라이선스 획득 후, 콘텐츠를 최초 재생해야 하는 유효 기간(초) |
content.playbackDuration |
Integer | - | 콘텐츠 최초 재생 시작 시점부터의 라이선스 유효 기간(초) |
content.drmPolicyConfig |
Object | - | DRM 타입별 정책 설정 |
content.drmPolicyConfig.wideVine |
Object | - | Widevine 타입 정책 |
content.drmPolicyConfig.wideVine.useYn |
Boolean | - | Widevine 정책 사용 여부
|
content.drmPolicyConfig.wideVine.securityLevel |
Integer | - | Widevine 보안 레벨 값
|
content.drmPolicyConfig.wideVine.hdcp |
String | - | 디지털 출력에 대한 보안(HDCP) 레벨
|
content.drmPolicyConfig.wideVine.cgms |
String | - | 아날로그 출력에 대한 보안(CGMS-A) 레벨
|
content.drmPolicyConfig.wideVine.disableAnalogOutputYn |
Boolean | - | 아날로그 출력 차단 여부
|
content.drmPolicyConfig.wideVine.hdcpSrmRule |
String | - | HDCP 기기가 SRM (System Renewability Message)을 처리하지 못하는 경우의 콘텐츠 재생 여부
|
content.drmPolicyConfig.wideVine.deviceRevocation |
Boolean | - | Revoke (Widevine 지원 대상에서 철회)된 안드로이드 기기에 대한 라이선스 발급 허용 여부
|
content.drmPolicyConfig.playReady |
Object | - | PlayReady 타입 정책 |
content.drmPolicyConfig.playReady.useYn |
Boolean | - | PlayReady 정책 사용 여부
|
content.drmPolicyConfig.playReady.securityLevel |
Integer | - | PlayReady 보안 레벨 값
|
content.drmPolicyConfig.playReady.digitalVideoProtectionLevel |
Integer | - | 디지털 비디오 출력에 대한 보안 레벨
|
content.drmPolicyConfig.playReady.analogVideoProtectionLevel |
Integer | - | 아날로그 비디오 출력에 대한 보안 레벨
|
content.drmPolicyConfig.playReady.digitalAudioProtectionLevel |
Integer | - | 디지털 오디오 출력에 대한 보안 레벨
|
content.drmPolicyConfig.playReady.hdcpUseYn |
Boolean | - | OPL (출력 보호 수준) 설정에 따라 HDCP가 적용될 때, Type 1 (HDCP 2.2 이상) 필요 여부
|
content.drmPolicyConfig.fairPlay |
Object | - | FairPlay Streaming 타입 정책 |
content.drmPolicyConfig.fairPlay.useYn |
Boolean | - | FairPlay Streaming 정책 사용 여부
|
content.drmPolicyConfig.fairPlay.hdcpEnforcement |
String | - | HDCP 적용 여부 및 버전
|
content.drmPolicyConfig.fairPlay.allowAirPlay |
Boolean | - | AirPlay 허용 여부
|
content.drmPolicyConfig.fairPlay.allowAvAdaptor |
Boolean | - | 디지털 AV 어댑터를 통한 출력 허용 여부
|
응답 상태 코드
One Click Multi DRM API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 One Click Multi DRM 응답 상태 코드를 참조해 주십시오.
응답 예시
응답 예시는 다음과 같습니다.
{
"success": true,
"content": {
"disabled": false,
"policyId": 81,
"policyName": "mySamplePolicy",
"policyStatus": "CREATED",
"policyCreatedTime": 1756968701258,
"policyUpdateTime": 1756968701264,
"persistent": false,
"rentalDuration": 0,
"playbackDuration": 0,
"drmPolicyConfig": {
"wideVine": {
"useYn": true,
"securityLevel": 1,
"hdcp": "HDCP_NONE",
"cgms": "CGMS_NONE",
"disableAnalogOutputYn": true,
"hdcpSrmRule": "HDCP_SRM_RULE_NONE",
"deviceRevocation": true
},
"playReady": {
"useYn": true,
"securityLevel": 150,
"digitalVideoProtectionLevel": 100,
"analogVideoProtectionLevel": 100,
"digitalAudioProtectionLevel": 100,
"hdcpUseYn": true
},
"fairPlay": {
"useYn": true,
"hdcpEnforcement": -1,
"allowAirPlay": true,
"allowAvAdaptor": true
}
}
}
}