액세스 제어

이 페이지에서는 Cloud Composer API에서 사용할 수 있는 액세스 제어 옵션을 설명합니다.

개요

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

Cloud Composer API에서는 프로젝트 수준에서 액세스 제어를 구성할 수 있습니다. 예를 들어 프로젝트 내의 모든 Cloud Composer API 리소스에 대한 액세스 권한을 개발자 그룹에 부여할 수 있습니다.

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

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

필수 권한

다음 표에는 Cloud Composer API에서 각 API 메서드를 호출하기 위해 또는 이 API를 사용하는 Google Cloud 도구(예: Google Cloud Console 또는 Cloud SDK)로 태스크를 수행하기 위해 호출자에게 필요한 권한이 나와 있습니다.

방법 권한
environments.create composer.environments.create
environments.delete composer.environments.delete
environments.get composer.environments.get
environments.list composer.environments.list
environments.update composer.environments.update
operations.delete composer.operations.delete
operations.get composer.operations.get
operations.list composer.operations.list

역할

역할 이름 설명 권한 최하위 리소스
roles/composer.admin Composer 관리자 Cloud Composer 리소스를 관리할 수 있는 전체 권한을 제공합니다.
  • composer.*
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
프로젝트
roles/composer.environmentAndStorageObjectAdmin 환경 및 저장소 객체 관리자 Cloud Composer 리소스와 모든 프로젝트 버킷에 있는 객체를 관리할 수 있는 전체 권한을 제공합니다.
  • composer.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.*
프로젝트
roles/composer.environmentAndStorageObjectViewer 환경 사용자 및 스토리지 객체 뷰어 Cloud Composer 환경 및 작업을 나열하고 가져오는 데 필요한 권한을 제공합니다. 모든 프로젝트 버킷에 있는 객체에 대한 읽기 전용 액세스 권한을 제공합니다.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.get
  • storage.objects.list
프로젝트
roles/composer.user Composer 사용자 Cloud Composer 환경 및 작업을 나열하고 가져오는 데 필요한 권한을 제공합니다.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
프로젝트
roles/composer.worker Composer 작업자 Cloud Composer 환경 VM을 실행하는 데 필요한 권한을 제공합니다. 서비스 계정용입니다.
  • artifactregistry.files.*
  • artifactregistry.packages.get
  • artifactregistry.packages.list
  • artifactregistry.repositories.downloadArtifacts
  • artifactregistry.repositories.get
  • artifactregistry.repositories.list
  • artifactregistry.repositories.uploadArtifacts
  • artifactregistry.tags.create
  • artifactregistry.tags.get
  • artifactregistry.tags.list
  • artifactregistry.tags.update
  • artifactregistry.versions.get
  • artifactregistry.versions.list
  • cloudbuild.*
  • container.*
  • containeranalysis.occurrences.create
  • containeranalysis.occurrences.delete
  • containeranalysis.occurrences.get
  • containeranalysis.occurrences.list
  • containeranalysis.occurrences.update
  • logging.logEntries.create
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.*
  • monitoring.timeSeries.create
  • pubsub.snapshots.create
  • pubsub.snapshots.delete
  • pubsub.snapshots.get
  • pubsub.snapshots.list
  • pubsub.snapshots.seek
  • pubsub.snapshots.update
  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.list
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.topics.publish
  • pubsub.topics.update
  • pubsub.topics.updateTag
  • remotebuildexecution.blobs.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • source.repos.get
  • source.repos.list
  • storage.buckets.create
  • storage.buckets.get
  • storage.buckets.list
  • storage.objects.*
프로젝트

기본 역할

역할 이름 설명 권한 최하위 리소스
roles/owner 소유자 Cloud Composer 리소스를 전체적으로 제어할 수 있는 기본 역할 composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
프로젝트
roles/editor 편집자 Cloud Composer 리소스를 전체적으로 제어할 수 있는 기본 역할 composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
프로젝트
roles/reader 뷰어 사용자가 Cloud Composer 리소스를 나열하고 가져올 수 있게 해주는 기본 역할 composer.operations.list
composer.operations.get
composer.environments.list
composer.environments.get
프로젝트

일반적인 작업을 위한 권한

역할은 권한의 모음입니다. 이 섹션에서는 일반적인 작업에 필요한 역할 또는 권한을 설명합니다.

작업 권한 또는 역할
IAP로 보호되는 Airflow 웹 인터페이스에 액세스 composer.environments.get
`gcloud` 명령줄 도구를 사용하여 Airflow CLI 실행 composer.environments.get
container.clusters.getCredentials
roles/container.developer
Cloud Console에서 환경 페이지 보기 composer.environments.list
servicemanagement.projectSettings.get
Google Cloud의 작업 제품군 로그 및 측정항목 보기 roles/logging.viewer
roles/monitoring.viewer
환경 만들기 composer.environments.create
환경 업데이트 및 삭제(환경 변수 설정 및 Python 패키지 설치/업데이트 포함) environments.delete
environments.update
DAG 및 Plugins 폴더에 파일을 업로드하고 로그 폴더의 Airflow 로그에 액세스 버킷 또는 프로젝트 수준에서 할당된 storage.objectAdmin

DAG 대상 버킷을 찾기 위한 composer.environments.get

gcloud를 통한 액세스 제어

사전 정의된 역할을 할당하려면 gcloud projects get-iam-policy 명령어를 실행하여 현재 정책을 가져오고 roles/composer.admin(Composer 관리자) 역할 또는 roles/composer.user(Composer 사용자) 역할로 정책 바인딩을 업데이트한 후 gcloud projects set-iam-policy 명령어를 실행합니다. gcloud를 사용하여 역할을 할당하는 방법에 대한 자세한 내용은 Cloud IAM 문서의 리소스에 대한 액세스 권한 부여, 변경, 취소 페이지를 참조하세요.

Cloud Composer 권한으로 커스텀 역할을 구성하려면 역할 표에서 원하는 권한 목록을 포함하여 gcloud iam roles create 명령어를 실행합니다. 그런 다음 새로 구성된 커스텀 역할을 사용하여 Cloud IAM 정책을 업데이트합니다. 자세한 내용은 Cloud IAM 문서의 커스텀 역할 만들기 페이지를 참조하세요.

Cloud Console을 통한 액세스 제어

Cloud Console에서 환경 및 프로젝트에 대한 액세스 제어를 관리할 수 있습니다.

프로젝트 수준의 액세스 제어 설정 방법은 다음과 같습니다.

  1. Google Cloud Console에서 IAM 페이지를 엽니다.
  2. 프로젝트를 선택하고 계속을 클릭합니다.
  3. 구성원 추가를 클릭합니다.
  4. 이전에 어떤 Cloud IAM 역할도 부여하지 않은 새 구성원의 이메일 주소를 입력합니다.
  5. 드롭다운 메뉴에서 원하는 역할을 선택합니다.
  6. 추가를 클릭합니다.
  7. 부여한 역할 아래에 구성원이 나타나는지 확인합니다.