このドキュメントでは、Knowledge Catalog リソースの Identity and Access Management(IAM)権限について説明します。これらの権限を使用して、カスタムロールを作成するか、メタデータ管理、データスキャン、レイク オペレーション、タスク、環境に必要なきめ細かいアクセス権を確認します。
権限とロール
ユーザーに権限を直接付与する代わりに、ロールを割り当てます。ロールには、1 つ以上の権限が組み込まれています。このアプローチは最小権限の原則に沿ったものであり、ユーザーまたはサービス アカウントがタスクを実行するために必要なアクセス権のみを付与することが推奨されます。
IAM には、一般的なユースケース向けの事前定義ロールが用意されています。これらの事前定義ロールが特定のニーズを満たしていない場合は、必要な特定の権限のみを含む独自のカスタムロールを作成できます。
事前定義された Knowledge Catalog ロールとそのロールに組み込まれた権限の詳細については、Knowledge Catalog IAM ロールをご覧ください。
IAM とその機能の詳細については、 IAM のドキュメントをご覧ください。
IAM ポリシーの設定と取得の権限
次の表に、IAM 権限の取得と設定に必要な権限を示します。
| リソース | API メソッド | IAM 権限 |
|---|---|---|
| アスペクト タイプ | GetIamPolicy |
dataplex.aspectTypes.getIamPolicy |
| アスペクト タイプ | SetIamPolicy |
dataplex.aspectTypes.setIamPolicy |
| エントリ グループ | GetIamPolicy |
dataplex.entryGroups.getIamPolicy |
| エントリ グループ | SetIamPolicy |
dataplex.entryGroups.setIamPolicy |
| エントリタイプ | GetIamPolicy |
dataplex.entryTypes.getIamPolicy |
| エントリタイプ | SetIamPolicy |
dataplex.entryTypes.setIamPolicy |
| レイク | GetIamPolicy |
dataplex.lakes.getIamPolicy |
| レイク | SetIamPolicy |
dataplex.lakes.setIamPolicy |
メタデータ管理の権限
エントリタイプ、エントリリンク タイプ、アスペクト タイプ、エントリ グループ、エントリ、エントリリンクに対してオペレーションを実行するために必要な権限のセットは、リソースがシステム リソースかカスタム リソースかによって異なります。システム リソースは Knowledge Catalog によって定義され、カスタム リソースはユーザーまたは組織によって定義されます。
エントリとエントリリンクに追加情報を付加するには、アスペクトをアタッチします。
複数のリソースに関連するオペレーション(特定のエントリタイプのエントリの作成、特定のアスペクト タイプのアスペクトのエントリまたはエントリリンクへの追加など)を実行するには、リソースに関連付けられた複数の権限が必要になる場合があります。
エントリタイプ
エントリタイプを作成して管理するには、少なくとも標準の create、get、list、update、delete の権限が付与されている必要があります。
エントリタイプを作成するときに、そのエントリタイプに必須とされるアスペクト タイプをそれぞれ使用する権限が付与されている必要があります。
エントリタイプを使用するには(エントリタイプのエントリを作成するなど)、エントリタイプに対する use 権限が付与されている必要があります。
次の表では、エントリタイプに対する操作に必要な権限を示します。
| オペレーション | IAM 権限 |
|---|---|
Create entry types |
|
Delete entry types |
|
Get entry types |
dataplex.entryTypes.get |
List entry types |
dataplex.entryTypes.list |
Update entry types |
|
|
エントリタイプを使用する (エントリを作成する、最上位エントリ フィールドと必須アスペクト タイプの値を更新するとき) |
|
アスペクト タイプ
アスペクト タイプを作成して管理するには、標準の create、get、list、update、delete 権限が付与されている必要があります。
アスペクト タイプを使用する(エントリにオプションのアスペクトとしてアタッチする、エントリリンクの必須アスペクトを更新するなど)には、アスペクト タイプに対する use 権限が付与されている必要があります。
アスペクト タイプは、システム アスペクト タイプとカスタム アスペクト タイプに分類されます。システム アスペクト タイプは Knowledge Catalog によって作成され、カスタム アスペクト タイプはユーザーまたは組織によって作成されます。システム アスペクト タイプは、使用可能と読み取り専用にさらに分類されます。詳細については、アスペクト タイプのカテゴリをご覧ください。
次のテーブルでは、カスタム アスペクト タイプとシステム アスペクト タイプの操作に必要な権限を示します。
| オペレーション | カスタム アスペクト タイプに必要な権限 | 使用可能なシステム アスペクト タイプに必要な権限 | 読み取り専用システム アスペクト タイプに必要な権限 |
|---|---|---|---|
Create aspect types |
dataplex.aspectTypes.create |
該当なし | 該当なし |
Delete aspect types |
dataplex.aspectTypes.delete |
該当なし | 該当なし |
Get aspect types |
dataplex.aspectTypes.get |
allUsers に付与 |
allUsers に付与 |
List aspect types |
dataplex.aspectTypes.list |
該当なし | 該当なし |
| エントリの作成または更新時に、オプションのアスペクト タイプの値を設定する |
|
|
該当なし |
| エントリの作成または更新時に必須アスペクト タイプの値を設定する |
|
|
該当なし |
Update aspect types |
dataplex.aspectTypes.update |
なし | なし |
| エントリリンクの作成または更新時に必須アスペクト タイプの値を設定する | なし |
|
なし |
エントリ グループ
エントリ グループを作成して管理するには、標準の create、get、list、update、delete 権限が付与されている必要があります。
エントリ グループは、Knowledge Catalog によって作成されるシステム エントリ グループと、ユーザーまたは組織によって作成されるカスタム エントリ グループに分類されます。詳細については、エントリ グループのカテゴリをご覧ください。
次の表では、エントリ グループの操作に必要な権限を示します。
| オペレーション | カスタム エントリ グループに必要な権限 | システム エントリ グループに必要な権限(@ で始まる) |
|---|---|---|
Create entry groups |
dataplex.entryGroups.create |
該当なし |
Delete entry groups |
dataplex.entryGroups.delete |
該当なし |
Get entry groups |
dataplex.entryGroups.get |
dataplex.entryGroups.get |
List entry groups |
dataplex.entryGroups.list |
dataplex.entryGroups.list |
Update entry groups |
dataplex.entryGroups.update |
該当なし |
エントリ
エントリを作成して管理するには、標準の create、get、list、update、delete 権限が付与されている必要があります。
次の点にご注意ください。
- ルックアップ(
<code>LookupEntry</code>)メソッドと検索(<code>SearchEntries</code>)メソッドの場合、エントリに対する元のソースシステムの権限が必要です。たとえば、ソースが BigQuery テーブルの場合、メタデータを表示するにはbigquery.tables.get権限、データ アスペクトを表示するにはbigquery.tables.getData権限が必要です。 - データ アスペクトを表示する権限がない場合でも、エントリは表示されますが、データ アスペクトの内容は非表示になります。
- エントリを作成するとき、またはエントリの最上位フィールドを更新するときには、エントリタイプの
use権限が付与されている必要があります。 - 必須アスペクトを作成または更新するには、エントリのエントリタイプと基盤となるアスペクト タイプの両方に対する
use権限が付与されている必要があります。これは、必須アスペクトがエントリタイプによって適用されるためです。 - オプションのアスペクトを作成、更新、削除するには、アスペクトのアスペクト タイプに対する
use権限が付与されている必要があります。 - エントリを upsert する場合(
<code>allow_missing = True</code>で<code>UpdateEntry</code>)は、create権限が付与されている必要があります。
エントリがベースとして使用するエントリタイプの詳細については、エントリタイプのカテゴリをご覧ください。
次の表は、エントリに対する操作に必要な権限を示します。
| オペレーション | カスタム エントリタイプに基づくエントリ | 使用可能なシステム エントリタイプに基づくエントリ | 読み取り専用システム エントリタイプに基づくエントリ |
|---|---|---|---|
Create entries |
|
|
該当なし |
Get entries |
データ アスペクトを表示するには、 |
データ アスペクトを表示するには、 |
データ アスペクトを表示するには、 |
List entries |
dataplex.entries.list |
dataplex.entries.list |
dataplex.entries.list |
Lookup entries |
ソースシステムのメタデータ読み取り権限が必要です。データ アスペクトを表示するには、ソースシステムからデータを読み取る権限が必要です。 Knowledge Catalog がソースシステムとして扱われるカスタム エントリの場合、これらの権限はそれぞれ |
ソースシステムのメタデータ読み取り権限が必要です。データ アスペクトを表示するには、ソースシステムからデータを読み取る権限が必要です。 Knowledge Catalog がソースシステムとして扱われるカスタム エントリの場合、これらの権限はそれぞれ |
ソースシステムのメタデータ読み取り権限が必要です。データ アスペクトを表示するには、ソースシステムからデータを読み取る権限が必要です。 Knowledge Catalog がソースシステムとして扱われるカスタム エントリの場合、これらの権限はそれぞれ |
Search entries |
元のソースシステムの読み取り権限。 カスタム エントリの場合、Knowledge Catalog は元のソースシステムとして扱われるため、これは |
元のソースシステムの読み取り権限。 カスタム エントリの場合、Knowledge Catalog は元のソースシステムとして扱われるため、これは |
元のソースシステムの読み取り権限。 カスタム エントリの場合、Knowledge Catalog は元のソースシステムとして扱われるため、これは |
Update entries |
|
|
最上位フィールドと必須アスペクトは編集できません。 |
エントリリンク
エントリリンクを作成して管理するには、dataplex.entryLinks に対する create、get、list、delete 権限が付与されている必要があります。
次の点にご注意ください。
- エントリリンク(
CreateEntryLink)を作成するには、エントリリンク タイプに対する権限と、リンク固有のエントリに対する権限も必要です。 - 必須アスペクトを持つエントリリンクを作成する場合は、アスペクト タイプを使用する権限が必要です。
- エントリリンクを upsert する場合(
allow_missing = TrueでUpdateEntryLink)は、CreateEntryLinkに必要な権限も必要です。
次の表に、エントリリンクの操作に必要な権限を示します。
| オペレーション | IAM 権限 |
|---|---|
| エントリリンクを作成する |
エントリリンク タイプに基づいて必要な権限:
エントリリンク タイプを使用する権限:
エントリリンク タイプで指定された必須アスペクトに必要な権限:
|
| エントリリンクを削除する | dataplex.entryLinks.delete(エントリ グループに対する権限) |
| エントリリンクを取得する |
|
| エントリリンクを検索する |
エントリリンクが検索されるエントリに対するソースシステムのメタデータ読み取り権限が必要です。 Knowledge Catalog がソースシステムとして扱われるリンクされたカスタム エントリの場合、権限は リンクされたシステム エントリの場合、権限はリンクされたエントリのソースシステムの読み取り権限です。 |
| エントリリンクを更新する |
エントリリンク タイプを使用する権限:
エントリリンク タイプで指定された必須アスペクトに必要な権限:
|
エントリリンクのアスペクトの制限事項
エントリリンクでアスペクトを使用する場合、次の制限事項が適用されます。
コンテキスト セット
コンテキスト セットは、独自のビジネス ロジックで AI モデルをグラウンディングするために使用されるターゲット データアセットとメタデータの境界付きコンテナです。コンテキスト セットには、SQL クエリ テンプレートや、QueryData などの text-to-SQL ツール用の値検索クエリなど、データベース固有の情報を含めることができます。また、Knowledge Studio では、コンテキスト セットを使用して、用語集、構造化テーブルの概要、エンタープライズ データ マッピングを格納することもできます。
Google Cloudでコンテキスト セットがどのように使用されるかについては、Knowledge Studio、AlloyDB for PostgreSQL、Cloud SQL for MySQL、Cloud SQL for PostgreSQL、Spanner のコンテキスト セットの概要をご覧ください。
AI グラウンディングのコンテキスト セットを作成して管理するには、次の IAM ロールが付与されている必要があります。
- Dataplex Catalog 閲覧者(
roles/dataplex.catalogViewer): コンテキスト セットの表示、一覧表示、ダウンロード、ロケーションの表示を行う読み取り専用アクセス権。 - Dataplex Catalog 編集者(
roles/dataplex.catalogEditor): コンテキスト セットの更新、削除、アップロード、ダウンロードを行うためのアクセス権。 - Dataplex Catalog 管理者(
roles/dataplex.catalogAdmin)または Dataplex エントリ グループ オーナー(roles/dataplex.entryGroupOwner): コンテキスト セットに対する完全な管理者権限。コンテキスト セットの作成に必要なdataplex.entryGroups.setIamPolicy権限も含まれます。
次の表に、コンテキスト セットの操作に必要な IAM 権限を示します。
| オペレーション | IAM 権限 |
|---|---|
| コンテキスト セットを作成する | dataplex.entryGroups.createContextSet |
| コンテキスト セットを削除する | dataplex.entryGroups.deleteContextSet |
| コンテキスト セットを読み取る | dataplex.entryGroups.getContextSet |
| コンテキスト セットを更新する | dataplex.entryGroups.updateContextSet |
| リクエスト コンテキストの変更 | dataplex.entryGroups.requestContextChanges |
| コンテキスト エントリを作成する | dataplex.entries.createContext |
| コンテキスト エントリを削除する | dataplex.entries.deleteContext |
| コンテキスト エントリを読み取る | dataplex.entries.getContext |
| コンテキスト エントリを一覧表示する | dataplex.entries.listContext |
| コンテキスト エントリを更新する | dataplex.entries.updateContext |
詳細については、ナレッジ カタログの IAM ロールをご覧ください。
メタデータ ジョブの権限
次の表に、メタデータのインポート ジョブとメタデータのエクスポート ジョブの操作に必要な権限を示します。
| オペレーション | IAM 権限 |
|---|---|
| メタデータのエクスポート ジョブからエクスポートされた結果へのアクセス |
|
Cancel metadata jobs |
|
Create metadata export jobs |
|
Create metadata import jobs |
|
Get metadata jobs |
|
List metadata jobs |
|
システム アスペクト タイプ、エントリタイプ、エントリリンク タイプ
システム定義のアスペクト タイプ、システム定義のエントリタイプ、システム定義のエントリリンク タイプにはそれぞれ独自の IAM 権限があります。これらの権限は、dataplex.entryGroups.useASPECT_TYPE、dataplex.entryGroups.useENTRY_TYPE、dataplex.entryGroups.useENTRY_LINK_TYPE などの形式を使用します。たとえば、overview システム アスペクト タイプの権限は dataplex.entryGroups.useOverviewAspect です。
次の表に、システム定義のアスペクト タイプ、エントリタイプ、エントリリンク タイプに適用される権限を示します。
| リソース | IAM 権限 |
|---|---|
contacts(システム アスペクト タイプ) |
dataplex.entryGroups.useContactsAspect |
data-profile(システム アスペクト タイプ) |
dataplex.entryGroups.useDataProfileAspect |
data-quality-rule-template(システム アスペクト タイプ) |
dataplex.entryGroups.useDataQualityRuleTemplateAspect |
data-quality-scorecard(システム アスペクト タイプ) |
dataplex.entryGroups.useDataQualityScorecardAspect |
data-rules(システム アスペクト タイプ) |
dataplex.entryGroups.useDataRulesAspect |
generic(システム アスペクト タイプ) |
dataplex.entryGroups.useGenericAspect |
guidelines(システム アスペクト タイプ) |
dataplex.entryGroups.useGuidelinesAspect |
overview(システム アスペクト タイプ) |
dataplex.entryGroups.useOverviewAspect |
schema(システム アスペクト タイプ) |
dataplex.entryGroups.useSchemaAspect |
schema-join(システム アスペクト タイプ) |
dataplex.entryGroups.useSchemaJoinAspect |
generic(システム エントリタイプ) |
dataplex.entryGroups.useGenericEntry |
definition(システム エントリリンク タイプ) |
dataplex.entryGroups.useDefinitionEntryLink |
related(システム エントリリンク タイプ) |
dataplex.entryGroups.useRelatedEntryLink |
synonym(システム エントリリンク タイプ) |
dataplex.entryGroups.useSynonymEntryLink |
schema-join(システム エントリリンク タイプ) |
dataplex.entryGroups.useSchemaJoinEntryLink |
レイク、ゾーン、アセットの権限
次の表では、レイク、ゾーン、アセットの操作に必要な権限を示します。
| API メソッド | IAM 権限 |
|---|---|
CreateAsset |
dataplex.assets.create |
CreateLake |
dataplex.lakes.create |
CreateZone |
dataplex.zones.create |
DeleteAsset |
dataplex.assets.delete |
DeleteLake |
dataplex.lakes.delete |
DeleteZone |
dataplex.zones.delete |
GetAsset |
dataplex.assets.get |
GetLake |
dataplex.lakes.get |
GetZone |
dataplex.zones.get |
ListAssetActions |
dataplex.assetActions.list |
ListAssets |
dataplex.assets.list |
ListLakeActions |
dataplex.lakeActions.list |
ListLakes |
dataplex.lakes.list |
ListZoneActions |
dataplex.zoneActions.list |
ListZones |
dataplex.zones.list |
UpdateAsset |
dataplex.assets.update |
UpdateLake |
dataplex.lakes.update |
UpdateZone |
dataplex.zones.update |
タスクの権限
次の表に、タスクの操作に必要な権限を示します。
| API メソッド | IAM 権限 |
|---|---|
CancelJob |
dataplex.tasks.cancel |
CreateTask |
dataplex.tasks.create |
DeleteTask |
dataplex.tasks.delete |
GetJob |
dataplex.tasks.get |
GetTask |
dataplex.tasks.get |
ListJobs |
dataplex.tasks.get |
ListTasks |
dataplex.tasks.list |
UpdateTask |
dataplex.tasks.update |
メタデータの権限
次の表では、エンティティとパーティションの操作に必要な権限を示します。
| API メソッド | IAM 権限 |
|---|---|
CreateEntity |
dataplex.entities.create |
CreatePartition |
dataplex.partitions.create |
DeleteEntity |
dataplex.entities.delete |
DeletePartition |
dataplex.partitions.delete |
GetEntity |
dataplex.entities.get |
GetPartition |
dataplex.partitions.get |
ListEntities |
dataplex.entities.list |
ListPartitions |
dataplex.partitions.list |
データスキャンの権限
次の表に、データスキャンの操作に必要な権限を示します。
| API メソッド | IAM 権限 |
|---|---|
CancelDataScanJob |
dataplex.datascans.cancel |
CreateDataScan |
dataplex.datascans.create |
DeleteDataScan |
dataplex.datascans.delete |
GetDataScan(基本ビュー) |
dataplex.datascans.get |
GetDataScan(フルビュー) |
dataplex.datascans.getData |
GetDataScanJob(基本ビュー) |
dataplex.datascans.get |
GetDataScanJob(フルビュー) |
dataplex.datascans.getData |
ListDataScanJobs |
dataplex.datascans.get |
ListDataScans |
dataplex.datascans.list |
RunDataScan |
dataplex.datascans.run |
UpdateDataScan |
dataplex.datascans.update |
Knowledge Studio の拡充タスク
Knowledge Studio の拡充タスクを作成して管理するには、次の権限が必要です。
| オペレーション | IAM 権限 |
|---|---|
| 拡充タスクを作成する | dataplex.agentTasks.create |
| 拡充タスクを削除する | dataplex.agentTasks.delete |
| 拡充タスクの詳細を読み取る | dataplex.agentTasks.get |
| 基になるデータの結果を読み取って取得する | dataplex.agentTasks.getData |
| 拡充タスクを一覧表示する | dataplex.agentTasks.list |
| 拡充タスクを更新する | dataplex.agentTasks.update |
| 拡充タスクを実行する | dataplex.agentTasks.run |
| エントリ グループ(提案)の変更をリクエストする | dataplex.entryGroups.requestChanges |
| メタデータ変更リクエストを承認する | dataplex.changeRequests.use |
| 拡充タスクの実行をキャンセルする | dataplex.agentTasks.cancel |
サードパーティの認証プロバイダの権限
外部コネクタを構成する場合、認証プロバイダを管理するには、次の Agent Identity 権限が必要です。
| オペレーション | IAM 権限 |
|---|---|
| 認証プロバイダを作成する | agentidentity.authProviders.create |
| 認証プロバイダの詳細を表示する | agentidentity.authProviders.get |
| 認証プロバイダを削除する | agentidentity.authProviders.delete |
| 認証プロバイダを更新する | agentidentity.authProviders.update |
BigQuery プロファイリングの権限
拡充エージェントが BigQuery データ プロファイリングを実行し、テーブル クエリ履歴を読み取れるようにするには、ターゲット プロジェクトの Knowledge Catalog サービス エージェント(service-<var>PROJECT_NUMBER</var>@gcp-sa-dataplex.iam.gserviceaccount.com)に BigQuery データ閲覧者(roles/bigquery.dataViewer)ロールと BigQuery リソース閲覧者(roles/bigquery.resourceViewer)ロールを付与する必要があります。