기본적으로 모든 Google Cloud 프로젝트에는 원래 프로젝트 생성자인 단일 사용자가 존재합니다. 그 외 다른 사용자에게는 프로젝트에 대한 액세스 권한이 없으므로 사용자를 프로젝트 구성원으로 추가할 때까지는 Dataproc Metastore 리소스에 대한 액세스가 특정 리소스로 제한됩니다.
이 페이지에서는 프로젝트에 새 사용자를 추가하는 다양한 방법과 Dataproc Metastore 리소스에 대한 액세스 제어를 설정하는 방법을 설명합니다.
IAM이란?
Google Cloud에서는 Identity and Access Management(IAM)를 제공하므로 구체적인 Google Cloud 리소스에 더욱 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. IAM은 최소 권한의 보안 원칙을 채택하여 리소스에 대해 필요한 액세스 권한만 부여할 수 있게 해줍니다.
또한 IAM을 사용하면 IAM 정책을 설정하여 누구(ID)에게 어떤 리소스에 대한 무슨(역할) 권한을 부여할지 제어할 수 있습니다. IAM 정책은 프로젝트 구성원에게 구체적인 역할을 부여하여 해당 ID에 특정 권한을 줍니다. 예를 들어 프로젝트와 같은 특정 리소스에 대해 roles/metastore.admin 역할을 Google 계정에 할당하면 해당 계정이 프로젝트에 있는 Dataproc Metastore 리소스는 제어할 수 있어도 다른 리소스는 관리할 수 없습니다. 또한 IAM을 사용하여 프로젝트 팀 구성원에게 부여된 기본 역할을 관리할 수 있습니다.
사용자 액세스 제어 옵션
Dataproc Metastore 리소스를 만들고 관리할 수 있는 권한을 사용자에게 부여하려면 사용자를 프로젝트 또는 특정 리소스에 팀 구성원으로 추가하고 IAM 역할을 사용하여 권한을 부여합니다.
팀 구성원은 유효한 Google 계정이 있는 개별 사용자, Google 그룹, 서비스 계정 또는 Google Workspace 도메인일 수 있습니다. 팀 구성원을 프로젝트나 리소스에 추가할 때 구성원에게 부여할 역할을 지정합니다.
IAM은 세 가지 유형의 역할, 즉 사전 정의된 역할, 기본 역할, 커스텀 역할을 제공합니다.
Dataproc Metastore 서비스와 같이 IAM 정책을 해당 리소스에 직접 연결하여 Dataproc Metastore 리소스에 대해 액세스 권한을 부여할 수 있습니다. IAM 정책을 사용하면 프로젝트 수준에서 역할을 관리하는 대신 이러한 리소스에 대한 IAM 역할을 관리할 수 있습니다. 이렇게 하면 공동작업자에게 작업에 필요한 특정 리소스에 대해서만 액세스 권한을 부여하는 최소 권한의 원칙을 유연하게 적용할 수 있습니다.
리소스는 상위 리소스의 정책도 상속합니다. 프로젝트 수준에서 정책을 설정하면 모든 하위 리소스로 정책이 상속됩니다. 리소스에 실제로 적용되는 정책은 해당 리소스에 설정된 정책과 계층 구조의 상위 리소스에서 상속된 정책의 합집합입니다. 자세한 내용은 IAM 정책 계층 구조를 참조하세요.
Google Cloud Console, IAM API 또는 Google Cloud CLI를 사용하여 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"]],["최종 업데이트: 2024-12-21(UTC)"],[[["\u003cp\u003eBy default, only the original project creator has access to a new Google Cloud project and its Dataproc Metastore resources.\u003c/p\u003e\n"],["\u003cp\u003eIdentity and Access Management (IAM) allows for granular control over who can access Google Cloud resources, adhering to the principle of least privilege.\u003c/p\u003e\n"],["\u003cp\u003eUsers can be added as team members to a project or specific resources, and they can be granted permissions via predefined, basic, or custom IAM roles.\u003c/p\u003e\n"],["\u003cp\u003eIAM policies can be applied at the project level or directly to individual Dataproc Metastore resources, with resources inheriting policies from their parent resources.\u003c/p\u003e\n"],["\u003cp\u003eDataproc Metastore utilizes a service agent service account to perform actions on behalf of the user, requiring appropriate permissions, like the \u003ccode\u003estorage.objectAdmin\u003c/code\u003e role for Hive metastore warehouse directories.\u003c/p\u003e\n"]]],[],null,["# Dataproc Metastore: Access control with IAM\n\nBy default, all Google Cloud projects come with a single user, the\noriginal project creator. No other users have access to the project, and\ntherefore, access to Dataproc Metastore resources, until a user\nis added as a project member or is bound to a specific resource.\n\nThis page explains the ways you can add new users to your project and how to\nset access control for your Dataproc Metastore resources.\n\nWhat is IAM?\n------------\n\nGoogle Cloud offers [Identity and Access Management (IAM)](/iam), which lets you\ngive more granular access to specific Google Cloud resources and prevents\nunwanted access to other resources. IAM lets you adopt the\n[security principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege),\nso you grant only the necessary access to your resources.\n\nIAM also lets you control who (identity) has what (roles)\npermission to which resources by setting IAM policies. IAM\npolicies grant specific roles to a project member, giving the identity certain\npermissions. For example, for a given resource, such as a project, you can\nassign the `roles/metastore.admin` role to a Google Account and that account can\ncontrol Dataproc Metastore resources in the project, but cannot\nmanage other resources. You can also use IAM to manage the basic\nroles granted to project team members.\n\nAccess control options for users\n--------------------------------\n\nTo give users the ability to create and manage your Dataproc Metastore\nresources, you can add users as *team members* to your project or to specific\nresources and grant them permissions using IAM *roles*.\n\nA team member can be an individual user with a valid Google Account, a Google\nGroup, a service account, or a Google Workspace domain. When you add a team\nmember to a project or to a resource, you specify which roles to grant them.\nIAM provides three types of roles: [predefined roles](/iam/docs/overview#roles),\n[basic roles](/iam/docs/overview#roles), and [custom roles](/iam/docs/understanding-custom-roles).\n\nTo see a list of capabilities of each Dataproc Metastore role\nand API methods that a specific role grants permission to, review\n[Dataproc Metastore IAM roles](/dataproc-metastore/docs/iam-roles).\n\nFor other member types, such as service accounts and groups, refer to the [Policy\nbinding reference](/iam/docs/reference/rest/v1/Policy#binding).\n\nService accounts\n----------------\n\nWhen you call Dataproc Metastore APIs to perform actions in a project\nwhere your service is located, Dataproc Metastore performs these\nactions on your behalf by using a Service Agent service account that has the permissions required\nto perform the actions.\n\nThe following service accounts have the permissions\nrequired to perform Dataproc Metastore actions in the project where\nyour service is located:\n\n- `service-`\u003cvar translate=\"no\"\u003eCUSTOMER_PROJECT_NUMBER\u003c/var\u003e`@gcp-sa-metastore.iam.gserviceaccount.com`.\n\n | **Note:** You may need to grant [`storage.objectAdmin`](/storage/docs/access-control/iam-roles) role to this service account for your Dataproc Metastore service to have access to its Hive metastore warehouse directory, if a non-default warehouse directory is provided. For more information, see [Hive Metastore](/dataproc-metastore/docs/hive-metastore).\n\nIAM policies for resources\n--------------------------\n\nYou can grant access to Dataproc Metastore resources by\nattaching IAM policies directly to those resources, such as a\nDataproc Metastore service. An IAM\npolicy lets you manage IAM roles on those resources\ninstead of, or in addition to, managing roles at the project level. This gives\nyou flexibility to apply the principle of least privilege, which is to grant\naccess only to the specific resources that collaborators need to do their work.\n\nResources also inherit the policies of their parent resources. If you set a\npolicy at the project level, it's inherited by all its child resources. The\neffective policy for a resource is the union of the policy set at that resource\nand the policy inherited from higher up in the hierarchy. For more information,\nread about the [IAM policy hierarchy](/iam/docs/overview#policy_hierarchy).\n\nYou can get and set IAM policies using the Google Cloud console, the\nIAM API, or the Google Cloud CLI.\n\n- For the Google Cloud console, see [Access control via the Google Cloud console](/iam/docs/grant-role-console).\n- For the API, see [Access control via the API](/iam/docs/reference/rest).\n- For the Google Cloud CLI, see [Access control via the Google Cloud CLI](/sdk/gcloud/reference/iam).\n\nWhat's next\n-----------\n\n- Learn how to grant [fine-grained access to metadata when using gRPC](/dataproc-metastore/docs/grpc-endpoints)\n- Learn more about [IAM roles](/dataproc-metastore/docs/iam-roles).\n- Learn more about [IAM permissions](/dataproc-metastore/docs/iam-permissions).\n- Learn how to set [policies at a project level](/iam/docs/managing-policies)."]]