データ ドメインを作成する

このドキュメントでは、Google Cloud コンソールと REST API を使用してデータ ドメインとサブドメインを作成する方法と、ドメインとそのリソースを操作するユーザーに Identity and Access Management のロールと権限を付与する方法について説明します。

始める前に

データドメインを作成してドメイン オーナーを割り当てる前に、必要なロールと API が有効になっていることを確認してください。

  • ドメインとサブドメインのネストの最大深度は 5 レベルです。
  • 1 つのデータ ドメインに最大 50 個の直接サブドメインを作成できます。
  • プロジェクト内では、リージョンごとに最大 1,000 個のドメインを設定できます。

API を有効にする

Dataplex API が有効になっていない場合は有効にします。

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

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

API の有効化

必要なロール

データ ドメインの作成とドメイン オーナーの割り当てに必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

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

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

データ ドメインを作成する

データ ドメインを作成して、プロジェクトとロケーション内のデータアセットとプロダクトの論理グループとして機能させます。

コンソール

  1. Google Cloud コンソールで、[データ ドメイン] ページに移動します。

    [データ ドメイン] に移動

  2. [データドメインを作成] をクリックし、次の情報を指定します。

    • [表示名] フィールドに、わかりやすいドメイン名を入力します。例: Finance
    • [データ ドメイン ID] フィールドに、ドメインの一意の ID を入力します。この値は、システムのドメイン作成後に変更することはできません。
    • [ロケーション] フィールドで、データ ドメインを作成するリージョンを選択します。
    • [プロジェクト ID] フィールドで、データ ドメインを作成するプロジェクトを選択します。
    • 省略可: [説明] フィールドに、ドメインの簡単な説明を入力します。
    • [所有者] フィールドに、ドメインの所有者を追加します。複数のメールアドレスを同時に入力できます。
  3. 省略可: [ラベル] フィールドに、関連するオブジェクトをまとめてグループ化したり、他の Google Cloud リソースと組み合わせてグループ化したりするためのラベルを入力します。

  4. [作成] をクリックします。データ ドメインにアクセスまたは検索できるようになるまでに数分かかることがあります。

REST

データ ドメインを作成するには、projects.locations.dataDomains.create メソッドを使用します。

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION_ID: データドメインを作成するリージョン。例: us-central1
  • DATA_DOMAIN_ID: データドメインの一意の識別子。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains?data_domain_id=DATA_DOMAIN_ID

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

{
  "display_name": "Finance Domain",
  "description": "Domain for finance datasets and reports.",
  "contacts": {
    "identities": [
      {
        "contact_name": "Alice Wonderland",
        "contact_role": "owner",
        "contact_id": "alice@example.com"
      }
    ]
  }
}

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

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

データ サブドメインを作成する

サブドメインを作成して、データ ドメインの階層を拡張します。

コンソール

  1. Google Cloud コンソールで、[データ ドメイン] ページに移動します。

    [データ ドメイン] に移動

  2. サブドメインを作成するドメインを選択します。

  3. [Create Data Subdomain] をクリックし、次の情報を指定します。

    • [表示名] フィールドに、わかりやすいドメイン名を入力します。例: Finance
    • [データ ドメイン ID] フィールドに、ドメインの一意の ID を入力します。この値は、システムのドメイン作成後に変更することはできません。
    • 省略可: [説明] フィールドに、ドメインの簡単な説明を入力します。
    • [所有者] フィールドに、ドメインの所有者のメールアドレスを追加します。複数のメールアドレスを同時に入力できます。
  4. 省略可: [ラベル] フィールドに、関連するオブジェクトをまとめてグループ化したり、他の Google Cloud リソースと組み合わせてグループ化したりするためのラベルを入力します。

  5. [作成] をクリックします。データ サブドメインにアクセスまたは検索できるようになるまでに数分かかることがあります。

REST

データ サブドメインを作成するには、projects.locations.dataDomains.create メソッドを使用し、リクエスト本文で parent_data_domain を指定します。

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION_ID: 親データ ドメインが存在するリージョン。例: us-central1
  • SUBDOMAIN_ID: データ サブドメインの一意の識別子。
  • PARENT_DATA_DOMAIN_ID: このサブドメインが作成される親データドメインの一意の ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains?data_domain_id=SUBDOMAIN_ID

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

{
  "display_name": "Finance Subdomain",
  "description": "A subdomain within the Finance domain.",
  "contacts": {
    "identities": [
      {
        "contact_name": "Alice Wonderland",
        "contact_role": "owner",
        "contact_id": "alice@example.com"
      }
    ]
  },
  "parent_data_domain": "projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/PARENT_DATA_DOMAIN_ID"
}

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

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

データ ドメインのロールと権限

