--- title: "정책 복제" slug: "drm-policy-copy" updated: 2026-09-17T09:16:50Z published: 2026-09-17T09:16:50Z canonical: "api.ncloud-docs.com/drm-policy-copy" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 정책 복제 Classic/VPC 환경에서 이용 가능합니다. 기존 DRM 정책을 복제하여 새로운 정책을 생성합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | /api/v1/policy/{policyId}/copy | ### 요청 헤더 One Click Multi DRM API에서 공통으로 사용하는 헤더에 대한 정보는 [One Click Multi DRM 요청 헤더](/docs/one-click-multi-drm-api-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `policyId` | Integer | Required | DRM 정책 아이디 - [정책 목록 조회](/docs/drm-policy-list) 참조 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://multi-drm.apigw.ntruss.com/api/v1/policy/82/copy' \ --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' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `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 응답 상태 코드](/docs/one-click-multi-drm-api-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "success": true, "content": { "disabled": false, "policyId": 87, "policyName": "Copy_myPolicy", "policyStatus": "CREATED", "policyCreatedTime": 1760314185079, "policyUpdateTime": 1760314185089, "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 } } } } ```