このドキュメントでは、ユーザーが Data Catalog を使用して Google Cloud リソースを検索してタグ付けできるようにする Identity and Access Management(IAM)のロールについて説明します。
IAM の用語
- 権限
- 実行時にチェックされて、ユーザーによる操作や Google Cloud リソースへのアクセスが許可されます。ユーザーには権限を直接付与するのではなく、権限を含むロールが付与されます。
- ロール
- ロールは、事前定義された権限のコレクションです。権限のカスタム コレクションで構成されるカスタムロールも許可される場合があります。
Data Catalog のロールを表示する
Cloud Console で次の手順を行います。
[IAM と管理] > [ロール] ページに移動します。
[フィルタ] フィールドで [使用先] を選択し、「
Data Catalog
」と入力して Enter キーを押します。リストされたロールのいずれかをクリックして、右側のペインにロールの権限を表示します。
たとえば、Data Catalog の管理者ロールには、すべての Data Catalog リソースへの完全アクセス権が付与されます。
事前定義された Data Catalog のロール
事前定義された Data Catalog のロールには、Data Catalog 管理者、Data Catalog 閲覧者、Data Catalog タグ テンプレート作成者が含まれます。これらのロールの一部については、以降のセクションで説明します。
Data Catalog の事前定義されたロールのリストと説明、および各ロールに関連付けられている権限については、Data Catalog のロールをご覧ください。
管理者のロール
roles/datacatalog.admin
のロールは、すべての Data Catalog リソースにアクセスできます。Data Catalog 管理者は、さまざまなタイプのユーザーを Data Catalog プロジェクトに追加できます。
データ スチュワードのロール
roles/datacatalog.dataSteward
ロールを使用すると、BigQuery テーブルなどのデータエントリのデータ スチュワードとリッチテキストの概要を追加、編集、削除できます。
閲覧者のロール
Google Cloud リソースへのアクセスを簡単に取得できるよう、Data Catalog には、カタログ化されたすべての Google Cloud リソースのメタデータ読み取り権限が付与された roles/datacatalog.viewer
ロールが用意されています。
このロールは、Data Catalog のタグ テンプレートとタグを表示する権限も付与します。
プロジェクトに Data Catalog 閲覧者のロールを付与して、ユーザーが Data Catalog に Google Cloud リソースを表示できるようにします。
タグ テンプレート作成者のロール
roles/datacatalog.tagTemplateCreator
ロールを使用すると、ユーザーはタグ テンプレートを作成できます。
公開タグと非公開タグを表示するロール
公開タグは、シンプルな検索を使用して検索できます。データエントリを表示するために必要な権限があれば、データエントリ(公開タグを含む)を表示できます。タグ テンプレートに追加の権限は必要ありません。データエントリを表示するために必要な権限については、このセクションの表をご覧ください。
ただし、これらの公開タグを検索するユーザーにも、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 |
(公開プレビュー)Dataproc Metastore のサービス、データベース、テーブル | metastore.tables.get metastore.databases.get metastore.services.get |
使用できる事前定義ロールはありません。 |
カスタム エントリ | 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 閲覧者のロールもご覧ください |
Dataplex レイク、ゾーン、テーブル、ファイルセット | dataplex.lakes.get dataplex.zones.get dataplex.entities.get dataplex.entities.get |
使用できる事前定義ロールはありません。 |
(公開プレビュー)Dataproc Metastore のサービス、データベース、テーブル | metastore.tables.get metastore.databases.get metastore.services.get |
使用できる事前定義ロールはありません。 |
Google Cloud リソースにタグを添付するロール
公開タグと非公開タグを Google Cloud リソースに添付するには、同じ権限が必要です。
Data Catalog を使用すると、ユーザーはタグを添付して、Google Cloud リソースのメタデータを拡張できます。リソースに添付できる 1 つ以上のタグは、タグ テンプレートで定義されています。
ユーザーがタグ テンプレートを使用してタグを Google Cloud リソースに添付しようとすると、Data Catalog は、ユーザーにタグ テンプレートを使用するために必要な権限とリソース メタデータを更新するために必要な権限が付与されていることを確認します。次の表に示すように、権限は IAM ロールを介して付与されます。
次の表に、ユーザーが Data Catalog を使用して、リストされた Google Cloud リソースに公開タグと非公開タグの両方を追加するために必要な権限と関連するロールを示します。
次の表の各行には、リソースにタグを付けるために必要な権限のみが列挙されています。対応するロールは、追加の権限を付与する場合があります。各ロールをクリックして、関連付けられているすべての権限を表示します。
データエントリのオーナーはデフォルトで datacatalog.entries.updateTag
権限を持っています。それ以外のすべてのユーザーには datacatalog.tagEditor のロールを付与する必要があります。
リソース | 権限 | ロール |
---|---|---|
BigQuery のデータセット、テーブル、モデル、ルーティン、接続 | datacatalog.tagTemplates.use AND 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 トピック | datacatalog.tagTemplates.use pubsub.topics.updateTag |
roles/datacatalog.tagTemplateUser roles/datacatalog.tagEditor roles/pubsub.editor |
Dataplex レイク、ゾーン、テーブル、ファイルセット | datacatalog.tagTemplates.use dataplex.lakes.update dataplex.zones.update dataplex.entities.update dataplex.entities.update |
使用できる事前定義ロールはありません。 |
(公開プレビュー)Dataproc Metastore のサービス、データベース、テーブル | datacatalog.tagTemplates.use metastore.tables.update metastore.databases.update metastore.services.update |
使用できる事前定義ロールはありません。 |
Google Cloud リソースのカスタムロール
他の Google Cloud システムからのデータエントリに対する事前定義された編集者ロールでは、必要以上の書き込みアクセスが提供される場合があります。カスタムロールを使用して、Google Cloud リソースに対してのみ *.updateTag
権限を指定します。