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

이 문서에서는 Cloud Data Fusion 버전 6.5 이상에서 사용할 수 있는 새로운 세분화된 승인 기능을 설명합니다.

역할 기반 액세스 제어(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를 사용하더라도 격리, 보안, 성능 안정성을 유지하려면 개발 및 프로덕션 환경에서 별도의 프로젝트와 인스턴스를 사용하는 것이 좋습니다.

제한사항

  • Cloud Data Fusion IAM 역할에는 여러 권한이 포함되어 있습니다.
  • 인스턴스 또는 네임스페이스 수준에서 한 사용자에게 역할을 1개 이상 부여할 수 있습니다.
  • RBAC는 Cloud Data Fusion Enterprise 버전에서만 사용할 수 있습니다.
  • 네임스페이스 수: 인스턴스당 네임스페이스 수에 적용되는 엄격한 제한은 없습니다.
  • 네임스페이스 삭제는 현재 지원되지 않습니다.
  • 사용자: 인스턴스당 최대 50명의 사용자가 지원됩니다.
  • 커스텀 역할: 커스텀 역할은 만들지 않는 것이 좋습니다. 현재 버전에서 만드는 커스텀 역할과 향후 버전이 호환되지 않을 수 있습니다.
  • Cloud Data Fusion RBAC는 현재 연결 관리에 대한 승인을 지원하지 않습니다.

역할 할당

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

주 구성원

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

역할 정의

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

Cloud Data Fusion은 사전 정의된 역할을 몇 가지 제공합니다.

예:

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

범위

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

사전 정의된 Cloud Data Fusion 역할

Cloud Data Fusion RBAC에는 사전 정의된 역할이 몇 가지 포함되어 있습니다.

사전 정의된 역할 설명 한 네임스페이스에서 이 역할이 할당된 주 구성원이 수행할 수 있는 작업
인스턴스 관리자 역할(datafusion.admin) Cloud Data Fusion 인스턴스 내의 모든 리소스에 대한 액세스 권한을 부여합니다. 해당 사항이 없습니다. 네임스페이스 수준에서 할당되지 않습니다.
인스턴스 액세스 역할(datafusion.accessor) 주 구성원에게 Cloud Data Fusion 인스턴스에 대한 액세스 권한을 부여하되 인스턴스 내의 리소스에 대한 액세스 권한은 부여하지 않습니다. 이 역할을 다른 네임스페이스별 역할과 함께 사용하면 네임스페이스에 대한 세분화된 액세스 권한을 제공할 수 있습니다.
  • 인스턴스에 액세스할 수 있음
  • 네임스페이스에 액세스할 수 없음
  • 네임스페이스를 만들 수 없음
  • 네임스페이스를 삭제할 수 없음
  • 파이프라인을 만들 수 없음
  • 파이프라인을 배포할 수 없음
  • 허브 플러그인을 배포할 수 없음
  • 일정을 만들 수 없음
  • 일정을 변경할 수 없음
  • 파이프라인을 실행할 수 없음
  • 파이프라인을 미리 볼 수 없음
  • 파이프라인을 삭제할 수 없음
  • 태그를 볼 수 없음
  • 태그를 삭제할 수 없음
  • 로그를 볼 수 없음
  • 컴퓨팅 프로필을 볼 수 없음
  • 컴퓨팅 프로필을 수정할 수 없음
  • 컴퓨팅 프로필을 삭제할 수 없음
편집자 역할(datafusion.editor) 주 구성원에게 한 Cloud Data Fusion 인스턴스에 있는 한 네임스페이스의 모든 Cloud Data Fusion 리소스에 대한 전체 액세스 권한을 부여합니다. 인스턴스 접근자 역할에 추가로 이 역할을 주 구성원에게 부여해야 합니다. 주 구성원이 이 역할을 통해 네임스페이스의 리소스를 생성, 삭제, 수정할 수 있습니다.
  • 파이프라인을 볼 수 있음
  • 파이프라인을 만들 수 있음
  • 파이프라인을 배포할 수 있음
  • 파이프라인을 삭제할 수 있음
  • 허브 플러그인을 배포할 수 있음
  • 파이프라인을 실행할 수 있음
  • 일정을 만들 수 있음
  • 일정을 변경할 수 있음
  • 로그를 볼 수 있음
  • 계보를 볼 수 있음
  • 태그를 만들 수 있음
  • 태그를 삭제할 수 있음
  • 파이프라인을 미리 볼 수 있음
  • 컴퓨팅 프로필을 만들 수 있음
  • 컴퓨팅 프로필을 수정할 수 있음
  • 컴퓨팅 프로필을 삭제할 수 있음
  • 이 네임스페이스의 다른 주 구성원에게 권한을 부여하거나 권한을 취소할 수 없음
  • 네임스페이스를 만들 수 없음
  • 네임스페이스를 수정할 수 없음
  • 네임스페이스를 삭제할 수 없음
  • 액세스 권한이 없는 네임스페이스에 액세스할 수 없음
개발자 역할(datafusion.developer) 한 네임스페이스의 주 구성원에게 네임스페이스 내에서 제한된 리소스(예: 파이프라인)를 만들고 수정할 수 있는 액세스 권한을 부여합니다.
  • 파이프라인을 볼 수 있음
  • 파이프라인을 만들 수 있음
  • 파이프라인을 배포할 수 있음
  • 파이프라인을 수정할 수 있음
  • 파이프라인을 삭제할 수 있음
  • 파이프라인을 실행할 수 있음
  • 로그를 볼 수 있음
  • 계보를 볼 수 있음
  • 태그를 만들 수 있음
  • 태그를 삭제할 수 있음
  • 파이프라인을 미리 볼 수 있음
  • 일정을 만들 수 있음
  • 일정을 변경할 수 있음
  • 보안 키를 볼 수 있음
  • 보안 키를 만들 수 있음
  • 보안 키를 삭제할 수 있음
  • 허브 플러그인을 배포할 수 없음
  • 컴퓨팅 프로필을 만들 수 없음
  • 컴퓨팅 프로필을 수정할 수 없음
  • 컴퓨팅 프로필을 삭제할 수 없음
  • 네임스페이스의 다른 주 구성원에게 권한을 부여하거나 권한을 취소할 수 없음
  • 네임스페이스를 만들 수 없음
  • 네임스페이스를 삭제할 수 없음
  • 액세스 권한이 없는 네임스페이스에 액세스할 수 없음
운영자 역할(datafusion.operator) 한 네임스페이스의 주 구성원에게 파이프라인에 액세스하고 파이프라인을 실행하며 컴퓨팅 프로필을 변경하고 컴퓨팅 프로필을 만들거나 아티팩트를 업로드할 수 있는 액세스 권한을 부여합니다. 파이프라인 미리보기를 제외하면 개발자와 동일한 작업을 수행할 수 있습니다.
  • 파이프라인을 실행할 수 있음
  • 파이프라인을 배포할 수 있음
  • 허브 플러그인을 배포할 수 있음
  • 일정을 만들 수 있음
  • 일정을 변경할 수 있음
  • 파이프라인을 볼 수 있음
  • 파이프라인을 실행할 수 있음
  • 로그를 볼 수 있음
  • 태그를 볼 수 있음
  • 태그를 삭제할 수 있음
  • 태그를 만들 수 있음
  • 계보를 볼 수 있음
  • 보안 키를 볼 수 있음
  • 보안 키를 만들 수 있음
  • 보안 키를 삭제할 수 있음
  • 컴퓨팅 프로필을 만들 수 있음
  • 컴퓨팅 프로필을 수정할 수 있음
  • 컴퓨팅 프로필을 삭제할 수 있음
  • 파이프라인을 만들 수 없음
  • 파이프라인을 수정할 수 없음
  • 파이프라인을 미리 볼 수 없음
  • 네임스페이스를 만들 수 없음
  • 네임스페이스를 삭제할 수 없음
뷰어 역할(datafusion.viewer) 한 네임스페이스의 주 구성원에게 파이프라인을 볼 수 있지만 파이프라인을 작성하거나 실행할 수는 없는 액세스 권한을 부여합니다.
  • 파이프라인을 볼 수 있음
  • 로그를 볼 수 있음
  • 계보를 볼 수 있음
  • 태그를 볼 수 있음
  • 보안 키를 볼 수 없음
  • 보안 키를 만들 수 없음
  • 보안 키를 삭제할 수 없음
  • 파이프라인을 배포할 수 없음
  • 허브 플러그인을 배포할 수 없음
  • 파이프라인을 삭제할 수 없음
  • 파이프라인을 실행할 수 없음
  • 네임스페이스를 만들 수 없음
  • 네임스페이스를 수정할 수 없음
  • 네임스페이스를 삭제할 수 없음
  • 컴퓨팅 프로필을 만들 수 없음
  • 컴퓨팅 프로필을 수정할 수 없음
  • 컴퓨팅 프로필을 삭제할 수 없음

보안 권장사항

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

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

다음 단계