Mengelola produk data

Dokumen ini ditujukan bagi pemilik produk data yang ingin memperbarui, menghapus, dan memberikan akses ke produk data di Knowledge Catalog (sebelumnya Dataplex Universal Catalog).

Untuk mengetahui informasi selengkapnya tentang arsitektur dan konsep utama produk data, lihat Tentang produk data.

Sebelum memulai

  1. Aktifkan Dataplex dan BigQuery API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    Aktifkan API

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengelola produk data, minta administrator untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengelola produk data. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengelola produk data:

  • Edit jenis aspek sistem overview: dataplex.entryGroups.useOverviewAspect
  • Edit jenis aspek sistem refresh cadence: dataplex.entryGroups.useRefreshCadenceAspect
  • Menyetujui permintaan akses untuk produk data: dataplex.dataProducts.approve

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Kontrol akses untuk model BigQuery

Akses ke model BigQuery dalam produk data dikelola melalui kondisi IAM yang diterapkan ke kebijakan IAM set data induk.

Jika Anda menghapus lalu membuat ulang model BigQuery menggunakan nama yang sama, Knowledge Catalog akan memulihkan izin yang sebelumnya diberikan kepada Akun Layanan atau Grup Google melalui produk data.

Menetapkan izin untuk membuat produk data dapat ditemukan

Agar calon konsumen dapat menelusuri, melihat, dan meminta akses ke produk data, pemilik produk data harus memastikan produk tersebut dapat ditemukan dengan memberikan peran IAM yang sesuai pada resource produk data:

  • Menelusuri, melihat, dan meminta akses ke produk data: Konsumen Produk Data Dataplex (dataplex.dataProductsConsumer)

  • Melihat definisi dan metadata produk data (akses hanya baca): Pelihat Produk Data Dataplex (dataplex.dataProductsViewer)

Mengelola permintaan akses produk data

Saat konsumen produk data meminta akses, pemilik produk data akan menerima notifikasi email. Pemilik dapat meninjau, menyetujui, atau menolak permintaan ini menggunakan konsol Google Cloud atau API.

Konsol

Meninjau permintaan akses untuk produk data tertentu

  1. Di konsol Google Cloud , buka halaman Produk data Knowledge Catalog.

    Buka Produk data

  2. Klik produk data yang permintaan aksesnya ingin Anda tinjau.

  3. Klik tab Pengelolaan permintaan akses.

  4. Pilih pemohon yang permintaannya ingin Anda tinjau.

  5. Klik Tindakan , lalu klik Setujui atau Tolak.

  6. Klik Simpan.

Meninjau permintaan akses di beberapa produk data

  1. Di konsol Google Cloud , buka halaman Alur kerja tata kelola Knowledge Catalog.

    Buka Alur kerja tata kelola

  2. Klik tab Persetujuan Tertunda.

  3. Opsional: Filter daftar menurut nama produk data tertentu untuk mengisolasi permintaannya.

  4. Pilih permintaan target, lalu klik Setujui atau Tolak.

  5. Klik Simpan.

Perilaku pasca-persetujuan

  • Permintaan pengguna: Konsumen yang meminta akses untuk identitas pengguna mereka akan otomatis ditambahkan sebagai anggota ke Grup Google yang dipetakan ke grup akses.

  • Permintaan akun layanan: Konsumen yang meminta akses untuk akun layanan diberi izin untuk meniru identitas akun layanan produsen data yang dipetakan ke grup akses.

Setelah diproses, status permintaan akan diperbarui secara otomatis dan entri akan dipindahkan ke tab Log persetujuan.

REST

Mencantumkan semua permintaan akses yang menunggu persetujuan

Untuk mencantumkan semua permintaan akses yang menunggu peninjauan Anda dalam project dan lokasi tertentu, kirim permintaan GET menggunakan metode kumpulan data kustom :listReviewable:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests:listReviewable"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda

  • LOCATION: region tempat produk data berada (misalnya, us-central1)

Menyetujui permintaan akses

Pemilik produk data dengan izin dataplex.dataProducts.approve dapat menyetujui permintaan yang menunggu keputusan dengan mengirim permintaan POST ke metode kustom :approve:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID:approve"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda

  • LOCATION: region tempat produk data berada (misalnya, us-central1)

  • CHANGE_REQUEST_ID: ID unik permintaan akses yang ingin Anda setujui

Tidak seperti persetujuan yang didorong konsol, menyetujui permintaan perubahan menggunakan REST API tidak secara otomatis mengubah keanggotaan Grup Google atau mengonfigurasi peniruan identitas token akun layanan. Anda harus menyelesaikan langkah-langkah pengelolaan akses hilir ini secara manual:

  • Untuk permintaan akses identitas pengguna: Tambahkan konsumen produk data ke Grup Google yang dipetakan. Untuk mengetahui informasi selengkapnya, lihat Menambahkan keanggotaan ke Grup Google.

  • Untuk permintaan akses akun layanan: Berikan peran IAM Service Account Token Creator (roles/iam.serviceAccountTokenCreator) ke akun layanan konsumen produk data di resource dengan menjalankan perintah berikut:

    gcloud iam service-accounts add-iam-policy-binding PRODUCER_SERVICE_ACCOUNT \
      --member="serviceAccount:CONSUMER_SERVICE_ACCOUNT" \
      --role="roles/iam.serviceAccountTokenCreator"
    

    Ganti kode berikut:

    • PRODUCER_SERVICE_ACCOUNT: alamat email yang sepenuhnya memenuhi syarat dari akun layanan yang dipetakan ke grup akses produk data

    • CONSUMER_SERVICE_ACCOUNT: alamat email yang sepenuhnya memenuhi syarat dari akun layanan milik konsumen yang meminta akses

