このドキュメントでは、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 がソースシステムとして扱われるリンクされたカスタム エントリの場合、権限は リンクされたシステム エントリの場合、権限はリンクされたエントリのソースシステムの読み取り権限です。 |
| エントリのリンクを更新する |
エントリリンク タイプを使用する権限:
エントリリンクタイプで指定された必須アスペクトの権限:
|
エントリリンクのアスペクトに関する制限事項
エントリリンクでアスペクトを使用する場合、次の制限事項が適用されます。
メタデータ ジョブの権限
次の表に、メタデータのインポート ジョブとメタデータのエクスポート ジョブの操作に必要な権限を示します。
| オペレーション | 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 |