Data Catalog IAM

이 문서는 사용자가 Data Catalog를 사용하여 Google Cloud 리소스를 검색하고 태깅할 수 있도록 하는 Identity and Access Management(IAM) 역할에 대해 설명합니다.

IAM 용어

권한
런타임 시 사용자가 작업을 수행하거나 Google Cloud 리소스에 액세스할 수 있도록 확인합니다. 사용자에게는 권한이 직접 부여되지 않지만 권한이 포함된 역할이 부여됩니다.
역할
역할이란 사전 정의된 권한의 모음입니다. 권한의 커스텀 컬렉션으로 구성된 커스텀 역할도 허용될 수 있습니다.

Data Catalog 역할 보기

Google Cloud 콘솔에서 다음 단계를 수행합니다.

  1. IAM 및 관리자 > 역할 페이지로 이동합니다.

    역할로 이동

  2. 필터 필드에서 사용 그룹을 선택하고 Data Catalog 또는 Data Lineage를 입력한 다음 입력을 클릭합니다.

  3. 역할을 클릭하여 오른쪽 창에서 역할 권한을 확인합니다.

    예를 들어 Data Catalog 관리자 역할에는 모든 Data Catalog 리소스에 대한 전체 액세스 권한이 있습니다.

사전 정의된 Data Catalog 역할

일부 사전 정의된 Data Catalog 역할에는 Data Catalog 관리자, Data Catalog 뷰어, Data Catalog TagTemplate 생성자가 포함됩니다. 다음 섹션에서 이러한 역할 중 일부에 대해 설명합니다.

Data Catalog의 사전 정의된 역할과 각 역할과 관련된 권한의 목록과 설명은 Data Catalog 역할을 참조하세요.

Data Catalog 관리자 역할

roles/datacatalog.admin 역할은 모든 Data Catalog 리소스에 대한 액세스 권한을 갖습니다. Data Catalog 관리자는 여러 유형의 사용자를 Data Catalog 프로젝트에 추가할 수 있습니다.

DataCatalog 데이터 스튜어드 역할

roles/datacatalog.dataSteward 역할이 있으면 데이터 스튜어드와 BigQuery 테이블과 같은 데이터 항목에 대한 서식 있는 텍스트 개요를 추가, 수정, 삭제할 수 있습니다.

Data Catalog 뷰어 역할

Google Cloud 리소스에 대한 액세스 권한 확보를 단순화하기 위해 Data Catalog는 카탈로그로 지정된 모든 Google Cloud 리소스에 대해 메타데이터 읽기 권한이 있는 roles/datacatalog.viewer 역할을 제공합니다.

또한 이 역할은 Data Catalog 태그 템플릿 및 태그를 볼 수 있는 권한을 부여합니다.

사용자가 Data Catalog에서 Google Cloud 리소스를 볼 수 있도록 프로젝트에 Data Catalog 뷰어 역할을 부여합니다.

Data Catalog TagTemplate 생성자 역할

roles/datacatalog.tagTemplateCreator 역할을 사용하면 사용자가 태그 템플릿을 만들 수 있습니다.

DataCatalog 검색 관리자 역할

roles/datacatalog.searchAdmin 역할을 통해 사용자는 검색을 통해 프로젝트 또는 조직 내에서 카탈로그로 지정된 모든 Google Cloud 리소스를 검색할 수 있습니다.

사전 정의된 데이터 계보 역할

모든 Data Catalog 항목의 계보 그래프에 액세스하려면 사용자가 Data Catalog의 항목에 액세스해야 합니다. Data Catalog 항목에 액세스하려면 사용자에게 해당 시스템 리소스 또는 Data Catalog 항목이 저장된 프로젝트의 Data Catalog 뷰어(roles/datacatalog.viewer)에 대한 뷰어 역할이 필요합니다. 이 섹션에서는 계보 그래프를 보고 조작하는 데 필요한 역할을 설명합니다.

계보 뷰어 역할

