정책 수정

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

DRM 정책을 수정합니다.

참고

사이트에 적용 중인 정책을 수정하려면 먼저 사이트를 비활성화해 주십시오. 사이트가 활성화된 상태에서 정책을 수정하면 라이선스 발급 및 재생에 영향을 줄 수 있습니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
PUT /api/v1/policy/{policyId}

요청 헤더

One Click Multi DRM API에서 공통으로 사용하는 헤더에 대한 정보는 One Click Multi DRM 요청 헤더를 참조해 주십시오.

요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
policyId Integer Required DRM 정책 아이디

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
policyName String Required 정책 이름
  • 영문자, 숫자, 특수 문자 '_'를 허용하며, 3~20자 이내로 입력
persistent Boolean Required 오프라인용 라이선스 저장 여부
  • true | false (기본값)
    • true: 라이선스 유지
    • false: 재생 후 라이선스 제거(스트리밍)
  • rentalDuration(오프라인 렌탈 시나리오)을 사용하는 경우, true로 필수 입력
rentalDuration Integer Required 오프라인 라이선스 획득 후, 콘텐츠를 최초 재생해야 하는 유효 기간(초)
  • 0~2,147,483,647 (기본값: 0)
  • 오프라인 렌탈 시나리오 사용 시 설정
playbackDuration Integer Required 콘텐츠 최초 재생 시작 시점부터의 라이선스 유효 기간(초)
  • 0~2,147,483,647 (기본값: 0)
drmPolicyConfig Object Required DRM 타입별 정책 설정
drmPolicyConfig.widevine Object Required Widevine 타입 정책
drmPolicyConfig.widevine.useYn Boolean Required Widevine 정책 사용 여부
  • true | false
    • true: 사용
    • false: 미사용
drmPolicyConfig.widevine.securityLevel Integer Optional Widevine 보안 레벨 값
  • 1 (기본값) | 2 | 3 | 4 | 5
    • 1: SW_SECURE_CRYPTO
    • 2: SW_SECURE_DECODE
    • 3: HW_SECURE_CRYPTO
    • 4: HW_SECURE_DECODE
    • 5: HW_SECURE_ALL (Widevine L1 기기만 재생 가능)
  • 숫자가 높을수록 보안 수준이 높음
drmPolicyConfig.widevine.hdcp String Optional 디지털 출력에 대한 보안(HDCP) 레벨
  • HDCP_NONE (기본값) | HDCP_V1 | HDCP_V2 | HDCP_V2_1 | HDCP_V2_2 | HDCP_NO_DIGITAL_OUTPUT
  • 버전이 높을수록 보안 수준이 높음
drmPolicyConfig.widevine.cgms String Optional 아날로그 출력에 대한 보안(CGMS-A) 레벨
  • CGMS_NONE (기본값) | COPY_FREE | COPY_ONCE | COPY_NEVER
drmPolicyConfig.widevine.disableAnalogOutputYn Boolean Optional 아날로그 출력 차단 여부
  • true | false (기본값)
    • true: 차단
    • false: 허용
drmPolicyConfig.widevine.hdcpSrmRule String Optional HDCP 기기가 SRM (System Renewability Message)을 처리하지 못하는 경우의 콘텐츠 재생 여부
  • HDCP_SRM_RULE_NONE (기본값) | CURRENT_SRM
    • HDCP_SRM_RULE_NONE: 해당 트랙 재생
    • CURRENT_SRM: 해당 트랙 재생 불가
drmPolicyConfig.widevine.deviceRevocation Boolean Optional Revoke (Widevine 지원 대상에서 철회)된 안드로이드 기기에 대한 라이선스 발급 허용 여부
  • true | false (기본값)
    • true: 허용
    • false: 허용 안 함
drmPolicyConfig.playready Object Required PlayReady 타입 정책
drmPolicyConfig.playready.useYn Boolean Required PlayReady 정책 사용 여부
  • true | false
    • true: 사용
    • false: 미사용
drmPolicyConfig.playready.securityLevel Integer Optional PlayReady 보안 레벨 값
  • 150 (기본값) | 2000 | 3000
  • 하드웨어 DRM 적용 시 3000으로 설정
  • 숫자가 높을수록 보안 수준이 높음
drmPolicyConfig.playready.digitalVideoProtectionLevel Integer Optional 디지털 비디오 출력에 대한 보안 레벨
  • 100 (기본값) | 250 | 270 | 300 | 301
  • 숫자가 높을수록 보안 수준이 높음
