IAM으로 액세스 제어

개요

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

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

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

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

권한

이 섹션에는 IAM에서 지원하는 Transcoder API 권한이 요약되어 잇습니다.

필수 권한

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

작업 메서드 필수 권한
jobs.create 상위 Google Cloud 프로젝트에 대한 transcoder.jobs.create
jobs.delete 상위 Google Cloud 프로젝트에 대한 transcoder.jobs.delete
jobs.get 상위 Google Cloud 프로젝트에 대한 transcoder.jobs.get
jobs.list 상위 Google Cloud 프로젝트에 대한 transcoder.jobs.list
작업 템플릿 메서드 필수 권한
jobTemplates.create 상위 Google Cloud 프로젝트에 대한 transcoder.jobTemplates.create
jobTemplates.delete 상위 Google Cloud 프로젝트에 대한 transcoder.jobTemplates.delete
jobTemplates.get 상위 Google Cloud 프로젝트에 대한 transcoder.jobTemplates.get
jobTemplates.list 상위 Google Cloud 프로젝트에 대한 transcoder.jobTemplates.list

역할

다음 표에는 각 역할과 관련된 권한 등 Transcoder API IAM 역할이 나와 있습니다.

IAM 역할 권한

(roles/transcoder.viewer)

모든 트랜스코더 리소스의 뷰어입니다.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.jobTemplates.get

transcoder.jobTemplates.list

transcoder.jobs.get

transcoder.jobs.list

(roles/transcoder.admin)

모든 트랜스코더 리소스에 대한 전체 액세스 권한입니다.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.*

  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.delete
  • transcoder.jobTemplates.get
  • transcoder.jobTemplates.list
  • transcoder.jobs.create
  • transcoder.jobs.delete
  • transcoder.jobs.get
  • transcoder.jobs.list

roles/ownerroles/editor 역할은 roles/transcoder.admin 역할과 연결된 권한을 부여합니다. roles/viewer 역할은 roles/transcoder.viewer 역할과 연결된 권한을 부여합니다.

roles/owner, roles/editor, roles/viewer 역할에는 다른 Google Cloud 서비스에 대한 권한도 포함됩니다. 역할에 대한 자세한 내용은 역할 이해를 참조하세요.

Cloud Storage 및 Pub/Sub에 액세스

기본적으로 Transcoder API에는 프로젝트의 모든 Cloud Storage 버킷과 Pub/Sub 주제에 액세스할 수 있는 권한이 있습니다. 첫 번째 작업을 만들면 Transcoder API는 다음 이름 지정 규칙에 따라 서비스 계정을 만듭니다.

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

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

  • 프로젝트의 Cloud Storage 버킷에 파일 다운로드 및 업로드
  • 프로젝트의 Pub/Sub 주제에 상태 업데이트 게시

액세스 제한

이 액세스를 제한하려면 서비스 계정에서 Transcoder 서비스 에이전트 역할을 삭제하고 더욱 세분화된 액세스로 바꿉니다. 다음 단계를 따르세요.

  1. Google Cloud Console에서 IAM 페이지(권한 탭)로 이동합니다.
  2. Transcoder 서비스 에이전트 역할로 서비스 계정을 찾고 수정 버튼을 선택합니다.
  3. 서비스 계정에서 Transcoder 서비스 에이전트 역할을 삭제합니다.
  4. 개별 Cloud Storage 버킷의 서비스 계정에 액세스 권한을 부여합니다.
    1. Cloud Storage 브라우저 페이지로 이동합니다.
    2. 버킷을 클릭합니다.
    3. 권한 탭을 선택합니다.
    4. 추가를 클릭합니다.
    5. 새 주 구성원 상자에 서비스 계정 이름을 입력합니다.
    6. 역할에서 스토리지 객체 관리자를 선택합니다.
    7. 'Save(저장)'를 클릭합니다. 이제 Transcoder API가 버킷에 액세스합니다.
  5. (선택사항) 구성된 모든 Pub/Sub 주제의 서비스 계정에 액세스 권한을 부여합니다.
    1. Pub/Sub 주제 페이지로 이동합니다.
    2. 주제를 클릭합니다.
    3. 권한 탭을 선택합니다.
    4. 주 구성원 추가를 클릭합니다.
    5. 새 주 구성원 상자에 서비스 계정 이름을 입력합니다.
    6. 역할에서 Pub/Sub 게시자를 선택합니다.
    7. 'Save(저장)'를 클릭합니다. 이제 Transcoder API가 주제에 액세스합니다.