MENU
      Policy 생성
        • PDF

        Policy 생성

        • PDF

        기사 요약

        One Click Multi DRM 라이선스 발급에 필요한 Policy 를 생성하는 API 입니다.

        참고
        • Policy 상세 설정을 통해 DRM 라이선스에 DRM 타입별 재생 및 보안 레벨 정책을 적용할 수 있습니다.
        • Policy 상세 설정을 통해 라이선스 유효 기간, Persistent 여부 등 재생과 관련된 정책을 설정할 수 있습니다.
        • 해상도 별 트랙이 나누어진 콘텐츠의 경우, playback policy는 모든 트랙에 동일하게 적용됩니다.
        • One Click Multi DRM 상품은 현재 싱글키 라이선스만 지원하며, 멀티 트랙별 라이선스 지원은 향후 지원 예정입니다.
        • One Click Multi DRM 상품에서 제공 중인 재생 관련 Policy 세부 옵션은 Pallycon Playback policy 상세 옵션 가이드에서 확인하실 수 있습니다.
        • One Click Multi DRM 상품에서 제공 중인 보안 관련 Policy 세부 옵션은 Pallycon Security policy 상세 옵션 가이드를 통해 확인하실 수 있습니다.
        • One Click Multi DRM 상품에서 제공하는 Policy 세부 설정은 Pallycon DRM 에서 제공하는 옵션을 그대로 지원합니다.
          DRM 타입별 상세 지원 단말 보안 레벨은 개별 단말 기기 지원 현황을 확인하시기 바랍니다.

        요청

        POST https://multi-drm.apigw.ntruss.com/api/v1/policy
        HTTP

        요청 헤더

        헤더명필수 여부설명
        x-ncp-apigw-timestampYES1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타냄
        API Gateway 서버와 시간 차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주
        x-ncp-apigw-timestamp:{Timestamp}
        x-ncp-iam-access-keyYES네이버 클라우드 플랫폼 포털에서 발급받은 Access Key ID 값
        x-ncp-iam-access-key:{Sub Account Access Key}
        x-ncp-apigw-signature-v2YESAccess Key ID 값과 Secret Key로 암호화한 서명
        x-ncp-apigw-signature-v2:{API Gateway Signature}
        Content-TypeYESRequest body content type을 application/json으로 지정
        Content-Type: application/json
        x-ncp-region_codeYES리전 코드 (KR)

        요청 바디

        필드명타입필수 여부제약설명
        policyNameStringY
        persistentBooleanY기본값 : false오프라인용 라이선스 저장 여부
        true : 라이선스 유지, false : 재생 후 라이선스 제거(스트리밍)
        rentalDurationIntegerY기본값 : 0
        0-2,147,483,647
        오프라인 렌탈 시나리오 사용 시 설정
        (해당 옵션 사용시 persistent : true 설정 필요)
        다운로드 후 최초 재생 시작 시점까지 라이선스 유효 기간 (단위: 초)
        playbackDurationIntegerY기본값: 0
        0-2,147,483,647
        최초 재생 시작 시점 이후부터의 라이선스 유효 기간 (단위: 초)
        drmPolicyConfigObject[Array]Ydrm type 별 policy 상세 설정
        drmPolicyConfig{}.wideVineObjectNWidevine 의 policy
        drmPolicyConfig{}.wideVine{}.useYnBooleanNWidevine 의 policy 설정 적용 유무
        drmPolicyConfig{}.wideVine{}.securityLevelIntegerN1:SW_SECURE_CRYPTO
        2:SW_SECURE_DECODE
        3:HW_SECURE_CRYPTO
        4:HW_SEURE_DECODE
        5:HW_SECURE_ALL
        해당 트랙에 대한 Widevine security level 설정
        1:SW_SECURE_CRYPTO
        2:SW_SECURE_DECODE
        3:HW_SECURE_CRYPTO
        4:HW_SECURE_DECODE
        5:HW_SECURE_ALL - 5로 설정하면 Widevine L1 기기에서만 재생 가능
        drmPolicyConfig{}.wideVine{}.hdcpStringNHDCP_NONE
        HDCP_V1
        HDCP_V2
        HDCP_V2_1
        HDCP_V2_2
        HDCP_NO_DIGITAL_OUTPUT
        디지털 출력에 대한 보안(HDCP) 레벨 설정 입력값: “HDCP_NONE”, “HDCP_V1”, “HDCP_V2”, “HDCP_V2_1”, “HDCP_V2_2”, “HDCP_NO_DIGITAL_OUTPUT” 중 하나
        drmPolicyConfig{}.wideVine{}.cgmsStringNCGMS_NONE
        COPY_FREE
        COPY_ONCE
        COPY_NEVER
        아날로그 출력에 대한 보안(CGMS-A) 레벨 설정- 입력값: “CGMS_NONE”, “COPY_FREE”, “COPY_ONCE”, “COPY_NEVER” 중 하나
        drmPolicyConfig{}.wideVine{}.disableAnalogOutputYnBooleanN아날로그 출력 허용 여부 (false: 아날로그 출력 허용)
        drmPolicyConfig{}.wideVine{}.hdcpSrmRuleStringNHDCP_SRM_RULE_NONE
        CURRENT_SRM
        HDCP 기기가 SRM(System Renewability Message)을 처리하지 못하는 경우에 해당 트랙의 재생 여부 설정.
        CURRENT_SRM: 최신 SRM 적용 안되는 기기에서는 해당 트랙 재생 안됨입력값: “HDCP_SRM_RULE_NONE”, “CURRENT_SRM” 중 하나
        drmPolicyConfig{}.wideVine{}.deviceRevocationBooleanNRevoke(Widevine 지원 대상에서 철회)된 안드로이드 기기에 대한 라이선스 발급 허용 여부 (기본값: 발급 허용하지 않음)
        drmConfig{}.playReadyObjectNPlayReady 의 policy
        drmConfig{}.playReady{}.useYnBooleanNPlayReady 의 policy 설정 적용 유무
        drmConfig{}.playReady{}.securityLevelIntegerN150
        2000
        3000
        해당 트랙에 대한 PlayReady security level. (150, 2000, 3000) 하드웨어 DRM 적용 시 3000으로 설정.
        drmConfig{}.playReady{}.digitalVideoProtectionLevelIntegerN100
        250
        270
        300
        301
        디지털 비디오 출력에 대한 보안 레벨 설정 (100, 250, 270, 300, 301)
        drmConfig{}.playReady{}.analogVideoProtectionLevelIntegerN100
        150
        200
        201
        아날로그 비디오 출력에 대한 보안 레벨 설정 (100, 150, 200, 201)
        drmConfig{}.playReady{}.digitalAudioProtectionLevelIntegerN100
        250
        300
        301
        디지털 오디오 출력에 대한 보안 레벨 설정 (100, 250, 300, 301)
        drmConfig{}.playReady{}.hdcpUseYnBooleanNOPL 설정에 따라 HDCP가 적용될 때, Type 1(HDCP V2.2 이상)이 요구되는지 여부를 설정. (true 설정 시 HDCP 2.2 이상 필요)
        drmConfig{}.fairPlayObjectNFairPlay Streaming 의 policy
        drmConfig{}.fairPlay{}.useYnBooleanYFairPlay Streaming 의 policy 설정 적용 유무
        drmConfig{}.fairPlay{}.hdcpEnforcementStringN-1 (HDCP 미적용)
        0 (HDCP Type 0(버전 무관))
        1 (HDCP Type 1(2.2 이상 필요))
        해당 트랙에 대한 HDCP 적용 여부 및 HDCP 버전
        -1: HDCP 미적용
        0: HDCP Type 0(버전 무관)
        1: HDCP Type 1(2.2 이상 필요)
        drmConfig{}.fairPlay{}.allowAirPlayBooleanNAirPlay 허용 여부
        drmConfig{}.fairPlay{}.allowAvAdaptorBooleanN디지털 AV 어댑터를 통한 출력 허용 여부

        응답

        필드명타입필수 여부제약설명
        policyNameStringY
        policyStatusStringYCREATING
        READY
        DELETED
        UPDATING
        Policy 상태
        policyIdIntegerYdefault Policy : 0생성된 PolicyId
        policyCreatedTimeTimestampNPolicy 생성 시각
        policyUpdateTimeTimestampNPolicy 설정 변경 시각
        persistentBooleanY기본값 : false오프라인용 라이선스 저장 여부
        true : 라이선스 유지, false : 재생 후 라이선스 제거(스트리밍)
        rentalDurationIntegerY기본값 : 0
        0-2,147,483,647
        오프라인 렌탈 시나리오 사용 시 설정
        (해당 옵션 사용시 persistent : true 설정 필요)
        다운로드 후 최초 재생 시작 시점까지 라이선스 유효 기간 (단위: 초)
        playbackDurationIntegerY기본값: 0
        0-2,147,483,647
        최초 재생 시작 시점 이후부터의 라이선스 유효 기간 (단위: 초)
        drmPolicyConfigObject[Array]Ydrm type 별 policy 상세 설정
        drmPolicyConfig{}.wideVineObjectNWidevine 의 policy
        drmPolicyConfig{}.wideVine{}.useYnBooleanNWidevine 의 policy 설정 적용 유무
        drmPolicyConfig{}.wideVine{}.securityLevelIntegerN1:SW_SECURE_CRYPTO
        2:SW_SECURE_DECODE
        3:HW_SECURE_CRYPTO
        4:HW_SECURE_DECODE
        5:HW_SECURE_ALL
        해당 트랙에 대한 Widevine security level 설정
        1:SW_SECURE_CRYPTO
        2:SW_SECURE_DECODE
        3:HW_SECURE_CRYPTO
        4:HW_SECURE_DECODE
        5:HW_SECURE_ALL - 5로 설정하면 Widevine L1 기기에서만 재생 가능
        drmPolicyConfig{}.wideVine{}.hdcpStringNHDCP_NONE
        HDCP_V1
        HDCP_V2
        HDCP_V2_1
        HDCP_V2_2
        HDCP_NO_DIGITAL_OUTPUT
        디지털 출력에 대한 보안(HDCP) 레벨 설정 입력값: “HDCP_NONE”, “HDCP_V1”, “HDCP_V2”, “HDCP_V2_1”, “HDCP_V2_2”, “HDCP_NO_DIGITAL_OUTPUT” 중 하나
        drmPolicyConfig{}.wideVine{}.cgmsStringNCGMS_NONE
        COPY_FREE
        COPY_ONCE
        COPY_NEVER
        아날로그 출력에 대한 보안(CGMS-A) 레벨 설정- 입력값: “CGMS_NONE”, “COPY_FREE”, “COPY_ONCE”, “COPY_NEVER” 중 하나
        drmPolicyConfig{}.wideVine{}.disableAnalogOutputYnBooleanN아날로그 출력 허용 여부 (false: 아날로그 출력 허용)
        drmPolicyConfig{}.wideVine{}.hdcpSrmRuleStringNHDCP_SRM_RULE_NONE
        CURRENT_SRM
        HDCP 기기가 SRM(System Renewability Message)을 처리하지 못하는 경우에 해당 트랙의 재생 여부 설정.
        CURRENT_SRM: 최신 SRM 적용 안되는 기기에서는 해당 트랙 재생 안됨입력값: “HDCP_SRM_RULE_NONE”, “CURRENT_SRM” 중 하나
        drmPolicyConfig{}.wideVine{}.deviceRevocationBooleanNRevoke(Widevine 지원 대상에서 철회)된 안드로이드 기기에 대한 라이선스 발급 허용 여부 (기본값: 발급 허용하지 않음)
        drmConfig{}.playReadyObjectNPlayReady 의 policy
        drmConfig{}.playReady{}.useYnBooleanNPlayReady 의 policy 설정 적용 유무
        drmConfig{}.playReady{}.securityLevelIntegerN150
        2000
        3000
        해당 트랙에 대한 PlayReady security level
        150, 2000, 3000
        하드웨어 DRM 적용 시 3000으로 설정.
        drmConfig{}.playReady{}.digitalVideoProtectionLevelIntegerN100
        250
        270
        300
        301
        디지털 비디오 출력에 대한 보안 레벨 설정 (100, 250, 270, 300, 301)
        drmConfig{}.playReady{}.analogVideoProtectionLevelIntegerN100
        150
        200
        201
        아날로그 비디오 출력에 대한 보안 레벨 설정 (100, 150, 200, 201)
        drmConfig{}.playReady{}.digitalAudioProtectionLevelIntegerN100
        250
        300
        301
        디지털 오디오 출력에 대한 보안 레벨 설정 (100, 250, 300, 301)
        drmConfig{}.playReady{}.hdcpUseYnBooleanNOPL 설정에 따라 HDCP가 적용될 때, Type 1(HDCP V2.2 이상)이 요구되는지 여부를 설정
        (true 설정 시 HDCP 2.2 이상 필요)
        drmConfig{}.fairPlayObjectNFairPlay Streaming 의 policy
        drmConfig{}.fairPlay{}.useYnBooleanYFairPlay Streaming 의 policy 설정 적용 유무
        drmConfig{}.fairPlay{}.hdcpEnforcementStringN-1 (HDCP 미적용)
        0 (HDCP Type 0(버전 무관))
        1 (HDCP Type 1(2.2 이상 필요))
        해당 트랙에 대한 HDCP 적용 여부 및 HDCP 버전
        -1: HDCP 미적용
        0: HDCP Type 0(버전 무관)
        1: HDCP Type 1(2.2 이상 필요)
        drmConfig{}.fairPlay{}.allowAirPlayBooleanNAirPlay 허용 여부
        drmConfig{}.fairPlay{}.allowAvAdaptorBooleanN디지털 AV 어댑터를 통한 출력 허용 여부

        예시

        요청 예시

        POST /api/v1/policy
        HOST: multi-drm.apigw.ntruss.com
        Content-Type: application/json
        x-ncp-apigw-timestamp:1521787414578
        x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
        x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=
        x-ncp-region_code:KR
        
        # case 1. set all drmType
        {
          "drmPolicyConfig": {
            "fairplay": {
              "allowAirPlay": true,
              "allowAvAdaptor": true,
              "hdcpEnforcement": "-1",
              "useYn": true
            },
            "playready": {
              "analogVideoProtectionLevel": "100",
              "digitalAudioProtectionLevel": "100",
              "digitalVideoProtectionLevel": "100",
              "hdcpUseYn": true,
              "securityLevel": "150",
              "useYn": true
            },
            "widevine": {
              "cgms": "CGMS_NONE",
              "deviceRevocation": true,
              "disableAnalogOutputYn": true,
              "hdcp": "HDCP_NONE",
              "hdcpSrmRule": "HDCP_SRM_RULE_NONE",
              "securityLevel": "1",
              "useYn": true
            }
          },
          "persistent": true,
          "playbackDuration": 0,
          "policyName": "mySamplePolicy",
          "rentalDuration": 0
        }
        HTTP
        POST /api/v1/policy
        HOST: multi-drm.apigw.ntruss.com
        Content-Type: application/json
        x-ncp-apigw-timestamp:1521787414578
        x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
        x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=
        x-ncp-region_code:KR
        
        # case 2. set drm policy without fairPlay
        {
          "drmPolicyConfig": {
            "fairplay": {
              "useYn": false
            },
            "playready": {
              "analogVideoProtectionLevel": "100",
              "digitalAudioProtectionLevel": "100",
              "digitalVideoProtectionLevel": "100",
              "hdcpUseYn": true,
              "securityLevel": "150",
              "useYn": true
            },
            "widevine": {
              "cgms": "CGMS_NONE",
              "deviceRevocation": true,
              "disableAnalogOutputYn": true,
              "hdcp": "HDCP_NONE",
              "hdcpSrmRule": "HDCP_SRM_RULE_NONE",
              "securityLevel": "1",
              "useYn": true
            }
          },
          "persistent": true,
          "playbackDuration": 0,
          "policyName": "mySamplePolicy",
          "rentalDuration": 0
        }
        HTTP

        응답 예시

        HTTP/1.1 200 OK
        Server: nginx
        Date: Fri, 20 Nov 2023 19:53:32 GMT
        Content-Type: application/json;charset=utf-8
        Connection: keep-alive
        Access-Control-Allow-Origin: *
        x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
        
        ### case 1.
        {
          "success": true,
          "content": {
            "policyId": 122,
            "policyName": "mySamplePolicy",
            "policyStatus": "CREATED",
            "policyCreatedTime": 1700479924517,
            "policyUpdateTime": 1700479924526,
            "persistent": true,
            "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
              }
            }
          }
        }
        HTTP
        HTTP/1.1 200 OK
        Server: nginx
        Date: Fri, 20 Nov 2023 19:53:32 GMT
        Content-Type: application/json;charset=utf-8
        Connection: keep-alive
        Access-Control-Allow-Origin: *
        x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
        
        ### case 2.
        {
          "success": true,
          "content": {
            "policyId": 123,
            "policyName": "mySamplePolicy",
            "policyStatus": "CREATED",
            "policyCreatedTime": 1700480181622,
            "policyUpdateTime": 1700480181634,
            "persistent": true,
            "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": false
              }
            }
          }
        }
        HTTP

        이 문서가 도움이 되었습니까?

        What's Next
        Changing your password will log you out immediately. Use the new password to log back in.
        First name must have atleast 2 characters. Numbers and special characters are not allowed.
        Last name must have atleast 1 characters. Numbers and special characters are not allowed.
        Enter a valid email
        Enter a valid password
        Your profile has been successfully updated.