Cloud Composer 1 | Cloud Composer 2
이 페이지에서는 Cloud Composer 환경이 아닌 Google Cloud 프로젝트에 있는 리소스에 액세스하는 방법을 설명합니다.
다음과 같은 방법으로 다른 Google Cloud 프로젝트의 리소스에 액세스하는 것이 좋습니다.
DAG에서 사용자 환경에 사전 구성된 기본 연결을 사용합니다.
예를 들어
google_cloud_default
연결은 여러 Google Cloud 연산자에서 사용되며 환경을 만들 때 자동으로 구성됩니다.다른 프로젝트의 리소스에 액세스할 수 있도록 환경의 서비스 계정에 추가 IAM 권한 및 역할을 부여합니다.
환경의 서비스 계정 결정
환경의 서비스 계정을 확인하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 환경 페이지로 이동합니다.
환경 목록에서 환경 이름을 클릭합니다. 환경 세부정보 페이지가 열립니다.
환경 구성 탭으로 이동합니다.
환경의 서비스 계정이 서비스 계정 필드에 나열됩니다.
값은
service-account-name@example-project.iam.gserviceaccount.com
과 같은 이메일 주소입니다.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="get(config.nodeConfig.serviceAccount)"
값은 service-account-name@example-project.iam.gserviceaccount.com
과 같은 이메일 주소입니다.
다른 프로젝트의 리소스에 액세스할 수 있는 IAM 역할 및 권한 부여
환경의 서비스 계정에는 다른 프로젝트의 리소스에 액세스할 수 있는 권한이 필요합니다. 이러한 역할과 권한은 액세스하려는 리소스에 따라 다를 수 있습니다.
특정 리소스 액세스
다른 프로젝트에 있는 단일 Cloud Storage 버킷과 같은 특정 리소스에 대한 역할과 권한을 부여하는 것이 좋습니다. 이 방식에서는 조건부 역할 바인딩을 사용하여 리소스 기반 액세스를 사용합니다.
특정 리소스에 액세스하려면 다음 안내를 따르세요.
- 리소스 기반 액세스 구성 가이드를 따릅니다.
- 역할 및 권한을 부여할 때 환경의 서비스 계정을 주 구성원으로 지정합니다.
리소스 유형 액세스
또는 다른 프로젝트에 있는 모든 Cloud Storage 버킷과 같은 리소스 유형을 기준으로 역할 및 권한을 부여할 수 있습니다.
리소스 유형에 액세스하려면 다음 안내를 따르세요.
- 다른 리소스에 대한 액세스 관리 가이드를 따릅니다.
- 역할 및 권한을 부여할 때 환경의 서비스 계정을 주 구성원으로 지정합니다.
필요한 권한과 역할을 부여한 후에는 해당 환경이 있는 프로젝트의 리소스에 액세스하는 데 사용하는 것과 동일한 기본 Airflow 연결로 다른 프로젝트의 리소스에 액세스할 수 있습니다.