개요
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 역할 | 권한 |
---|---|
실시간 스트림 뷰어( 실시간 스트림 리소스에 대한 읽기 액세스 권한입니다. |
|
실시간 스트림 편집자( 실시간 스트림 리소스에 대한 전체 액세스 권한입니다. |
|
역할에 대한 자세한 내용은 역할 이해를 참조하세요.
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 버킷에 대한 이 액세스를 제한하려면 서비스 계정에서 실시간 스트림 서비스 에이전트 역할을 삭제하고 더욱 세분화된 액세스 권한으로 바꿉니다. 다음 단계를 따르세요.
- Google Cloud 콘솔에서 IAM 페이지(권한 탭)로 이동합니다.
- 실시간 스트림 서비스 에이전트 역할이 있는 서비스 계정을 찾고 수정 버튼을 선택합니다.
- 서비스 계정에서 실시간 스트림 서비스 에이전트 역할을 삭제합니다.
- 개별 Cloud Storage 버킷의 서비스 계정에 액세스 권한을 부여합니다.
- Cloud Storage 브라우저 페이지로 이동합니다.
- 버킷을 클릭합니다.
- 권한 탭을 선택합니다.
- 추가를 클릭합니다.
- 새로운 주 구성원 필드에 서비스 계정 이름을 입력합니다.
- 역할에서 스토리지 객체 관리자를 선택합니다.
- 저장을 클릭합니다. 이제 Live Stream API에 버킷에 대한 액세스 권한이 있습니다.