ガバナンス ワークフローを使用して変更リクエストを管理する

このドキュメントでは、リクエスト元、承認者、ワークフロー管理者が Knowledge Catalog でガバナンス リクエストを管理する方法について説明します。

始める前に

ガバナンス ワークフローを使用するには、必要な API が有効になっており、承認者と管理者に必要な Identity and Access Management(IAM)ロールと権限が付与されていることを確認します。

Dataplex API を有効にします。

API を有効にするために必要なロール

API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。

API の有効化

必要なロール

ガバナンス ワークフローの使用に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

詳細については、Knowledge Catalog IAM ロールをご覧ください。

リクエスト担当者としてリクエストを管理する

リクエスト担当者は、データ プロダクトへのアクセス権のリクエストなど、変更リクエストを開始します。リクエストを送信した後、進行状況のモニタリング、リクエストの詳細の表示、NEW 状態の保留中のリクエストの詳細の編集、承認者が対応する前のリクエストの削除を行うことができます。

作成したリクエストを表示する

作成したすべてのリクエストを一覧表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、Knowledge Catalog の [ガバナンス ワークフロー] ページに移動します。

    [ガバナンス ワークフロー] に移動

  2. [My requests] タブをクリックすると、過去のリクエストと保留中のリクエストがすべて表示されたリストが表示されます。

REST

作成したリクエストを表示する

作成したリクエストのリストを取得するには:

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン(us-central1 など)。
  • USER_EMAIL: メールアドレス。

HTTP メソッドと URL:

GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests?filter=author=USER_EMAIL

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "changeRequests": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/changeRequests/sample-change-request-1",
      "uid": "123e4567-e89b-12d3-a456-426614174000",
      "createTime": "2026-07-20T10:00:00Z",
      "updateTime": "2026-07-20T10:00:00Z",
      "justification": "Proposing a new glossary term definition for business accuracy.",
      "author": "USER_EMAIL",
      "state": "NEW",
      "resource": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
      "createGlossaryTerm": {
        "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
        "termId": "sample-term-id",
        "term": {
          "displayName": "Sample term name",
          "description": "Sample term description",
          "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary"
        }
      }
    }
  ]
}

特定のリクエストを表示する

特定のリクエストを表示するには:

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン(us-central1 など)。
  • CHANGE_REQUEST_ID: リクエストの ID。

HTTP メソッドと URL:

GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID",
  "uid": "123e4567-e89b-12d3-a456-426614174000",
  "createTime": "2026-07-20T10:00:00Z",
  "updateTime": "2026-07-20T10:00:00Z",
  "justification": "Proposing a new glossary term definition for business accuracy.",
  "author": "user@example.com",
  "state": "NEW",
  "resource": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
  "createGlossaryTerm": {
    "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
    "termId": "sample-term-id",
    "term": {
      "displayName": "Sample term name",
      "description": "Sample term description",
      "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary"
    }
  }
}

リクエストを編集する

NEW 状態の既存の保留中のリクエストの詳細を更新できます。たとえば、リクエストで指定された正当性を変更できます。

REST

リクエストを編集するには、変更されたフィールドを含む PATCH リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン(us-central1 など)。
  • CHANGE_REQUEST_ID: 変更リクエストの一意の ID。
  • NEW_JUSTIFICATION: 変更リクエストの更新された理由。

HTTP メソッドと URL:

PATCH https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID?updateMask=justification

リクエストの本文(JSON):

{
  "justification": "NEW_JUSTIFICATION"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

リクエストを削除する

削除できるのは、NEW 状態のリクエストのみです。リクエストを削除する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、Knowledge Catalog の [ガバナンス ワークフロー] ページに移動します。

    [ガバナンス ワークフロー] に移動

  2. [マイリクエスト] タブをクリックします。

  3. ターゲット リクエストを含む行を見つけます。必要に応じて、エントリを分離するフィルタを適用します。

  4. [ アクション] をクリックしてから、[削除] をクリックします。

REST

リクエストを削除するには、リクエスト ID を含む DELETE リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン(us-central1 など)。
  • CHANGE_REQUEST_ID: 削除するリクエストの ID。

HTTP メソッドと URL:

DELETE https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

承認者としてリクエストを管理する

承認者は、データリソースに対して送信された保留中のガバナンス リクエストを確認、評価し、対応します。リクエストを承認または拒否すると、システムが自動的に決定を処理し、決定の詳細と理由を記載したメール通知がリクエスト元に送信されます。

保留中のリクエストを一覧表示する

審査待ちのリクエストを一覧表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、Knowledge Catalog の [ガバナンス ワークフロー] ページに移動します。

    ガバナンス ワークフローに移動

  2. [保留中の承認] タブをクリックして、審査待ちのリクエストを表示します。リクエストは、リソースタイプ、リクエスト タイプ、日付でフィルタできます。

REST

特定のプロジェクトとロケーション内でレビュー待ちのアクセス リクエストを一覧表示するには、GET リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン。例: us-central1

HTTP メソッドと URL:

GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "changeRequests": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/changeRequests/sample-change-request-1",
      "uid": "123e4567-e89b-12d3-a456-426614174000",
      "createTime": "2026-07-20T10:00:00Z",
      "updateTime": "2026-07-20T10:00:00Z",
      "justification": "Proposing a new glossary term definition for business accuracy.",
      "author": "user@example.com",
      "state": "NEW",
      "resource": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
      "createGlossaryTerm": {
        "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
        "termId": "sample-term-id",
        "term": {
          "displayName": "Sample term name",
          "description": "Sample term description",
          "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary"
        }
      }
    }
  ]
}