데이터 계보 뷰어(roles/datalineage.viewer) 역할을 통해 사용자는 Google Cloud 콘솔에서 Dataplex 계보 그래프를 보고 Data Lineage API를 사용하여 계보 정보를 읽을 수 있습니다. 지정된 프로세스의 실행 및 이벤트는 모두 프로세스와 동일한 프로젝트에 저장됩니다. 자동 계보의 경우 프로세스, 실행, 이벤트가 계보를 생성한 작업이 실행되는 프로젝트에 저장됩니다. 예를 들어 BigQuery 작업이 실행 중인 프로젝트일 수 있습니다.

그래프에서 애셋 간의 계보와 그래프의 애셋 메타데이터를 보려면 다른 역할이 필요합니다. 전자의 경우 데이터 계보 뷰어(roles/datalineage.viewer)가 필요합니다. 후자의 경우 Data Catalog에서 메타데이터 항목에 액세스하는 데 사용되는 것과 동일한 역할이 필요합니다. 다음 두 하위 섹션에서 더 자세히 다룹니다.

두 애셋 간의 계보를 볼 수 있는 역할

계보 그래프의 애셋 계보를 보려면 사용자에게 다음 프로젝트에 대한 데이터 계보 뷰어(roles/datalineage.viewer)가 필요합니다.

  • 사용자가 계보를 보는 프로젝트(활성 프로젝트라고 함). Google Cloud 콘솔 상단의 드롭다운에 있는 프로젝트 또는 API 호출이 수행된 프로젝트입니다. 이것은 일반적으로 Data Catalog 리소스 프로젝트입니다.
  • 계보가 기록되는 프로젝트(컴퓨팅 프로젝트라고 함). 계보는 위에 설명된 대로 해당 프로세스가 실행된 프로젝트에 저장됩니다. 이 프로젝트는 사용자가 계보를 보는 애셋을 저장하는 프로젝트와 다를 수 있습니다.

역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요. 커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

사용 사례에 따라 사용자가 전체 계보 그래프에 액세스할 수 있도록 폴더 또는 조직 수준에서 데이터 계보 뷰어(roles/datalineage.viewer)를 부여해야 할 수 있습니다(단일 역할 부여 또는 취소 참조). 데이터 계보에 필요한 역할은 Google Cloud CLI를 통해서만 부여될 수 있습니다.

계보 그래프에서 애셋 메타데이터를 보는 역할

그래프의 애셋에 대한 메타데이터가 Data Catalog에 저장되면 사용자는 해당 시스템 리소스 또는 Data Catalog 항목이 저장된 프로젝트의 Data Catalog 뷰어(roles/datacatalog.viewer)에 대한 뷰어 역할이 있는 경우에만 메타데이터 뷰를 가져올 수 있습니다. 그래프의 애셋 메타데이터에 대한 액세스는 계보에 대한 액세스와 무관합니다. 사용자가 적절한 뷰어 역할을 통해 그래프의 애셋에 액세스할 수 있지만, 해당 역할 간의 계보에는 액세스할 수 없습니다. 이는 계보가 기록된 프로젝트에 데이터 계보 뷰어(roles/datalineage.viewer)가 없는 경우입니다. 이 경우 Data Lineage API 및 UI는 계보를 표시하지 않으며 오류를 반환하지 않으므로 계보의 존재 여부에 대한 정보가 유출되지 않습니다. 따라서 애셋의 계보가 없다고 해서 해당 애셋에 계보가 없는 것은 아닙니다. 사용자가 해당 계보에 액세스하지 못할 수 있습니다.

데이터 계보 이벤트 제작자 역할

roles/datalineage.producer 역할이 있는 사용자는 데이터 계보 API를 사용하여 계보 정보를 수동으로 기록할 수 있습니다.

데이터 계보 편집자 역할

roles/datalineage.editor 역할이 있는 사용자는 데이터 계보 API를 사용하여 계보 정보를 수동으로 수정할 수 있습니다.

데이터 계보 관리자 역할

roles/datalineage.admin 역할이 있는 사용자는 이 섹션에 나열된 모든 계보 작업을 수행할 수 있습니다.

공개 및 비공개 태그를 볼 수 있는 역할

간단한 검색을 통해 공개 태그를 검색할 수 있습니다. 데이터 항목을 보는 데 필요한 권한이 있는 한 공개 태그를 포함한 데이터 항목을 볼 수 있습니다. 태그 템플릿에 대한 추가 권한은 필요 없습니다. 데이터 항목을 보는 데 필요한 권한은 이 섹션의 표를 참조하세요.

