Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
이 페이지에서는 직원 ID 제휴를 사용하여 Cloud Composer 환경에 대한 사용자 액세스를 구성하는 방법을 설명합니다.
Cloud Composer의 직원 ID 제휴 정보
직원 ID 제휴를 사용하면 외부 ID 공급업체(IdP)를 사용하여 직원, 파트너, 계약업체와 같은 사용자 그룹에 대해 IAM을 사용하여 인증 및 권한 부여를 수행할 수 있으므로, 이러한 사용자가 Google Cloud 서비스에 액세스할 수 있습니다. 직원 ID 제휴에 대한 자세한 내용은 직원 ID 제휴를 참조하세요.
직원 ID 제휴가 프로젝트에 구성된 경우 다음과 같은 방법으로 환경에 액세스할 수 있습니다.
- Google Cloud 콘솔의 Cloud Composer 페이지
- Airflow UI
- Google Cloud CLI(Airflow CLI 명령어를 실행하는 등)
- Cloud Composer API
- Airflow REST API
시작하기 전에
버전 2.1.11 및 Airflow 버전 2.4.3 이후로 생성된 모든 새 Cloud Composer 환경은 직원 ID 제휴를 지원합니다. 직원 ID 제휴를 지원하기 위해 환경을 특정 방식으로 구성할 필요는 없습니다.
버전 2.1.11 및 Airflow 버전 2.4.3 이전에 생성되었고 이후 버전으로 업그레이드된 환경은 직원 ID 제휴를 지원하지 않습니다. 환경에서 직원 ID 제휴를 지원하는지 확인할 수 있습니다.
직원 ID 제휴에 대한 Cloud Storage 제한사항이 환경의 버킷에 적용됩니다. 특히 외부 ID에서 DAG 및 파일을 이 버킷에 업로드할 수 있게 하려면 환경 버킷에서 균일한 버킷 수준 액세스를 사용 설정해야 합니다.
Airflow에서 전송된 이메일에는 Google 계정의 Airflow UI URL만 포함됩니다. 외부 ID는 외부 ID의 Airflow UI URL을 통해서만 Airflow UI에 액세스할 수 있으므로 링크를 조정해야 합니다(외부 ID의 URL로 변경).
직원 ID 제휴를 사용하여 환경에 대한 액세스 설정
이 섹션에서는 Cloud Composer 환경에 대한 외부 ID 액세스를 구성하는 단계를 설명합니다.
ID 공급업체 구성
직원 ID 제휴 구성 가이드에 따라 ID 공급업체의 직원 ID 제휴를 구성합니다.
외부 ID에 IAM 역할 부여
Identity and Access Management에서 외부 ID 집합에 IAM 역할을 부여하여 외부 ID가 환경에 액세스하고 상호작용할 수 있도록 합니다.
Cloud Composer 관련 역할 목록은 사용자에게 역할 부여를 참조하세요. 예를 들어 환경 사용자 및 스토리지 객체 뷰어(
composer.environmentAndStorageObjectViewer
) 역할을 부여받은 사용자는 환경을 보고 Airflow UI에 액세스하고 DAG UI에서 DAG를 보고 트리거하며 환경 버킷에서 객체를 볼 수 있습니다.외부 사용자에게 이러한 역할을 할당하는 방법은 주 구성원에 IAM 역할 부여를 참조하세요.
IAM 정책에서 외부 ID를 표현하는 방법은 IAM 정책에서 직원 풀 사용자 표현을 참고하세요.
신규 사용자가 Airflow UI 액세스 제어에서 올바른 Airflow 역할을 받는지 확인
Cloud Composer는 Google 계정 사용자와 동일한 방식으로 외부 ID의 Airflow 사용자를 처리합니다. 이메일 주소 대신 주 구성원 식별자가 사용됩니다. 외부 ID가 Airflow UI에 처음 액세스하면 Airflow 사용자가 기본 역할로 Airflow 역할 기반 액세스 제어 시스템에 자동으로 등록됩니다.
새 사용자가 Airflow UI 액세스 제어에서 올바른 Airflow 역할을 받는지 확인합니다. 다음과 같은 옵션을 선택할 수 있습니다.
- 외부 ID가 Airflow UI에 처음 액세스한 후 기본 역할을 받도록 합니다. 필요한 경우 Airflow 관리자가 이 역할을 다른 역할로 변경할 수 있습니다.
사용자 이름 및 이메일 필드가 주 구성원 식별자로 설정된 Airflow 사용자 레코드를 추가하여 필요한 역할이 설정된 외부 ID를 사전 등록합니다. 이렇게 하면 외부 ID에 기본 역할이 아닌 개발자가 할당하는 역할이 있게 됩니다.
환경의 직원 ID 제휴 지원 여부 확인
환경에서 직원 ID 제휴를 지원하는지 확인하려면 다음 Google Cloud CLI 명령어를 실행합니다. 출력에 URI가 표시되면 환경에서 직원 ID 제휴를 지원하는 것입니다.
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.airflowByoidUri)"
다음과 같이 바꿉니다.
ENVIRONMENT_NAME
을 환경 이름으로 바꿉니다.LOCATION
을 환경이 위치한 리전으로 바꿉니다.
예를 들면 다음과 같습니다.
gcloud composer environments describe example-environment \
--location us-central1 \
--format="value(config.airflowByoidUri)"
Google Cloud 콘솔에서 Cloud Composer 페이지에 액세스
Google Cloud 직원 ID 제휴 콘솔에서 Cloud Composer 페이지에 대한 액세스를 제공합니다.
Google Cloud 직원 ID 제휴 콘솔의 Composer 페이지에서 환경, Cloud Composer 로그, 모니터링, DAG UI를 관리하는 UI에 액세스할 수 있습니다.
제휴 콘솔의 모든 Airflow UI 링크는 외부 ID의 Airflow UI 액세스 포인트를 가리킵니다.
2.1.11 이전 버전 또는 Airflow 2.4.3 이전 버전의 환경에서는 Airflow UI 링크가 '사용할 수 없음'으로 표시될 수 있습니다. 이는 해당 환경이 Airflow UI에서 직원 ID 제휴 사용자를 지원하지 않음을 의미합니다. 이 환경의 Airflow UI는 Google 계정으로만 액세스할 수 있습니다.
Airflow UI 액세스
Cloud Composer 환경에는 Airflow UI에 대한 두 개의 URL이 있습니다. 각각 Google 계정과 외부 ID를 위한 URL입니다. 외부 ID는 외부 ID URL을 통해 Airflow UI에 액세스해야 합니다.
외부 ID URL은
https://<UNIQUE_ID>.composer.byoid.googleusercontent.com
입니다.Google 계정 URL은
https://<UNIQUE_ID>.composer.googleusercontent.com
입니다.
외부 ID로 인증된 사용자만 외부 ID를 위한 URL에 액세스할 수 있습니다. 사용자가 로그인하지 않은 상태에서 외부 ID의 URL을 방문하면 먼저 직원 풀 공급업체 이름을 지정하는 인증 포털로 리디렉션된 후 로그인을 위해 ID 공급업체로 리디렉션되며 마지막으로 환경의 Airflow UI로 리디렉션됩니다.
Google Cloud 콘솔에서 DAG UI에 액세스
DAG UI는 제휴 콘솔의 일부로 외부 ID 사용자에게 제공됩니다. IAM 정책으로 액세스를 제어할 수 있습니다.
전체 직원 ID 제휴를 지원하는 환경의 Airflow 역할 기반 액세스도 고려되며 이를 사용해 Airflow UI 액세스 제어 사용에 설명된 대로 역할을 설정하여 개별 사용자에게 표시되는 DAG를 제한할 수 있습니다.
Google Cloud CLI 액세스
Google Cloud CLI를 통해 환경에 액세스하려면 외부 ID에서 다음을 수행해야 합니다.
- 외부 ID를 사용하여 Google Cloud CLI에 로그인합니다.
gcloud composer environments
명령어를 실행합니다.
Cloud Composer API 액세스
Cloud Composer API를 외부 ID와 함께 사용하여 OAuth 토큰과 같은 지원되는 인증 방법으로 모든 Composer 환경을 관리할 수 있습니다.
Airflow REST API
Airflow REST API는 OAuth 토큰과 같은 지원되는 인증 방법으로 외부 ID 엔드포인트에서 사용 가능합니다.
환경의 외부 ID에 대한 엔드포인트 URL을 가져오려면 환경에서 직원 ID 제휴가 지원되는지 확인 섹션에 표시된 대로 gcloud composer environments describe
명령어를 사용합니다.