リクエストを承認する

リクエストを承認する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、Knowledge Catalog の [ガバナンス ワークフロー] ページに移動します。

    ガバナンス ワークフローに移動

  2. [承認待ち] タブをクリックします。

  3. 承認するリクエストを含む行を探します。

  4. [ アクション] をクリックしてから、[承認] をクリックします。

REST

リクエストを承認するには、カスタム メソッド :approvePOST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン(us-central1 など)。
  • CHANGE_REQUEST_ID: 承認する変更リクエストの一意の ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID:approve

リクエストを送信するには、次のいずれかのオプションを展開します。

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

処理が完了すると、リクエストのステータスが自動的に更新され、エントリが [承認ログ] タブに移動します。

リクエストを拒否する

リクエストを拒否する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、Knowledge Catalog の [ガバナンス ワークフロー] ページに移動します。

    ガバナンス ワークフローに移動

  2. [承認待ち] タブをクリックします。

  3. 拒否するリクエストを含む行を見つけます。

  4. [ アクション] をクリックしてから、[拒否] をクリックします。

  5. ダイアログで、拒否の理由を入力します。

  6. [不承認] をクリックして確定します。

REST

リクエストを拒否するには、正当性を示すペイロードとともに、カスタム メソッド :rejectPOST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン(us-central1 など)。
  • CHANGE_REQUEST_ID: 拒否する変更リクエストの一意の ID。
  • REJECTION_REASON: 拒否の理由。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID:reject

リクエストの本文(JSON):

{
  "comment": "REJECTION_REASON"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

明確な拒否コメントを提供することで、リクエスト者は決定内容を理解し、リクエストを再送信する前にアクセス権付与の理由を修正できます。

ワークフロー管理者としてリクエストを管理する

ワークフロー管理者は、組織全体のすべてのガバナンス リクエストを監督し、承認履歴をモニタリングして、コンプライアンスを確保します。アクティブなリクエストと過去のリクエストをすべて一覧表示し、すべてのリクエスト状態(NEWAPPROVEDREJECTEDDELETED)にわたって監査証跡を追跡し、現在の状態に関係なくリクエストを削除できます。

すべてのリクエストを表示する

特定のプロジェクトとロケーション内のすべてのリクエストを一覧表示する手順は次のとおりです。

REST

特定のプロジェクトとロケーション内のすべてのアクセス リクエストを一覧表示するには、GET リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン。例: us-central1

HTTP メソッドと URL:

GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "changeRequests": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/changeRequests/sample-change-request-1",
      "uid": "123e4567-e89b-12d3-a456-426614174000",
      "createTime": "2026-07-20T10:00:00Z",
      "updateTime": "2026-07-20T10:00:00Z",
      "justification": "Proposing a new glossary term definition for business accuracy.",
      "author": "user@example.com",
      "state": "NEW",
      "resource": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
      "createGlossaryTerm": {
        "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
        "termId": "sample-term-id",
        "term": {
          "displayName": "Sample term name",
          "description": "Sample term description",
          "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary"
        }
      }
    }
  ]
}

承認履歴を追跡する

承認ログは、データ プロダクトのアクセス リクエストのエンドツーエンドの監査の可視性を提供し、管理者とコンプライアンス チームがすべての状態の変更とアクセスを追跡できるようにします。

コンソール

  1. Google Cloud コンソールで、[ガバナンス ワークフロー] ページに移動します。

    ガバナンス ワークフローに移動

  2. [承認ログ] タブに移動して、完了した承認、不承認、過去の監査証跡を表示します。

REST

特定のプロジェクトのすべてのリクエストを一覧表示するには、GET リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースが存在するリージョン。例: us-central1

HTTP メソッドと URL:

GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "changeRequests": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/changeRequests/sample-change-request-1",
      "uid": "123e4567-e89b-12d3-a456-426614174000",
      "createTime": "2026-07-20T10:00:00Z",
      "updateTime": "2026-07-20T10:00:00Z",
      "justification": "Proposing a new glossary term definition for business accuracy.",
      "author": "user@example.com",
      "state": "NEW",
      "resource": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
      "createGlossaryTerm": {
        "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary",
        "termId": "sample-term-id",
        "term": {
          "displayName": "Sample term name",
          "description": "Sample term description",
          "parent": "projects/PROJECT_ID/locations/LOCATION/glossaries/sample-glossary"
        }
      }
    }
  ]
}

次のステップ