IAM으로 액세스 제어

개요

Live Stream API는 액세스 제어에 Identity and Access Management(IAM)를 사용합니다.

프로젝트 수준에서 Live Stream API에 대한 액세스 제어를 구성할 수 있습니다. 예를 들어 개발자에게 프로젝트 내 모든 이벤트를 나열하고 가져올 수 있는 액세스 권한을 부여할 수 있습니다.

IAM과 그 기능에 대한 자세한 설명은 IAM 문서를 참조하세요. 특히 IAM 정책 관리 섹션을 참조하세요.

모든 Live Stream API 메서드는 호출자에게 필수 권한을 요구합니다. 자세한 내용은 권한역할을 참조하세요.

권한

이 섹션에서는 IAM에서 지원하는 Live Stream API 권한을 요약 설명합니다.

필수 권한

다음 표에는 Live Stream API와 연결된 IAM 권한이 나와 있습니다.

애셋 메서드 이름 필수 권한
assets.create 상위 위치에 대한 livestream.assets.create 권한(특정 Google Cloud 프로젝트와 데이터 위치 조합).
assets.delete 애셋 리소스에 대한 livestream.assets.delete 권한
assets.get 애셋 리소스에 대한 livestream.assets.get 권한
assets.list 상위 위치에 대한 livestream.assets.list 권한(특정 Google Cloud 프로젝트와 데이터 위치 조합)
채널 메서드 이름 필수 권한
channels.create 상위 위치에 대한 livestream.channels.create 권한(특정 Google Cloud 프로젝트와 데이터 위치 조합)
channels.delete 채널 리소스에 대한 livestream.channels.delete 권한
channels.get 채널 리소스에 대한 livestream.channels.get 권한
channels.list 상위 위치에 대한 livestream.channels.list 권한(특정 Google Cloud 프로젝트와 데이터 위치 조합)
channels.patch 채널 리소스에 대한 livestream.channels.update 권한
channels.start 채널 리소스에 대한 livestream.channels.start 권한
channels.stop 채널 리소스에 대한 livestream.channels.stop 권한
클립 메서드 이름 필수 권한
channels.clips.create 리소스의 상위 채널에 대한 livestream.clips.create
channels.clips.delete 클립 리소스에 대한 livestream.clips.delete
channels.clips.get 클립 리소스에 대한 livestream.clips.get
channels.clips.list 리소스의 상위 채널에 대한 livestream.clips.list
이벤트 메서드 이름 필수 권한
channels.events.create 리소스의 상위 채널에 대한 livestream.events.create
channels.events.delete 이벤트 리소스에 대한 livestream.events.delete
channels.events.get 이벤트 리소스에 대한 livestream.events.get
channels.events.list 리소스의 상위 채널에 대한 livestream.events.list
입력 메서드 이름 필수 권한
inputs.create 상위 위치에 대한 livestream.inputs.create 권한(특정 Google Cloud 프로젝트와 데이터 위치 조합)
inputs.delete 입력 리소스에 대한 livestream.inputs.delete
inputs.get 입력 리소스에 대한 livestream.inputs.get
inputs.list 상위 위치에 대한 livestream.inputs.list 권한(특정 Google Cloud 프로젝트와 데이터 위치 조합)
inputs.patch 입력 리소스에 대한 livestream.inputs.update
풀 메서드 이름 필수 권한
pools.get 풀 리소스에 대한 livestream.pools.get
pools.patch 풀 리소스에 대한 livestream.pools.patch

역할

다음 표에는 각 역할과 관련된 권한을 비롯하여 Live Stream API IAM 역할이 나와 있습니다.

IAM 역할 권한

(roles/livestream.viewer)

실시간 스트림 리소스에 대한 읽기 액세스 권한입니다.

livestream.assets.get

livestream.assets.list

livestream.channels.get

livestream.channels.list

livestream.clips.get

livestream.clips.list

livestream.events.get

livestream.events.list

livestream.inputs.get

livestream.inputs.list

livestream.locations.*

  • livestream.locations.get
  • livestream.locations.list

livestream.operations.get

livestream.operations.list

livestream.pools.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/livestream.editor)

실시간 스트림 리소스에 대한 전체 액세스 권한입니다.

livestream.*

  • livestream.assets.create
  • livestream.assets.delete
  • livestream.assets.get
  • livestream.assets.list
  • livestream.channels.create
  • livestream.channels.delete
  • livestream.channels.get
  • livestream.channels.list
  • livestream.channels.start
  • livestream.channels.stop
  • livestream.channels.update
  • livestream.clips.create
  • livestream.clips.delete
  • livestream.clips.get
  • livestream.clips.list
  • livestream.events.create
  • livestream.events.delete
  • livestream.events.get
  • livestream.events.list
  • livestream.inputs.create
  • livestream.inputs.delete
  • livestream.inputs.get
  • livestream.inputs.list
  • livestream.inputs.update
  • livestream.locations.get
  • livestream.locations.list
  • livestream.operations.cancel
  • livestream.operations.delete
  • livestream.operations.get
  • livestream.operations.list
  • livestream.pools.get
  • livestream.pools.update

resourcemanager.projects.get

resourcemanager.projects.list

역할에 대한 자세한 내용은 역할 이해를 참조하세요.

Cloud Storage에 액세스

기본적으로 Live Stream API는 프로젝트의 모든 Cloud Storage 버킷에 액세스할 수 있습니다. 첫 번째 실시간 스트리밍 이벤트를 만들 때 Live Stream API가 다음 이름 지정 규칙을 사용하여 서비스 계정을 만듭니다.

service-PROJECT_NUMBER@gcp-sa-livestream.iam.gserviceaccount.com

PROJECT_NUMBER는 Live Stream API가 사용 설정된 프로젝트의 번호입니다. 이 서비스 계정에는 라이브 스트림 서비스 에이전트 역할이 부여되며 다음을 수행할 수 있는 권한이 있습니다.

  • 프로젝트의 Cloud Storage 버킷에 있는 파일 읽기
  • 프로젝트의 Cloud Storage 버킷에 파일 업로드
  • 프로젝트의 Cloud Storage 버킷에서 파일 삭제
  • 프로젝트의 Cloud Storage 버킷에서 파일 및 메타데이터 나열

액세스 제한

Cloud Storage 버킷에 대한 이 액세스를 제한하려면 서비스 계정에서 실시간 스트림 서비스 에이전트 역할을 삭제하고 더욱 세분화된 액세스 권한으로 바꿉니다. 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 IAM 페이지(권한 탭)로 이동합니다.
  2. 실시간 스트림 서비스 에이전트 역할이 있는 서비스 계정을 찾고 수정 버튼을 선택합니다.
  3. 서비스 계정에서 실시간 스트림 서비스 에이전트 역할을 삭제합니다.
  4. 개별 Cloud Storage 버킷의 서비스 계정에 액세스 권한을 부여합니다.
    1. Cloud Storage 브라우저 페이지로 이동합니다.
    2. 버킷을 클릭합니다.
    3. 권한 탭을 선택합니다.
    4. 추가를 클릭합니다.
    5. 새로운 주 구성원 필드에 서비스 계정 이름을 입력합니다.
    6. 역할에서 스토리지 객체 관리자를 선택합니다.
    7. 저장을 클릭합니다. 이제 Live Stream API에 버킷에 대한 액세스 권한이 있습니다.