drmPolicyConfig.playready.analogVideoProtectionLevel Integer Optional 아날로그 비디오 출력에 대한 보안 레벨
  • 100 (기본값) | 150 | 200 | 201
  • 숫자가 높을수록 보안 수준이 높음
drmPolicyConfig.playready.digitalAudioProtectionLevel Integer Optional 디지털 오디오 출력에 대한 보안 레벨
  • 100 (기본값) | 250 | 300 | 301
  • 숫자가 높을수록 보안 수준이 높음
drmPolicyConfig.playready.hdcpUseYn Boolean Optional OPL (출력 보호 수준) 설정에 따라 HDCP가 적용될 때, Type 1 (HDCP 2.2 이상) 필요 여부
  • true | false (기본값)
    • true: Type 1 (HDCP 2.2 이상) 필요
    • false: HDCP 필요 없음
  • true 설정 시 HDCP 2.2 이상을 지원하는 기기만 콘텐츠 재생 가능
drmPolicyConfig.fairplay Object Required FairPlay Streaming 타입 정책
drmPolicyConfig.fairplay.useYn Boolean Required FairPlay Streaming 정책 사용 여부
  • true | false
    • true: 사용
    • false: 미사용
drmPolicyConfig.fairplay.hdcpEnforcement String Optional HDCP 적용 여부 및 버전
  • -1 (기본값) | 0 | 1
    • -1: HDCP 미적용
    • 0: HDCP Type 0 (버전 무관)
    • 1: HDCP Type 1 (2.2 이상 필요)
drmPolicyConfig.fairplay.allowAirPlay Boolean Optional AirPlay 허용 여부
  • true (기본값) | false
    • true: 허용
    • false: 허용 안 함
drmPolicyConfig.fairplay.allowAvAdaptor Boolean Optional 디지털 AV 어댑터를 통한 출력 허용 여부
  • true (기본값) | false
    • true: 허용
    • false: 허용 안 함

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request PUT 'https://multi-drm.apigw.ntruss.com/api/v1/policy/82' \
--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": "myPolicy",
    "persistent": true,
    "rentalDuration": 10,
    "playbackDuration": 10,
    "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 처리 결과
  • true | false
    • true: 성공
    • false: 실패
content Object - 정책 정보
content.disabled Boolean - Sub Account 비활성화 여부
  • true | false
    • true: 비활성
    • false: 활성
content.policyId Integer - DRM 정책 아이디
  • 0: Basic
content.policyName String - 정책 이름
content.policyStatus String - 정책 상태
  • CREATED | CREATING | READY | DELETED | UPDATING
    • CREATED: 생성 완료
    • CREATING: 생성 중
    • READY: 사용 가능
    • DELETED: 삭제 완료
    • UPDATING: 업데이트 중
content.policyCreatedTime Integer - 정책 생성 일시(밀리초)
  • Unix Timestamp 형식
content.policyUpdateTime Integer - 정책 수정 일시(밀리초)
  • Unix Timestamp 형식
content.persistent Boolean - 오프라인용 라이선스 저장 여부
  • true | false
    • true: 라이선스 유지
    • false: 재생 후 라이선스 제거(스트리밍)
content.rentalDuration Integer - 오프라인 라이선스 획득 후, 콘텐츠를 최초 재생해야 하는 유효 기간(초)
content.playbackDuration Integer - 콘텐츠 최초 재생 시작 시점부터의 라이선스 유효 기간(초)
content.drmPolicyConfig Object - DRM 타입별 정책 설정
content.drmPolicyConfig.wideVine Object - Widevine 타입 정책
content.drmPolicyConfig.wideVine.useYn Boolean - Widevine 정책 사용 여부
  • true | false
    • true: 사용
    • false: 미사용
content.drmPolicyConfig.wideVine.securityLevel Integer - Widevine 보안 레벨 값
  • 1 | 2 | 3 | 4 | 5
    • 1: SW_SECURE_CRYPTO
    • 2: SW_SECURE_DECODE
    • 3: HW_SECURE_CRYPTO
    • 4: HW_SECURE_DECODE
    • 5: HW_SECURE_ALL (Widevine L1 기기만 재생 가능)
  • 숫자가 높을수록 보안 수준이 높음
