Lakehouse for Apache Iceberg의 액세스 제어를 관리하려면 사용자를프로젝트에 추가하고 적절한 역할을 할당해야 합니다. Google Cloud 기본적으로 프로젝트는 원래 생성자에게만 액세스 권한을 부여합니다. 추가 사용자는 프로젝트 구성원으로 추가되거나 특정 리소스에 바인딩될 때까지 리소스에 액세스할 수 없습니다.
IAM이란?
Google Cloud 는 사용자가 특정 Google Cloud 리소스에 대한 세부적인 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있는 Identity and Access Management (IAM)를 제공합니다. IAM을 사용하면 최소 권한의 보안 원칙을 채택하여 *Lakehouse* 내의 리소스에 대해 필요한 액세스 권한만 부여할 수 있습니다.
또한 IAM을 사용하면 IAM 정책을 설정하여 누가 (ID) 어떤 리소스에 무슨(역할) 권한을 갖는지를 제어할 수 있습니다.
IAM 정책은 프로젝트 구성원에게 구체적인 역할을 부여하여 해당 ID에 특정 권한을 줍니다. 예를 들어 프로젝트와 같은 특정 리소스에 대해 roles/biglake.admin 역할을 Google 계정에 할당하면 해당 계정이 프로젝트에 있는 Lakehouse 리소스는 제어할 수 있어도 다른 리소스는 관리할 수 없습니다. 또한 IAM을 사용하여 프로젝트 팀 구성원에게 부여된 기본 역할을 관리할 수 있습니다.
사용자 액세스 제어 옵션
사용자가 Lakehouse 리소스를 만들고 관리할 수 있도록 하려면 사용자를 프로젝트 또는 특정 리소스에 팀 구성원 으로 추가하고 IAM 역할 을 사용하여 권한을 부여합니다.
팀 구성원은 유효한 Google 계정이 있는 개별 사용자, Google 그룹, 서비스 계정 또는 Google Workspace 도메인일 수 있습니다. 팀 구성원을 프로젝트나 리소스에 추가할 때 구성원에게 부여할 역할을 지정합니다. IAM은 세 가지 유형의 역할을 제공합니다. 사전 정의된 역할, 기본 역할 및 커스텀 역할
각 Lakehouse 역할의 기능 목록과 특정 역할에 따라 권한이 부여되는 API 메서드를 보려면 Lakehouse IAM 역할을 참조하세요.
서비스 계정 및 그룹과 같은 다른 구성원 유형의 경우 정책 binding 참조를 확인하세요.
서비스 계정
서비스가 있는 프로젝트에서 작업을 수행하기 위해 Lakehouse API를 호출하면 Lakehouse가 카탈로그별 서비스 에이전트 서비스
계정을 사용하여 작업을 자동으로 수행합니다.
이러한 서비스 계정은 Lakehouse 런타임 카탈로그 에서 사용되며 프로젝트에 roles/biglake.serviceAgent 역할이 부여됩니다.
리소스의 IAM 정책
Lakehouse 서비스와 같이 IAM 정책을 해당 리소스에 직접 연결하여 Lakehouse 리소스에 대해 액세스 권한을 부여할 수 있습니다. IAM 정책을 사용하면 프로젝트 수준에서 역할을 관리하는 대신 이러한 리소스에 대한 IAM 역할을 관리할 수 있습니다. 이렇게 하면 공동작업자가 작업을 수행하는 데 필요한 특정 리소스에만 액세스 권한을 부여하는 최소 권한의 원칙을 유연하게 적용할 수 있습니다.
리소스는 상위 리소스의 정책도 상속합니다. 프로젝트 수준에서 정책을 설정하면 모든 하위 리소스로 정책이 상속됩니다. 리소스에 실제로 적용되는 정책은 해당 리소스에 설정된 정책과 계층 구조의 상위 리소스에서 상속된 정책의 합집합입니다. 자세한 내용은 IAM 정책 계층 구조를 참고하세요.
Google Cloud 콘솔, Identity and Access Management API 또는 Google Cloud CLI를 사용하여 IAM 정책을 가져오고 설정할 수 있습니다.
- 콘솔의 경우 콘솔을 사용한 액세스 제어를 참조하세요. Google Cloud Google Cloud
- API는 API를 통한 액세스 제어를 참조하세요.
- Google Cloud CLI의 경우 Google Cloud CLI를 사용한 액세스 제어 를 참조하세요.
다음 단계
- Lakehouse IAM 역할에 대해 자세히 알아보세요.
- 프로젝트 수준에서 정책 설정 방법 자세히 알아보기