하지만 이러한 공개 태그를 검색할 것으로 예상되는 사용자에게 datacatalog.tagTemplates.get 권한도 부여하는 것이 좋습니다. 이 권한이 있으면 사용자는 검색 조건자 tag:를 사용하거나 Data Catalog 검색 페이지에서 태그 템플릿 검색 속성을 사용할 수 있습니다.

비공개 태그의 경우 태그를 검색하고 항목 세부정보 페이지에서 태그를 보려면 태그 템플릿과 데이터 항목 모두에 대한 보기 권한이 필요합니다. 사용자는 tag: 검색 조건자 또는 태그 템플릿 검색 속성을 사용하여 태그를 찾아야 합니다. 비공개 태그의 간단한 검색은 지원되지 않습니다.

참고:

  • 비공개 태그 템플릿에 필요한 보기 권한은 datacatalog.tagTemplates.getTag입니다.

  • 다음 표에는 공개 태그와 비공개 태그 모두에 대한 데이터 항목의 보기 권한이 나와 있습니다.

리소스 권한 역할
BigQuery 데이터 세트, 테이블, 모델, 루틴, 연결 bigquery.datasets.get
bigquery.tables.get
bigquery.models.getMetadata
bigquery.routines.get
bigquery.connections.get
roles/datacatalog.tagTemplateViewer
roles/bigquery.metadataViewer
roles/bigquery.connectionUser
Pub/Sub 주제 pubsub.topics.get roles/datacatalog.tagTemplateViewer
roles/pubsub.viewer
Spanner 인스턴스, 데이터베이스, 테이블, 뷰 Instance: spanner.instances.get
Database:spanner.databases.get
Table: spanner.databases.get
Views: spanner.databases.get
datacatalog.tagTemplates.getTag
사전 정의된 역할은 사용할 수 없습니다.
Bigtable 인스턴스 및 테이블 bigtable.instances.get
bigtable.tables.get
datacatalog.tagTemplates.getTag
roles/datacatalog.tagTemplateViewer
roles/bigtable.viewer
Dataproc Metastore 서비스, 데이터베이스, 테이블 metastore.tables.get
metastore.databases.get
metastore.services.get
roles/datacatalog.tagTemplateViewer
roles/metastore.metadataViewer
커스텀 항목 datacatalog.entries.get 사전 정의된 역할은 사용할 수 없습니다.

Google Cloud 리소스 검색 역할

Google Cloud 리소스를 검색, 탐색, 표시하기 전에 Data Catalog는 BigQuery, Pub/Sub, Dataproc Metastore 또는 리소스를 액세스하는 다른 소스 시스템에서 필요한 메타데이터 읽기 권한이 있는 IAM 역할이 사용자에게 부여되었는지 확인합니다.

예: Data Catalog는 BigQuery 테이블 메타데이터를 표시하기 전에 사용자가 bigquery.tables.get permission이 있는 역할을 부여받았는지 확인합니다.

다음 표에서는 사용자가 Data Catalog를 사용해서 나열된 Google Cloud 리소스를 검색하는 데 필요한 권한 및 연결된 역할을 보여줍니다.

리소스 권한 역할
BigQuery 데이터 세트, 테이블, 모델, 루틴, 연결 bigquery.datasets.get
bigquery.tables.get
bigquery.models.getMetadata
bigquery.routines.get
bigquery.connections.get
roles/bigquery.metadataViewer
roles/bigquery.connectionUser
Data Catalog 뷰어 역할도 참조하세요.
Pub/Sub 주제 pubsub.topics.get roles/pubsub.viewer
Data Catalog 뷰어 역할도 참조하세요.
Spanner 데이터베이스 및 테이블 인스턴스: spanner.instances.get
데이터베이스: spanner.databases.get
뷰: spanner.databases.get
사전 정의된 역할은 사용할 수 없습니다.
Bigtable 인스턴스 및 테이블 bigtable.instances.get
bigtable.tables.get
roles/bigtable.viewer
Data Catalog 뷰어 역할도 참조하세요.
Dataplex 레이크, 영역, 테이블, 파일 세트 dataplex.lakes.get
dataplex.zones.get
dataplex.entities.get
dataplex.entities.get
사전 정의된 역할은 사용할 수 없습니다.
Dataproc Metastore 서비스, 데이터베이스, 테이블 metastore.tables.get
metastore.databases.get
metastore.services.get
roles/metastore.metadataViewer

