이 문서는 사용자가 Data Catalog를 사용하여 Google Cloud 리소스를 검색하고 태깅할 수 있도록 하는 Identity and Access Management(IAM) 역할에 대해 설명합니다.
IAM 용어
- 권한
- 런타임 시 사용자가 작업을 수행하거나 Google Cloud 리소스에 액세스할 수 있도록 확인합니다. 사용자에게는 권한이 직접 부여되지 않지만 권한이 포함된 역할이 부여됩니다.
- 역할
- 역할이란 사전 정의된 권한의 모음입니다. 권한의 커스텀 컬렉션으로 구성된 커스텀 역할도 허용될 수 있습니다.
Data Catalog 역할 보기
Google Cloud 콘솔에서 다음 단계를 수행합니다.
IAM 및 관리자 > 역할 페이지로 이동합니다.
필터 필드에서 사용 그룹을 선택하고
Data Catalog
또는Data Lineage
를 입력한 다음 입력을 클릭합니다.역할을 클릭하여 오른쪽 창에서 역할 권한을 확인합니다.
예를 들어 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 프로젝트에 추가할 수 있습니다.
Data Catalog 데이터 스튜어드 역할
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
역할을 사용하면 사용자가 태그 템플릿을 만들 수 있습니다.
Data Catalog 검색 관리자 역할
roles/datacatalog.searchAdmin
역할을 통해 사용자는 검색을 통해 프로젝트 또는 조직 내에서 카탈로그로 지정된 모든 Google Cloud 리소스를 검색할 수 있습니다.
Data Catalog 마이그레이션 구성 관리자 역할
roles/datacatalog.migrationConfigAdmin
역할을 통해 사용자는 Data Catalog에서 Dataplex 카탈로그로의 리소스 마이그레이션과 관련된 구성을 설정하고 검색할 수 있습니다.
사전 정의된 데이터 계보 역할
모든 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에서 마이그레이션 구성을 수정하는 역할
사용자가 Data Catalog에서 Dataplex로의 마이그레이션과 관련된 구성을 설정하고 검색하려면 다음 역할이 필요합니다.
리소스 | 권한 | 역할 |
---|---|---|
Google Cloud 프로젝트 및 조직 | datacatalog.migrationConfig.set datacatalog.migrationConfig.get |
roles/datacatalog.migrationConfigAdmin |
Data Catalog의 ID 제휴
ID 제휴를 사용하면 외부 ID 공급업체(IdP)를 통해 IAM으로 Google Cloud 서비스에 대해 사용자를 인증 및 승인할 수 있습니다.
Data Catalog에서는 다음 제한사항이 있는 ID 제휴를 지원합니다.
- Data Catalog API SearchCatalog 및 StarEntry 메서드에서는 워크로드 아이덴티티 제휴만 지원하며 워크로드 아이덴티티 제휴는 제공되지 않습니다.
- Dataplex에서는 ID 제휴 사용자를 위한 Google Cloud 콘솔을 지원하지 않습니다.