역할 기반 액세스 제어(RBAC) 개요

이 페이지에서는 Cloud Data Fusion 버전 6.5 이상에서 사용할 수 있는 역할 기반 액세스 제어(RBAC)의 세분화된 승인을 설명합니다.

RBAC는 Cloud Data Fusion에서 파이프라인을 개발하는 환경 내에서의 액세스를 제한합니다. RBAC는 Cloud Data Fusion 리소스에 액세스할 수 있는 사용자, 해당 리소스로 수행할 수 있는 작업, 액세스할 수 있는 영역 (예: 인스턴스 또는 네임스페이스)을 관리하는 데 도움이 됩니다. Cloud Data Fusion RBAC는 Identity and Access Management(IAM)를 기반으로 한 세분화된 액세스 관리를 제공하는 승인 시스템입니다.

RBAC를 사용해야 하는 경우

역할 기반 액세스 제어는 단일 Cloud Data Fusion 인스턴스 내에서 네임스페이스 수준 격리를 제공합니다. 다음 사용 사례에 권장됩니다.

  • 조직에서 사용하는 인스턴스 수를 최소화하는 데 도움이 됩니다.
  • 여러 개발자, 팀 또는 사업부가 단일 Cloud Data Fusion 인스턴스를 사용하도록 지원합니다.

조직에서 Cloud Data Fusion RBAC를 사용하여 허용할 수 있는 권한은 다음과 같습니다.

  • 사용자는 네임스페이스 하나 내에서만 파이프라인을 실행할 수 있으며 아티팩트나 런타임 컴퓨팅 프로필을 수정할 수는 없습니다.
  • 사용자가 파이프라인만 볼 수만 있으며 파이프라인을 수정하거나 실행할 수는 없습니다.
  • 사용자가 파이프라인을 생성, 배포, 실행할 수 있습니다.

권장: RBAC를 사용하는 경우에도 격리, 보안, 성능 안정성을 유지하려면 개발 환경과 프로덕션 환경에 별도의 프로젝트와 인스턴스를 사용합니다.

제한사항

  • 인스턴스 또는 네임스페이스 수준에서 한 사용자에게 역할을 1개 이상 부여할 수 있습니다.
  • RBAC는 Cloud Data Fusion Enterprise 버전에서만 사용할 수 있습니다.
  • 네임스페이스 수: 인스턴스당 네임스페이스 수에 적용되는 엄격한 제한은 없습니다.
  • RBAC가 사용 설정된 인스턴스의 최대 동시 사용자 수는 가격 책정을 참조하세요.
  • 커스텀 역할: 커스텀 RBAC 역할 만들기는 지원되지 않습니다.
  • Cloud Data Fusion RBAC는 연결 관리에 대한 승인을 지원하지 않습니다.
  • 서비스 계정 OAuth 액세스 토큰을 사용하여 버전 6.5 RBAC 지원 인스턴스에 액세스할 경우 다음 범위, 특히 userinfo.email 범위를 지정해야 합니다. 그렇지 않으면 권한 거부 오류가 발생합니다.
    • https://www.googleapis.com/auth/userinfo.email
    • https://www.googleapis.com/auth/cloud-platform 또는 https://www.googleapis.com/auth/servicecontrol

Role assignments(역할 할당)

역할 할당은 3가지 요소(주 구성원, 역할 정의, 범위)로 이루어집니다.

주 구성원

주 구성원(이전에는 멤버라고 함)은 Google 계정(최종 사용자의 경우), 서비스 계정(앱 및 가상 머신의 경우) 또는 Cloud Data Fusion 리소스에 대한 액세스를 요청하는 Google 그룹일 수 있습니다. 이러한 주 구성원에 역할을 할당할 수 있습니다.

역할 정의

역할에는 Google Cloud 리소스에서 특정 작업을 수행할 수 있는 일련의 권한이 포함되어 있습니다.

Cloud Data Fusion은 개발자가 사용할 수 있는 사전 정의된 역할을 몇 가지 제공합니다.

예시:

  • 인스턴스 관리자 역할(datafusion.admin)을 받은 주 구성원은 네임스페이스를 만들고 삭제하고 권한을 부여할 수 있습니다.
  • 개발자 역할(datafusion.developer)을 통해 주 구성원은 파이프라인을 생성, 삭제, 배포하고 미리보기를 실행할 수 있습니다.

범위

범위는 액세스 권한이 적용되는 리소스 집합입니다. 역할을 할당할 때 범위(예: 인스턴스 또는 네임스페이스)를 정의하여 허용되는 작업을 추가로 제한할 수 있습니다. 누군가에게 개발자 역할을 할당하되 네임스페이스 하나에만 해당하는 권한을 할당하려는 경우에 유용합니다.

보안 추천

