다른 프로젝트의 리소스에 액세스

Cloud Composer 1 | Cloud Composer 2

이 페이지에서는 Cloud Composer 환경이 아닌 다른 Google Cloud 프로젝트에 있는 리소스에 액세스하는 방법을 설명합니다.

다음 방법으로 다른 Google Cloud 프로젝트의 리소스에 액세스하는 것이 좋습니다.

  1. DAG에서는 사용자 환경에 사전 구성된 기본 연결을 사용합니다.

    예를 들어 google_cloud_default 연결은 많은 Google Cloud 운영자가 사용하며 환경을 만들 때 자동으로 구성됩니다.

  2. 다른 프로젝트의 리소스에 액세스할 수 있도록 사용자 환경의 서비스 계정에 추가 IAM 권한 및 역할을 부여합니다.

환경의 서비스 계정 확인

환경의 서비스 계정을 확인하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 환경 페이지로 이동합니다.

    환경으로 이동

  2. 환경 목록에서 환경 이름을 클릭합니다. 환경 세부정보 페이지가 열립니다.

  3. 환경 구성 탭으로 이동합니다.

  4. 환경의 서비스 계정이 서비스 계정 필드에 나열됩니다.

    값은 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 버킷과 같이 특정 리소스에 대한 역할과 권한을 부여하는 것이 좋습니다. 이 방식에서는 조건부 역할 바인딩과 함께 리소스 기반 액세스를 사용합니다.

특정 리소스에 액세스하려면 다음을 수행합니다.

  1. 리소스 기반 액세스 구성 가이드를 따릅니다.
  2. 역할 및 권한을 부여할 때 환경의 서비스 계정을 주 구성원으로 지정합니다.

리소스 유형에 액세스

또는 다른 프로젝트에 있는 모든 Cloud Storage 버킷과 같은 리소스 유형에 따라 역할 및 권한을 부여할 수 있습니다.

리소스 유형에 액세스하려면 다음을 수행합니다.

  1. 다른 리소스에 대한 액세스 관리 가이드를 따릅니다.
  2. 역할 및 권한을 부여할 때 환경의 서비스 계정을 주 구성원으로 지정합니다.

필요한 권한 및 역할을 부여한 후에는 해당 환경이 있는 프로젝트 리소스에 액세스하는 데 사용하는 것과 동일한 기본 Airflow 연결로 다른 프로젝트의 리소스에 액세스할 수 있습니다.

다음 단계