연락처 지원 | 시스템 상태
페이지 내용

    재생 권한 관리 서비스 설명 구현

    이 항목에서는 Brightcove의 재생 권한 관리 서비스를 사용하여 비디오 재생을 관리하는 방법을 배웁니다.

    소개

    Brightcove의 재생 권한 관리 서비스는 확장 가능하고 표현력이 뛰어난 비디오 재생 관리 방법을 제공합니다.

    이 기능에 익숙하지 않은 경우 다음을 참조하십시오. 개요: 재생 권한 관리문서.

    검증 프로세스

    재생 권한은 특이성, 매칭 순으로 적용됩니다. 허용 규칙은 규칙을 허용하는 규칙보다 덜 구체적이므로 나머지 규칙을 무효화합니다.

    특정 IP에 대한 국가 규칙을 피하기 위해 특정 IP를 허용할 수 있습니다. 일반적으로 국가 제한에서 허용되는 다른 IP를 차단할 수도 있습니다. 따라서 두 가지를 모두 갖는 것이 합리적일 수 있습니다. block-ips그리고allow-ips동일한 재생 권한 정의에서. 다른 규칙도 마찬가지입니다.

    대부분의 권한에 대해 허용 및 차단 규칙을 가질 수 있습니다. 국가는 두 가지를 모두 갖는 것이 의미가 없을 수 있는 유일한 국가입니다.

    다음 흐름 다이어그램은 유효성 검사 프로세스의 작동 방식을 보여줍니다.

    Playback Rights validation
    재생 권한 확인

    워크플로

    Playback Restrictions을 관리하려면 다음 단계를 따르세요.

    1. 계정 설정
    2. 제한 정의
    3. 비디오와 제한 연결
    4. 선택 과목: 사용자 수준 제한 정의

    5. 플레이어 구성

    계정 설정

    이 기능은 재생 권한 관리 서비스의 제한된 가용성 단계에 액세스할 수 있는 특정 고객 집합에서 사용할 수 있습니다. 자세한 내용은 계정 관리자에게 문의하세요.

    OAuth 자격 증명 생성

    당신의BC_TOKEN그리고 계좌번호.

    1. 비디오 클라우드 스튜디오에 로그인합니다. 에서관리자드롭다운, 선택계정 정보 . 복사계정 ID .
    2. Studio의 페이지를 연 상태에서 브라우저용 개발자 도구를 열고 콘솔로 이동하여 다음 코드를 붙여넣습니다.

      var cookiesArray = document.cookie.split(";"), cookiesObj = {}, i, tmpArray = [];
      for (i = 0; i < cookiesArray.length; i++) {
          tmpArray = cookiesArray[i].split("=");
          if (tmpArray[0].indexOf('BC_TOKEN') > -1) {
              cookiesObj.BC_TOKEN = tmpArray[1];
          }
      }
      window.prompt("BC_TOKEN:", cookiesObj.BC_TOKEN);

      그리고 리턴을 누릅니다.

    3. 다음을 포함하는 프롬프트가 표시되어야 합니다. BC_TOKEN

    클라이언트 자격 증명 요청

    Playback Rights API에 대한 계정 권한을 추가합니다.

    1. Playback Rights API에 대한 클라이언트 자격 증명을 만드는 가장 간단한 방법은 다음을 사용하는 것입니다. 이 온라인 앱자격 증명을 생성할 때 다음 권한을 포함해야 합니다.
      Playback Rights Permissions
      재생 권한 권한
    2. OAuth API를 직접 사용하여 자격 증명을 생성하려는 경우 다음 단계를 계속하십시오.
    3. 다음은 필요한 권한이 있는 OAuth 클라이언트 요청의 예입니다. 보다 BC_TOKEN 받기 BC_TOKEN 획득에 대한 정보를 확인하십시오.

      curl \\ --include \\ --header "권한: BC_TOKEN 당신의 BC_TOKEN " \\ --data { name=demo&maximum_scope=[{ "identity": { "type": "video-cloud-account", "account-id": 귀하의 계정 ID }, "작업": [ "비디오 클라우드/재생 인증/재생 권한/읽기", "비디오 클라우드/재생 인증/재생 권한/쓰기", "비디오 클라우드/비디오/읽기", " 비디오 클라우드/비디오/만들기", "비디오 클라우드/비디오/업데이트", "비디오 클라우드/비디오/삭제", "비디오 클라우드/재생 인증/키/읽기", "비디오 클라우드/재생- 인증/키/쓰기" ] }] } \\ https://oauth.brightcove.com/v4/client_credentials
    4. API 응답에서client_id그리고client_secret . Playback Rights API에 요청할 때 이를 사용하여 액세스 토큰을 생성합니다.

    제한 정의

    재생 권한 API를 사용하여 비디오 Playback Restrictions을 정의합니다.

    재생 권한 API

    각 재생 권한 제한 개체는 하나 이상의 비디오와 함께 사용할 수 있습니다.

    기본 URL

    API의 기본 URL은 다음과 같습니다.

    https://playback-rights.api.brightcove.com/v1

    계정 경로

    모든 경우에 특정 Video Cloud 계정에 대한 요청이 이루어집니다. 따라서 기본 URL에 항상 계정이라는 용어와 계정 ID를 추가합니다.

    https://playback-rights.api.brightcove.com/v1/accounts/{accountID}

    권한 부여

    요청에 대한 액세스 토큰이 필요하며 Authorization 헤더에 있어야 합니다.

    Authorization: Bearer {access_token}

    액세스 토큰은 Brightcove OAuth 서비스에서 가져와야 하는 임시 OAuth2 액세스 토큰입니다. 클라이언트 자격 증명을 얻고 이를 사용하여 액세스 토큰을 검색하는 방법에 대한 자세한 내용은 다음을 참조하십시오. 브라이트코브 OAuth 개요 .

    권한

    Playback Rights API에 대한 요청은 다음에서 이루어져야 합니다. 클라이언트 자격 증명다음 권한으로:

    • video-cloud/playback-auth/playback-rights/read
    • video-cloud/playback-auth/playback-rights/write

    제한 관리

    재생 권한 API는 다음 요청을 지원합니다. API에 대한 자세한 내용은재생 권한 API 참조 .

    새 재생 권한 만들기

    POST /v1/accounts/{accountID}/playback_rights
      Content-Type: application/json
      Body: {playback rights object}
    

    유효한 필드 목록은 다음을 참조하십시오. 요청 본문부분.

    컬 예

    호주에서만 유효한 재생 권한 생성.

    컬 -X POST \\ https://playback-rights.api.brightcove.com/v1/accounts/ {your_account_id} /playback_rights \\ -H '승인: 교군꾼{access_token}'  \\ -H '콘텐츠 유형: 애플리케이션/json'  \\ -NS ' { "geo": { "allowed_countries": [ "AU" ] } }'
    API 응답

    을 살리다playback_rights_id나중에 사용할 가치. API 응답에서 이 값을 찾을 수 있습니다. 어느 하나:

    • 응답 헤더 :

      NS playback_rights_id값은 에서 찾을 수 있습니다Location헤더 응답의 필드입니다. 다음과 유사해야 합니다.

      Location: /v1/accounts/your account_id/playback_rights/your playback_rights_id
          
    • 응답 본문

      NS playback_rights_id값은 응답 본문에서 다음과 같이 찾을 수 있습니다. id들. 다음과 유사해야 합니다.

      {
        "id": "your playback_rights_id",
        "geo": {
        "allowed_countries": [
          "MX",
          "US"]
      }

    계정에 대한 모든 재생 권한 얻기

    GET /v1/accounts/{accountID}/playback_rights

    계정에 대한 특정 재생 권한 얻기

    GET /v1/accounts/{accountID}/playback_rights/{playbackRightsID}

    특정 재생 권한 업데이트:

    PUT /v1/accounts/{accountID}/playback_rights/{playbackRightsID}
      Content-Type: application/json
      Body: {playback rights object}

    유효한 필드 목록은 다음을 참조하십시오. 요청 본문부분.

    특정 재생 권한 삭제:

    DELETE /v1/accounts/{accountID}/playback_rights/{playbackRightsID}

    요청 본문

    다음은 요청 본문에 포함할 수 있는 모든 필드의 예입니다.

    {
      "geo": {
      "allowed_countries": [
        "MX",
        "US"
      ],
      "blocked_countries": [
        "JP",
        "CN"
      ],
      "allowed_zip_codes": [
        "US-90210"
      ],
      "blocked_zip_codes": [
        "US-72810"
      ],
      "allowed_dmas": [
        501
      ],
      "blocked_dmas": [
        803
      ]
    },
    "blocked_proxies": {
      "anonymous": true,
      "public": true,
      "corporate": true,
      "transparent": true
    },
    "allowed_domains": [
      "www.google.com",
      "www.brightcove.com"
    ],
    "blocked_domains": [
      "www.ooyala.com"
    ],
    "start_time": 1572905011,
    "end_time": 1672905011,
    "allowed_ips": [
      "192.168.1.1"
    ],
    "blocked_ips": [
      "192.168.1.1"
    ],
    "allowed_days": [
      "mon",
      "tue"
    ],
    "allowed_hours": [
      "5-6"
    ],
    "allow_insecure": true,
    "disabled": false,
    "name": "Optional playback right name"
    }
    

    필드 세부 정보는 다음과 같습니다.

    유형 설명
    allowed_countries , blocked_countries ISO 3166-1 alpha-2 표준을 따르는 두 글자 국가 코드의 배열입니다. 값 목록은 다음을 참조하십시오. 공식적으로 할당된 코드 요소 .
    allowed_zip_codes , blocked_zip_codes 두 글자 국가와 하이픈이 접두사로 붙는 우편번호 배열입니다. 예["US-90045"] .
    두 글자로 된 국가 코드는 대문자여야 하며 다음 그림과 같이 ISO 3166-1 alpha-2 표준을 따라야 합니다. 공식적으로 할당된 코드 요소 .
    allowed_dmas , blocked_dmas 정수 Nielsen DMA(지정 시장 지역) 번호의 배열입니다. 값 목록은 다음을 참조하십시오. DMA 코드문서.
    blocked_proxies: anonymous 부울 클라이언트의 IP 주소를 사용할 수 없습니다. DRM, TOR 포인트, 임시 프록시 및 기타 마스킹 서비스를 이길 수 있도록 위치를 변경하는 서비스가 포함됩니다.
    blocked_proxies: public 부울 공용 인터넷 액세스를 허용하는 위치에서 프록시된 여러 사용자.
    blocked_proxies: corporate 부울 일반적으로 무해한 것으로 간주되지만 위치가 문제가 될 수 있습니다. 여러 사용자가 중앙 위치를 통해 프록시되고 단일 네트워크 겉보기 IP 주소를 공유할 수 있는지 식별합니다.
    blocked_proxies: transparent 부울 클라이언트의 IP 주소는 HTTP 헤더를 통해 사용할 수 있지만 값이 반드시 신뢰할 수 있는 것은 아닙니다(예: 스푸핑될 수 있음).
    allowed_domains , blocked_domains 도메인 이름 배열
    start_time , end_time 정수 신기원 시간
    allowed_ips , blocked_ips 정수 ipv4/ipv6 주소 또는 CIDR 블록의 배열입니다.
    allowed_days 리소스를 검색할 수 있는 날짜의 3글자 소문자 이름 배열입니다. 다음 중 하나 이상: mon, tue, wed, thu, fri, sat, sun
    allowed_hours 정수 리소스 검색이 허용되는 24시간제(0에서 시작하여 최대 47까지)의 시간 배열입니다. 현재 날짜는 0 ~ 23, 다음 날 종료 날짜는 24 ~ 47입니다. 허용된 시간 블록이 전날에 시작하여 다음 날 끝나는 경우 24+ 표기법이 필요합니다.

    예: 값3-4이 헤더에서 리소스가 오전 3:00 UTC부터 오전 3:59 UTC까지 사용 가능함을 의미합니다.
    allow_insecure 부울 기본: false
    이것을 다음으로 설정true JWT 토큰을 선택 사항으로 만듭니다.
    disabled 부울 기본: false
    이것을 다음으로 설정true재생 권한을 비활성화하여 모든 사람이 재생할 수 있습니다.
    name 선택적 재생 권한 이름

    비디오와 제한 연결

    사용 CMS API재생 권한 ID를 비디오와 연결합니다. 이전 단계에서 만든 재생 권한 ID를 사용합니다.

    CMS API

    각 재생 권한 제한 개체는 하나 이상의 비디오와 함께 사용할 수 있습니다.

    기본 URL

    API의 기본 URL은 다음과 같습니다.

    https://cms.api.brightcove.com/v1

    계정 경로

    모든 경우에 특정 Video Cloud 계정에 대한 요청이 이루어집니다. 따라서 기본 URL에 항상 계정이라는 용어와 계정 ID를 추가합니다.

    https://cms.api.brightcove.com/v1/accounts/{accountId}

    권한 부여

    요청에 대한 액세스 토큰이 필요하며 Authorization 헤더에 있어야 합니다.

    Authorization: Bearer {access_token}

    액세스 토큰은 Brightcove OAuth 서비스에서 가져와야 하는 임시 OAuth2 액세스 토큰입니다. 클라이언트 자격 증명을 얻고 이를 사용하여 액세스 토큰을 검색하는 방법에 대한 자세한 내용은 다음을 참조하십시오. 브라이트코브 OAuth 개요 .

    권한

    Playback Rights API에 대한 요청은 다음에서 이루어져야 합니다. 클라이언트 자격 증명다음 권한으로:

    • video-cloud/video/read
    • video-cloud/video/update

    제한 관리

    NS CMS API많은 요청 유형을 지원합니다. 비디오를 업데이트하려면 다음을 사용하십시오.

    비디오 업데이트:

    연결playback_rights_id동영상으로. 이 ID는 이전 단계에서 생성한 Playback Rights API에 있어야 합니다.

    PATCH /v1/accounts/{account_id}/videos/{video_id}
      Content-Type: application/json
      Body: {video object}
    
    컬 예

    동영상에 playback_rights_id를 추가합니다.

    컬 -X 패치 \\ https://cms.api.brightcove.com/v1/accounts/ 귀하의 account_id /동영상/ 당신의 video_id \\ -H '권한 부여: 교군꾼귀하의 access_token'  \\ -H '콘텐츠 유형: 애플리케이션/json'  \\ -d '{ "playback_rights_id": " 귀하의 playback_rights_id " }'

    특정 동영상 가져오기:

    GET /v1/accounts/{account_id}/videos/{video_ids}

    API 사용에 대한 자세한 내용은 다음을 참조하십시오. CMS API 참조 .

    사용자 수준 제한 정의

    사용자 수준 제한을 원하는 경우 다음이 필요합니다. JSON 웹 토큰 (JWT) 제한과 관련된 클레임으로 구성됩니다.

    단계

    생성하려면 JSON 웹 토큰 (JWT)를 플레이어에 전달하려면 다음 단계를 따르세요.

    1. 제한 사항 결정

      아래 목록에서 사용하려는 사용자 수준 제한 유형을 결정합니다. 생성할 때 필요한 JWT 클레임을 포함합니다. JSON 웹 토큰 (JWT).

      기기 제한

      DRM 라이선스 요청 시 사용자의 기기가 등록되고 고유한 id가 부여됩니다. 장치 제한은 각 라이선스 요청과 함께 확인 및 적용됩니다. 이 제한을 사용하려면 현재 사용자 ID(uid)로 JWT를 생성하십시오.

      자세한 내용은장치 제한 구현문서.

      동시 스트림 제한

      DRM 라이선스 요청 시 사용자의 기기가 등록되고 고유한 id가 부여됩니다. 각 라이선스 요청과 함께 장치 ID가 확인되어 동시에 지정된 수의 비디오 스트림만 보고 있는지 확인합니다.

      자세한 내용은뷰어당 동시 스트림 제한문서.

      태그

      를 기반으로tags주장, JSON 웹 토큰 (JWT)는 사용자가 시청할 수 있는 비디오 그룹을 지정합니다. 다음을 사용하여 태그로 비디오를 그룹화할 수 있습니다. 미디어 모듈 Brightcove의 비디오 클라우드 스튜디오에서.

      Playback Authorization Service는 각 비디오와 연결된 태그를 확인합니다. 태그 중 하나 이상이 JWT 토큰의 목록과 일치하면 비디오를 볼 수 있습니다.

      JWT 토큰의 태그는 태그 배열로 나열됩니다.

    2. 만들기 JSON 웹 토큰

      Brightcove의 Playback API와 통신할 때 사용할 토큰을 만들려면만들기 JSON 웹 토큰 (JWT)문서.

    플레이어 구성

    기본적으로 Brightcove Player는 Brightcove Playback API(PAPI)와 통신합니다. Playback Restrictions을 관리하는 새로운 시스템이 Playback API 앞에 있습니다. 플레이어를 구성하려면 다음을 참조하십시오.

    웹 플레이어

    Brightcove 웹 플레이어를 구성하려면 다음을 참조하십시오. Brightcove Player에서 재생 권한 사용문서.

    기본 안드로이드 플레이어

    Android용 기본 플레이어를 구성하려면네이티브 SDK에서 재생 권한 사용문서.

    기본 iOS 플레이어

    iOS용 기본 플레이어를 구성하려면네이티브 SDK에서 재생 권한 사용문서.

    나만의 플레이어

    콘텐츠가 Video Cloud 라이브러리에 있지만 자신의 플레이어를 사용하는 경우 다음과 같이 Playback API를 호출할 수 있습니다. 개요: Playback API문서. 기본 URL을 다음으로 바꿉니다.

    https://edge-auth.api.brigthcove.com

    정책 키를 사용하는 대신 인증에 JWT 토큰을 사용합니다.

    Authorization: Bearer {JWT}

    다음은 Curl의 예입니다.

    curl -X GET \\ -H '권한 부여: 교군꾼{JWT}'  \\ https://edge-auth.api.brightcove.com/playback/v1/accounts/ {your_account_id} /동영상/ {your_video_id}

    페이지 마지막 업데이트 날짜16 Oct 2022