보안 모델을 채택하고 이를 조직의 필요와 요구사항에 맞춰 조정하기가 어려울 수 있습니다. Cloud Data Fusion의 RBAC 모델을 채택하는 과정을 간소화하는 데 도움이 되는 권장사항을 소개합니다.

  • 인스턴스 관리자 역할은 주의해서 부여해야 합니다. 이 역할은 인스턴스 및 모든 기본 Cloud Data Fusion 리소스에 대한 전체 액세스를 사용 설정합니다. 이 역할이 있는 주 구성원은 REST API를 사용하여 다른 사용자에게 권한을 부여할 수 있습니다.
  • 주 구성원이 Cloud Data Fusion 인스턴스 내 개별 네임스페이스에 액세스해야 하는 경우 인스턴스 관리자 역할을 부여해서는 안 됩니다. 대신 네임스페이스의 하위 집합에 부여된 뷰어/개발자/작업자/편집자 역할 중 하나로 인스턴스 접근자 역할을 부여합니다.
  • 인스턴스 접근자 역할은 주 구성원의 인스턴스에 대한 액세스를 사용 설정하지만 인스턴스 내의 리소스에 대한 액세스 권한을 부여하지 않으므로 먼저 할당해도 안전합니다. 일반적으로 뷰어/개발자/운영자/편집자 중 하나와 함께 이 역할을 사용해 한 인스턴스에 있는 네임스페이스 하나 또는 네임스페이스 하위 집합에 대한 액세스 권한을 제공합니다.
  • 뷰어 역할은 실행 중인 작업의 상태를 이해하고 Cloud Data Fusion 인스턴스가 포함된 파이프라인 또는 로그를 보려는 사용자 또는 Google 그룹에 할당하는 것이 좋습니다. 처리가 완료되었는지 여부를 알고 싶은 일일 보고서의 소비자가 그 예에 해당합니다.
  • 파이프라인 생성, 테스트, 관리를 담당하는 ETL 개발자에게는 개발자 역할을 부여하는 것이 좋습니다.
  • 작업 관리자나 DevOps 서비스를 제공하는 사용자에게는 네임스페이스에 대한 운영자 역할을 부여하는 것이 좋습니다. 개발자가 수행할 수 있는 모든 작업(파이프라인 미리보기 제외)을 수행할 수 있으며 아티팩트를 배포하고 컴퓨팅 프로필을 관리할 수도 있습니다.
  • 네임스페이스의 편집자 역할은 사용자 또는 Google 그룹에게 네임스페이스의 모든 리소스에 대한 전체 액세스 권한을 부여하는 높은 권한의 역할입니다. 편집자는 개발자 및 운영자 역할을 합친 것으로 간주할 수 있습니다.
  • 운영자관리자는 신뢰할 수 없는 플러그인이나 아티팩트를 설치할 경우 보안 위험을 초래할 수 있으므로 주의해야 합니다.

문제 해결

이 페이지에서는 Cloud Data Fusion에서 RBAC와 관련된 문제를 해결하는 방법을 설명합니다.

RBAC의 네임스페이스에 대한 Cloud Data Fusion 뷰어 역할이 있는 주 구성원이 파이프라인 수정 가능

액세스는 IAM 역할과 RBAC 역할의 조합을 기반으로 합니다. IAM 역할이 RBAC 역할보다 우선 적용됩니다. 주 구성원에게 프로젝트 편집자 또는 Cloud Data Fusion 관리자 IAM 역할이 있는지 확인합니다.

RBAC에서 인스턴스 관리자 역할이 있는 주 구성원이 Google Cloud 콘솔에서 Cloud Data Fusion 인스턴스를 볼 수 없음

Cloud Data Fusion에는 인스턴스 관리자 역할이 있는 주 구성원이 Google Cloud 콘솔에서 인스턴스를 볼 수 없다는 알려진 문제가 있습니다. 이 문제를 해결하려면 주 구성원이 인스턴스를 관리할 수 있도록 프로젝트 뷰어Cloud Data Fusion IAM 역할 중 하나를 주 구성원에게 추가로 부여합니다. 이렇게 하면 주 구성원에게 프로젝트의 모든 인스턴스에 대한 뷰어 액세스 권한이 부여됩니다.

주 구성원이 역할이 없는 네임스페이스를 볼 수 없도록 차단

주 구성원이 역할이 없는 네임스페이스를 볼 수 없게 하려면 주 구성원에게 프로젝트 뷰어Cloud Data Fusion IAM 역할이 없어야 합니다. 대신 작동해야 하는 네임스페이스의 주 구성원에게 RBAC 역할만 부여합니다.

이러한 유형의 액세스 권한이 있는 주 구성원은 Google Cloud 콘솔에서 Cloud Data Fusion 인스턴스 목록을 볼 수 없습니다. 대신 https://INSTANCE_NAME-PROJECT_ID.REGION_NAME.datafusion.googleusercontent.com/과 비슷하게 인스턴스에 대한 직접 링크를 제공합니다.

주 구성원이 인스턴스를 열면 Cloud Data Fusion에는 주 구성원에게 RBAC 역할이 부여된 네임스페이스 목록이 표시됩니다.

주 구성원에게 Cloud Data Fusion 접근자 역할 부여

접근자 역할은 다른 RBAC 역할이 Cloud Data Fusion 인스턴스에 할당되면 주 구성원에게 암시적으로 할당됩니다. 주 구성원에게 특정 인스턴스에 대한 역할이 있는지 확인하려면 IAM 정책 분석 도구를 참조하세요.

다음 단계