Google Cloud 리소스에 태그를 연결하는 역할

공개 태그와 비공개 태그를 Google Cloud 리소스에 연결하려면 동일한 권한이 필요합니다.

Data Catalog는 사용자가 태그를 연결하여 Google Cloud 리소스의 메타데이터를 확장할 수 있도록 합니다. 리소스에 첨부할 수 있는 하나 이상의 태그는 태그 템플릿에 정의되어 있습니다.

사용자가 태그 템플릿을 사용하여 태그를 Google Cloud 리소스에 첨부하려고 하면 Data Catalog는 사용자에게 태그 템플릿을 사용하고 리소스 메타 데이터를 업데이트하는 데 필요한 권한이 있는지 확인합니다. 권한은 다음 표에 표시된 대로 IAM 역할을 통해 부여됩니다.

다음 표에는 Data Catalog를 사용하여 공개 및 비공개 태그 모두를 나열된 Google Cloud 리소스에 연결하는 데 필요한 권한과 관련 역할이 나와 있습니다.

다음 표의 각 행에는 리소스에 태그를 지정하는 데 필요한 권한이 있습니다. 해당 역할이 추가 권한을 부여할 수 있습니다. 각 역할을 클릭하면 역할에 연결된 모든 권한을 확인할 수 있습니다.

참고:

  • 데이터 항목의 소유자는 기본적으로 datacatalog.entries.updateTag 권한을 가집니다. 다른 모든 사용자에게는 datacatalog.tagEditor 역할을 부여해야 합니다.

  • 테이블에 나열된 모든 리소스에도 datacatalog.tagTemplates.use 권한이 필요합니다.

리소스 권한 역할
BigQuery 데이터 세트, 테이블,
모델, 루틴,
연결
bigquery.datasets.updateTag
bigquery.tables.updateTag
bigquery.models.updateTag
bigquery.routines.updateTag
bigquery.connections.updateTag
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/bigquery.dataEditor
Pub/Sub 주제 pubsub.topics.updateTag roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/pubsub.editor
Spanner 데이터베이스 및 테이블 인스턴스: spanner.instances.UpdateTag
데이터베이스: spanner.databases.UpdateTag
테이블: spanner.databases.UpdateTag
뷰:spanner.databases.UpdateTag
사전 정의된 역할은 사용할 수 없습니다.
Bigtable 인스턴스 및 테이블 bigtable.instances.update
bigtable.tables.update
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/bigtable.admin
Dataplex 레이크, 영역, 테이블, 파일 세트 dataplex.lakes.update
dataplex.zones.update
dataplex.entities.update
dataplex.entities.update
사전 정의된 역할은 사용할 수 없습니다.
Dataproc Metastore 서비스, 데이터베이스, 테이블 metastore.tables.update
metastore.databases.update
metastore.services.update
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/metastore.editor
roles/metastore.metadataEditor

Google Cloud 리소스의 커스텀 역할

다른 Google Cloud 시스템의 데이터 항목에 대한 사전 정의된 편집자 역할이 필요한 것보다 더 넓은 쓰기 액세스를 제공할 수 있습니다. Google Cloud 리소스에 대해서만 *.updateTag 권한을 지정하려면 커스텀 역할을 사용합니다.

Data Catalog에서 서식 있는 텍스트 개요 및 데이터 스튜어드를 수정하는 역할

서식 있는 텍스트 개요를 연결하고 Data Catalog의 항목에 데이터 스튜어드를 할당하려면 다음 역할이 필요합니다.

리소스 권한 역할
Google Cloud 프로젝트 datacatalog.entries.updateOverview
datacatalog.entries.updateContacts
roles/datacatalog.dataSteward

Data Catalog의 ID 제휴

ID 제휴를 사용하면 외부 ID 공급업체(IdP)를 통해 IAM으로 Google Cloud 서비스에 대해 사용자를 인증 및 승인할 수 있습니다.

Data Catalog에서는 다음 제한사항이 있는 ID 제휴를 지원합니다.

추가 정보