서비스 계정 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가지 요소(주 구성원, 역할 정의, 범위)로 이루어집니다.
주 구성원
주 구성원에게 역할을 부여하여 Cloud Data Fusion 리소스에 대한 액세스 권한을 변경합니다.
역할 정의
역할에는 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 정책 분석 도구를 참조하세요.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eCloud Data Fusion's role-based access control (RBAC) enables fine-grained authorization within instances and namespaces, allowing control over who can access resources and what actions they can perform.\u003c/p\u003e\n"],["\u003cp\u003eRBAC facilitates namespace-level isolation within a single Cloud Data Fusion instance, making it suitable for organizations with multiple developers, teams, or business units using the same instance.\u003c/p\u003e\n"],["\u003cp\u003eRBAC allows for assigning various roles, such as Instance Admin, Developer, Viewer, Operator, and Editor, with each role having specific permissions within defined scopes like instances or namespaces.\u003c/p\u003e\n"],["\u003cp\u003eWhile using RBAC, it is recommended to use separate projects and instances for development and production environments to ensure isolation, security, and performance stability.\u003c/p\u003e\n"],["\u003cp\u003eCloud Data Fusion RBAC is available only in the Enterprise edition, and custom roles are not supported, plus there are limitations regarding connection management authorization.\u003c/p\u003e\n"]]],[],null,["# Role-based access control (RBAC) overview\n\nThis page describes fine-grained authorization with role-based access control (RBAC) in Cloud Data Fusion.\n\nEnabling RBAC in your Cloud Data Fusion instances lets you\ncontrol access within instances and namespaces, such as who can access\nCloud Data Fusion resources and what they can do with them.\n\nUse cases for RBAC\n------------------\n\nRBAC provides namespace-level isolation within a single\nCloud Data Fusion instance. It's recommended for the following use cases:\n\n- Helping minimize the number of instances used by your organization.\n- Having multiple developers, teams, or business units use a single Cloud Data Fusion instance.\n\nWith Cloud Data Fusion RBAC, organizations can:\n\n- Allow a user to only run a pipeline within a namespace, but not modify artifacts or runtime compute profiles.\n- Allow a user to only view the pipeline, but not modify or run a pipeline.\n- Allow a user to create, deploy, and run a pipeline.\n\n**Recommended:** Even when you use RBAC, to maintain isolation,\nsecurity, and performance stability, use separate\nprojects and instances for development and production environments.\n\nLimitations\n-----------\n\n- A user can be granted with one or multiple roles at either instance or namespace level.\n- RBAC is only available in the Cloud Data Fusion **Enterprise** edition.\n- Number of namespaces: No hard limit on the number of namespaces per instance.\n- For the maximum number of concurrent users in an RBAC-enabled instance, see [Pricing](/data-fusion/pricing#compare_editions).\n- When using service account OAuth access tokens to access version 6.5 RBAC-enabled instances, the following scopes must be specified, especially the `userinfo.email` scope. Without them, you will encounter permission denied errors.\n - `https://www.googleapis.com/auth/userinfo.email`\n - `https://www.googleapis.com/auth/cloud-platform` or `https://www.googleapis.com/auth/servicecontrol`\n\nRole assignments\n----------------\n\n| **Key Point:** To control who has access to resources with RBAC, you assign [IAM roles](/iam/docs/overview#roles).\n\nA role assignment consists of three elements: principal, role definition, and\nscope.\n\n### Principal\n\nYou grant roles to [principals](/iam/docs/overview#how_cloud_iam_works)\nto change their access to Cloud Data Fusion resources.\n\n### Role definition\n\n\nA role contains a set of permissions that allows you to perform specific actions on\nGoogle Cloud resources.\n\nCloud Data Fusion provides several\n[predefined roles](/iam/docs/understanding-roles#predefined_roles) that you can\nuse.\n\n**Examples:**\n\n- The Instance Admin role (`datafusion.admin`) lets principals create and delete namespaces, and grant permissions.\n- The Developer role (`datafusion.developer`) lets principals create and delete pipelines, deploy pipelines, and run previews.\n\n### Scope\n\nThe scope is the set of resources that the access applies to. When you assign a\nrole, you can further limit the actions allowed by defining a scope, such as an\ninstance or a namespace. This is helpful if you want to assign somebody the\nDeveloper role, but only for one namespace.\n\nSecurity recommendations\n------------------------\n\nAdopting a security model and catering it to your organization's needs and\nrequirements can be challenging. The following recommendations are intended to\nhelp you simplify your journey to adopt Cloud Data Fusion's\nRBAC model:\n\n- **Instance Admin role** should be granted cautiously. This role enables full access to an instance and all its underlying Cloud Data Fusion resources. A principal with this role can grant permissions to others by using the REST API.\n- **Instance Admin role** shouldn't be granted when principals are required to have access to individual namespaces within a Cloud Data Fusion instance. Instead, grant the Instance Accessor role with one of the Viewer/Developer/Operator/Editor roles granted on a subset of the namespaces.\n- **Instance Accessor** role is safe to assign first, as it enables principals' access to instance, but won't grant access to any resources within the instance. This role is typically used along with one of Viewer/Developer/Operator/Editor to give access to one or a subset of the namespaces within an instance.\n- **Viewer role** is recommended to be assigned to users or Google groups who would like to self-serve for understanding the status of running jobs, or viewing pipelines or logs with Cloud Data Fusion instances. For example, consumers of daily reports who would like to know whether processing has been completed.\n- **Developer role** is recommended for ETL developers who are responsible for creating, testing, and managing pipelines.\n- **Operator role** for a namespace is recommended for users who are providing operations administrator or DevOps services. They are able to perform all actions that developers can perform (except for previewing pipelines) and also deploy artifacts and manage compute profiles.\n- **Editor role** for a namespace is a privileged role that gives the user or Google group full access to all resources in the namespace. Editor can be considered the union of the developer and operator roles.\n- **Operators** and **Admins** should be wary of installing untrusted plugins or artifacts as this can present a security risk.\n\nTroubleshooting\n---------------\n\nThis page section shows you how to resolve issues related to RBAC in\nCloud Data Fusion.\n\n### A principal who has the Cloud Data Fusion Viewer role for a namespace in RBAC can edit pipelines\n\nAccess is based on a combination of IAM and RBAC\nroles. IAM roles have precedence over RBAC roles.\nCheck if the principal has\n[Project Editor](/iam/docs/understanding-roles#basic-definitions) or\n[Cloud Data Fusion Admin](/data-fusion/docs/access-control#roles)\nIAM roles.\n\n### A principal who has the Instance Admin role in RBAC can't view Cloud Data Fusion instances in the Google Cloud console\n\nThere is a known issue in Cloud Data Fusion where principals with the\nInstance Admin role cannot view instances in the Google Cloud console. To fix the\nissue, grant either the\n[Project Viewer](/iam/docs/understanding-roles#basic-definitions) or one of the\n[Cloud Data Fusion IAM roles](/data-fusion/docs/access-control#roles) to\nthe principal in addition to making them Admin to an instance. This grants\nViewer access to the principal for all instances in the project.\n\n### Prevent a principal from viewing namespaces where they have no role\n\nTo prevent a principal from viewing namespaces where they have no role, they\nmust not have the\n[Project Viewer](/iam/docs/understanding-roles#basic-definitions) or any of the\n[Cloud Data Fusion IAM roles](/data-fusion/docs/access-control#roles).\nInstead, only grant RBAC roles to the principal in the namespace\nwhere they need to operate.\n\nThe principal with this kind of access won't see the list of Cloud Data Fusion\ninstances in the Google Cloud console. Instead, give them a direct link to the\ninstance, similar to the following:\n`https://`\u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e`-`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.`\u003cvar translate=\"no\"\u003eREGION_NAME\u003c/var\u003e`.datafusion.googleusercontent.com/`\n\nWhen the principal opens the instance, Cloud Data Fusion displays a list of\nnamespaces where the principal is granted RBAC role.\n\n### Grant the Cloud Data Fusion Accessor role to a principal\n\nThe Accessor role is implicitly assigned to a principal when any other\nRBAC role is assigned to them for any Cloud Data Fusion\ninstance. To verify if a principal has that role on a particular instance, see\nthe\n[IAM Policy Analyzer](/policy-intelligence/docs/analyze-iam-policies#policy-analyzer-what-access-console).\n\nWhat's next\n-----------\n\n- Learn how to [use RBAC in Cloud Data Fusion](/data-fusion/docs/how-to/create-role-based-access-control)."]]