content.drmPolicyConfig.wideVine.hdcp String - 디지털 출력에 대한 보안(HDCP) 레벨
  • HDCP_NONE | HDCP_V1 | HDCP_V2 | HDCP_V2_1 | HDCP_V2_2 | HDCP_NO_DIGITAL_OUTPUT
  • 버전이 높을수록 보안 수준이 높음
content.drmPolicyConfig.wideVine.cgms String - 아날로그 출력에 대한 보안(CGMS-A) 레벨
  • CGMS_NONE | COPY_FREE | COPY_ONCE | COPY_NEVER
content.drmPolicyConfig.wideVine.disableAnalogOutputYn Boolean - 아날로그 출력 차단 여부
  • true | false
    • true: 차단
    • false: 허용
content.drmPolicyConfig.wideVine.hdcpSrmRule String - HDCP 기기가 SRM (System Renewability Message)을 처리하지 못하는 경우의 콘텐츠 재생 여부
  • HDCP_SRM_RULE_NONE | CURRENT_SRM
    • HDCP_SRM_RULE_NONE: 해당 트랙 재생
    • CURRENT_SRM: 해당 트랙 재생 불가
content.drmPolicyConfig.wideVine.deviceRevocation Boolean - Revoke (Widevine 지원 대상에서 철회)된 안드로이드 기기에 대한 라이선스 발급 허용 여부
  • true | false
    • true: 허용
    • false: 허용 안 함
content.drmPolicyConfig.playReady Object - PlayReady 타입 정책
content.drmPolicyConfig.playReady.useYn Boolean - PlayReady 정책 사용 여부
  • true | false
    • true: 사용
    • false: 미사용
content.drmPolicyConfig.playReady.securityLevel Integer - PlayReady 보안 레벨 값
  • 150 | 2000 | 3000
  • 하드웨어 DRM 적용 시 3000으로 설정
  • 숫자가 높을수록 보안 수준이 높음
content.drmPolicyConfig.playReady.digitalVideoProtectionLevel Integer - 디지털 비디오 출력에 대한 보안 레벨
  • 100 | 250 | 270 | 300 | 301
  • 숫자가 높을수록 보안 수준이 높음
content.drmPolicyConfig.playReady.analogVideoProtectionLevel Integer - 아날로그 비디오 출력에 대한 보안 레벨
  • 100 | 150 | 200 | 201
  • 숫자가 높을수록 보안 수준이 높음
content.drmPolicyConfig.playReady.digitalAudioProtectionLevel Integer - 디지털 오디오 출력에 대한 보안 레벨
  • 100 | 250 | 300 | 301
  • 숫자가 높을수록 보안 수준이 높음
content.drmPolicyConfig.playReady.hdcpUseYn Boolean - OPL (출력 보호 수준) 설정에 따라 HDCP가 적용될 때, Type 1 (HDCP 2.2 이상) 필요 여부
  • true | false
    • true: Type 1 (HDCP 2.2 이상) 필요
    • false: HDCP 필요 없음
  • true 설정 시 HDCP 2.2 이상을 지원하는 기기만 콘텐츠 재생 가능
content.drmPolicyConfig.fairPlay Object - FairPlay Streaming 타입 정책
content.drmPolicyConfig.fairPlay.useYn Boolean - FairPlay Streaming 정책 사용 여부
  • true | false
    • true: 사용
    • false: 미사용
content.drmPolicyConfig.fairPlay.hdcpEnforcement String - HDCP 적용 여부 및 버전
  • -1 | 0 | 1
    • -1: HDCP 미적용
    • 0: HDCP Type 0 (버전 무관)
    • 1: HDCP Type 1 (2.2 이상 필요)
content.drmPolicyConfig.fairPlay.allowAirPlay Boolean - AirPlay 허용 여부
  • true | false
    • true: 허용
    • false: 허용 안 함
content.drmPolicyConfig.fairPlay.allowAvAdaptor Boolean - 디지털 AV 어댑터를 통한 출력 허용 여부
  • true | false
    • true: 허용
    • false: 허용 안 함

응답 상태 코드

One Click Multi DRM API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 One Click Multi DRM 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

{
    "success": true,
    "content": {
        "disabled": false,
        "policyId": 82,
        "policyName": "myPolicy",
        "policyStatus": "CREATED",
        "policyCreatedTime": 1757896403844,
        "policyUpdateTime": 1757897494407,
        "persistent": true,
        "rentalDuration": 10,
        "playbackDuration": 10,
        "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
            }
        }
    }
}