次の表に、データ ドメインのオーナーとユーザーに付与できる IAM 事前定義ロールを示します。

ロール名 IAM ロール 説明
Dataplex データドメイン管理者 roles/dataplex.dataDomainAdmin データドメインとサブドメイン、およびそれらのバインディングを作成して管理できます。管理者ロールでは、ドメインのすべての IAM ロールと権限を管理することもできます。
Dataplex データドメイン構成の閲覧者 roles/dataplex.dataDomainViewer データ ドメインとリソース ドメインのバインディングの構成を表示できます。
Dataplex データドメイン構成の編集者 roles/dataplex.dataDomainEditor 既存のドメインを編集したり、リソースとドメインのバインディングを作成して管理したりできます。編集者ロールでは、ユーザーによるドメイン リソースの検出を許可するメタデータ承認を管理することもできます。
Dataplex データドメイン エントリ リーダー roles/dataplex.dataDomainEntryReader データ ドメインとそのサブドメイン、およびすべてのリソースのメタデータを検出して表示できます。

ドメイン所有者またはユーザーにロールを付与する場合は、次の点を考慮してください。

  • Identity and Access Management データ ドメインのロールは、親ドメインからサブドメインに伝播しますが、含まれているリソースには直接伝播しません。つまり、BigQuery データセットを含むドメインのユーザーに roles/dataplex.dataDomainEntryReader を付与しても、ユーザーはデータセットの Identity and Access Management ロールにそのロールを表示できません。
  • ドメインに付与された roles/dataplex.dataDomainEntryReader ロールを使用すると、次の操作を実行できます。

    • リソース、その詳細、メタデータを検出できますが、ドメイン内のリソースを表示するときに、詳細については、データドメインの制限事項をご覧ください。
    • ドメインにあるリソースに対して lookupEntry などの API メソッドを使用できます。

データ ドメインへのアクセス権を付与する

コンソール

データ ドメインへのアクセス権を付与する手順は次のとおりです。

  1. Google Cloud コンソールで、[データ ドメイン] ページに移動します。

    [データ ドメイン] に移動

  2. ドメイン名をクリックして、ドメインの詳細ページに移動します。

  3. 上部のバーで [権限] をクリックします。

  4. [プリンシパルを追加] をクリックします。

  5. [新しいプリンシパル] フィールドに、プリンシパルのメールアドレスを入力します。

  6. [ロールを選択] フィールドで、データ ドメインのロールを選択します。たとえば、Dataplex Data Domain Entry Reader を使用すると、ユーザーはデータ ドメイン、そのサブドメイン、および含まれているリソースのメタデータを検出して表示できます。他のロールを付与する場合は、[別のロールを追加] をクリックします。

  7. [保存] をクリックします。

REST

データ ドメインに IAM ポリシーを設定するには、projects.locations.dataDomains.setIamPolicy メソッドを使用します。

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの固有識別子。
  • ROLE: ドメイン ユーザーに付与するロール。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID:setIamPolicy

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

{
  "policy": {
    "bindings": [
      {
        "role": "ROLE",
        "members": [
          "user:example-user@google.com",
          "group:finance-consumers@google.com"
        ]
      }
    ]
  }
}

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

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

データ ドメインへのアクセス権を取り消す

プリンシパルからロールまたは権限を削除する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[データ ドメイン] ページに移動します。

    [データ ドメイン] に移動

  2. ドメイン名をクリックして、ドメインの詳細ページに移動します。

  3. 上部のバーで [権限] をクリックします。

  4. [権限] ペインで、ロールを取り消すプリンシパルを見つけます。

  5. 削除するロールの横にある [削除] アイコンをクリックします。

  6. [保存] をクリックします。

REST

REST API を使用してデータドメインへのアクセスを取り消すには、projects.locations.dataDomains.getIamPolicy メソッドを使用して既存のポリシーを取得し、bindings リストからロールまたはプリンシパルを削除して、projects.locations.dataDomains.setIamPolicy メソッドを使用して更新されたポリシーを設定します。

  1. 現在の IAM ポリシーを取得します。

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

    • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
    • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
    • DOMAIN_ID: データ ドメインの固有識別子。

    HTTP メソッドと URL:

    POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID:getIamPolicy

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

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

  2. 更新されたポリシーを設定します。

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

    • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
    • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
    • DOMAIN_ID: データ ドメインの固有識別子。
    • ROLE: ドメイン ユーザーに付与するロール。

    HTTP メソッドと URL:

    POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID:setIamPolicy

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

    {
      "policy": {
        "bindings": [
          {
            "role": "ROLE",
            "members": [
              "user:example-user@google.com",
              "group:finance-consumers@google.com"
            ]
          }
        ]
      }
    }
    

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

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

次のステップ