Menolak permintaan akses

Pemilik produk data dengan izin dataplex.dataProducts.approve dapat menolak permintaan yang tertunda dengan mengirim permintaan POST ke metode kustom :reject bersama dengan payload justifikasi:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
  "comment": "REJECTION_REASON"
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID:reject"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda

  • LOCATION: region tempat produk data berada (misalnya, us-central1)

  • CHANGE_REQUEST_ID: ID unik permintaan akses yang ingin Anda tolak

Memperbarui produk data

Anda dapat memperbarui detail dasar (misalnya, nama produk data, deskripsi, detail pemilik), aset, grup akses, izin, kontrak, aspek, dan dokumentasi tambahan untuk produk data yang ada.

Memperbarui detail dasar produk data

Konsol

  1. Di konsol Google Cloud , buka halaman Produk data Knowledge Catalog.

    Buka Produk data

  2. Klik produk data yang ingin Anda perbarui.

  3. Klik Edit.

  4. Perbarui Nama produk data, Ikon produk data, Deskripsi, Alamat email pemilik produk data, Alamat email pemberi persetujuan produk data, dan Label sesuai kebutuhan.

  5. Klik Simpan.

C#

C#

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog C# API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for UpdateDataProduct</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void UpdateDataProductRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        UpdateDataProductRequest request = new UpdateDataProductRequest
        {
            DataProduct = new DataProduct(),
            UpdateMask = new FieldMask(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataProduct, OperationMetadata> response = dataProductServiceClient.UpdateDataProduct(request);

        // Poll until the returned long-running operation is complete
        Operation<DataProduct, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataProduct result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataProduct, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceUpdateDataProduct(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataProduct retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Go API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.UpdateDataProductRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#UpdateDataProductRequest.
	}
	op, err := c.UpdateDataProduct(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Java API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import com.google.cloud.dataplex.v1.DataProduct;
import com.google.cloud.dataplex.v1.DataProductServiceClient;
import com.google.cloud.dataplex.v1.UpdateDataProductRequest;
import com.google.protobuf.FieldMask;

public class SyncUpdateDataProduct {

  public static void main(String[] args) throws Exception {
    syncUpdateDataProduct();
  }

  public static void syncUpdateDataProduct() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      UpdateDataProductRequest request =
          UpdateDataProductRequest.newBuilder()
              .setDataProduct(DataProduct.newBuilder().build())
              .setUpdateMask(FieldMask.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataProduct response = dataProductServiceClient.updateDataProductAsync(request).get();
    }
  }
}

Node.js

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Node.js API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The data product to update.
 *  The data product's `name` field is used to identify the data product to
 *  update.
 */
// const dataProduct = {}
/**
 *  Optional. The list of fields to update.
 *  If this is empty or not set, then all the fields will be updated.
 */
// const updateMask = {}
/**
 *  Optional. Validates the request without actually updating the data product.
 *  Default: false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callUpdateDataProduct() {
  // Construct request
  const request = {
    dataProduct,
  };

  // Run request
  const [operation] = await dataplexClient.updateDataProduct(request);
  const [response] = await operation.promise();
  console.log(response);
}

callUpdateDataProduct();

Python

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Python API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_update_data_product():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_product = dataplex_v1.DataProduct()
    data_product.display_name = "display_name_value"
    data_product.owner_emails = ["owner_emails_value1", "owner_emails_value2"]

    request = dataplex_v1.UpdateDataProductRequest(
        data_product=data_product,
    )

    # Make the request
    operation = client.update_data_product(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

Untuk memperbarui detail dasar produk data, gunakan metode dataProducts.patch.

Misalnya, untuk memperbarui deskripsi produk data, kirim permintaan PATCH berikut:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"description": "NEW_DESCRIPTION"}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/dataProducts/DATA_PRODUCT_ID?update_mask="description"

Ganti kode berikut:

  • NEW_DESCRIPTION: deskripsi baru untuk produk data
  • PROJECT_ID: ID project Google Cloud Anda
  • LOCATION: region tempat produk data berada
  • DATA_PRODUCT_ID: ID produk data Anda

Memperbarui aset produk data

Konsol

  1. Di konsol Google Cloud , buka halaman Produk data Knowledge Catalog.

    Buka Produk data

  2. Klik produk data yang asetnya ingin Anda perbarui.

  3. Klik tab Aset.

  4. Untuk menambahkan aset baru, ikuti langkah-langkah berikut:

    1. Klik +Add.

    2. Telusuri dan pilih aset yang ingin Anda tambahkan ke produk data. Aset yang Anda pilih harus berada di region yang sama dengan produk data.

      Jika memiliki izin yang diperlukan, Anda dapat melihat metadata aset dengan mengklik aset.

    3. Untuk menyaring hasil penelusuran, gunakan Filter.

    4. Setelah Anda memilih aset, klik Tambahkan.

  5. Untuk menghapus aset dari produk data, ikuti langkah-langkah berikut:

    1. Untuk aset yang ingin Anda hapus, klik > Hapus.

    2. Untuk mengonfirmasi tindakan, klik Hapus.

C#

Menambahkan aset data baru ke produk data

C#

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog C# API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Generated code. DO NOT EDIT!

namespace GoogleCSharpSnippets
{