Kontrol akses dengan akun layanan namespace

Halaman ini menjelaskan cara mengonfigurasi akun layanan Identity and Access Management (IAM) untuk namespace di instance Cloud Data Fusion.

Tentang namespace di Cloud Data Fusion

Namespace adalah pengelompokan logis aplikasi, data, dan metadata terkait di instance Cloud Data Fusion. Anda dapat menganggap namespace sebagai partisi instance. Setiap aplikasi atau data, yang di sini disebut sebagai entity, dapat ada secara independen di beberapa namespace. Dalam satu instance, satu namespace menyimpan data dan metadata entity secara independen dari namespace lain.

Kontrol akses dengan akun layanan namespace

Untuk mengontrol akses ke resource Google Cloud , namespace di Cloud Data Fusion menggunakan Agen Layanan Cloud Data Fusion API secara default.

Untuk isolasi data yang lebih baik, Anda dapat mengaitkan akun layanan IAM yang disesuaikan (dikenal sebagai Akun Layanan Per Namespace) dengan setiap namespace. Akun layanan IAM yang disesuaikan, yang dapat berbeda untuk namespace yang berbeda, memungkinkan Anda mengontrol akses ke resourceGoogle Cloud di antara namespace untuk operasi waktu desain pipeline di Cloud Data Fusion, seperti pratinjau pipeline, Wrangler, dan validasi pipeline.

Sebelum Memulai

  • Akun Layanan Per Namespace didukung di instance yang mengaktifkan RBAC di Cloud Data Fusion versi 6.10.0 dan yang lebih baru.
  • Akun Layanan Per Namespace digunakan untuk mengontrol dan mengelola akses ke resource Google Cloud .

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang diperlukan guna menyesuaikan akun layanan namespace dan memberikan izin pengguna dalam namespace, minta administrator untuk memberi Anda peran IAM Cloud Data Fusion Admin (roles/datafusion.admin) pada instance Cloud Data Fusion dalam project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengelola izin untuk pengguna di namespace

Untuk memberi pengguna izin yang mereka perlukan dalam namespace, berikan peran Cloud Data Fusion yang telah ditentukan kepada mereka. Untuk mengetahui informasi selengkapnya, lihat peran Cloud Data Fusion standar yang tersedia untuk pengguna di instance yang mengaktifkan RBAC.

Mengonfigurasi akun layanan namespace

Konsol

Untuk mengonfigurasi akun layanan untuk namespace, ikuti langkah-langkah berikut:

  1. Jika Anda belum memiliki akun layanan untuk namespace, buat akun layanan.
  2. Di konsol Google Cloud, buka halaman Instance Cloud Data Fusion dan buka instance di antarmuka web Cloud Data Fusion.

    Buka Instance

  3. Klik Admin sistem > Konfigurasi > Namespace.

  4. Klik namespace yang ingin Anda konfigurasi.

  5. Klik tab Service accounts, lalu klik Add service account.

    Tombol Tambahkan Akun Layanan.

  6. Berikan peran Workload Identity User (roles/iam.workloadIdentityUser).

    Untuk memberikan peran, ikuti langkah-langkah berikut:

    1. Di kolom Pipeline design service account, masukkan email akun layanan—misalnya, SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.
    2. Ikuti petunjuk dalam dialog yang muncul.
  7. Untuk menyelesaikan konfigurasi akun layanan, kembali ke namespace instance Cloud Data Fusion, lalu klik Save.

  8. Ulangi langkah-langkah untuk mengonfigurasi akun layanan untuk setiap namespace.

REST API

  1. Berikan peran Workload Identity User (roles/iam.workloadIdentityUser).

    Untuk memberikan peran, ikuti langkah-langkah berikut:

    1. Tetapkan variabel lingkungan berikut:

      export TENANT_PROJECT_ID=TENANT_PROJECT
      export GSA_PROJECT_ID=SERVICE_ACCOUNT_PROJECT
      

      Ganti kode berikut:

      • TENANT_PROJECT: project ID tenant. Untuk menemukan instance, buka halaman Instances, lalu klik nama instance. ID akan muncul di halaman Detail instance.

        Buka Instance

      • SERVICE_ACCOUNT_PROJECT:Google Cloud project ID tempat akun layanan IAM berada.

    2. Berikan peran Workload Identity User:

      gcloud iam service-accounts add-iam-policy-binding \
          --role roles/iam.workloadIdentityUser
          --member "serviceAccount:${TENANT_PROJECT_ID}.svc.id.goog[default/NAMESPACE_IDENTITY]" SERVICE_ACCOUNT_EMAIL \
          --project ${GSA_PROJECT_ID}
      

      Ganti kode berikut:

      • NAMESPACE_IDENTITY: identitas namespace. Untuk informasi selengkapnya, lihat Detail namespace.

      • SERVICE_ACCOUNT_EMAIL: alamat email akun layanan—misalnya, SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.

  2. Validasi email akun layanan namespace dari langkah sebelumnya. Tetapkan environment variables, lalu jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity/validate -X POST -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
    

    Ganti kode berikut:

    • NAMESPACE_NAME: ID namespace.
    • SERVICE_ACCOUNT_EMAIL: email akun layanan IAM yang ingin Anda tetapkan di namespace.
  3. Tetapkan akun layanan namespace. Tetapkan environment variables, lalu jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"
     ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
    

Mengedit akun layanan namespace

Konsol

Untuk mengedit akun layanan namespace, ikuti langkah-langkah berikut:

  1. Di instance Cloud Data Fusion, klik Admin sistem > Konfigurasi > Namespace.
  2. Klik namespace yang memiliki akun layanan yang ingin Anda edit.
  3. Untuk mengedit akun layanan, buka tab Akun layanan. Di samping nama akun layanan, klik Menu > Edit.
  4. Ikuti langkah-langkah untuk mengonfigurasi akun layanan namespace.

REST API

Untuk mengedit akun layanan namespace, ikuti langkah-langkah berikut:

  1. Tetapkan environment variables, lalu jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"
     ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
    

    Ganti kode berikut:

    • NAMESPACE_NAME: ID namespace.
    • SERVICE_ACCOUNT_EMAIL: email akun layanan IAM yang ingin Anda tetapkan di namespace.

Menghapus akun layanan namespace

Konsol

Untuk menghapus akun layanan namespace dari namespace, ikuti langkah-langkah berikut:

  1. Di instance Cloud Data Fusion, klik Admin sistem > Konfigurasi > Namespace.
  2. Klik namespace yang memiliki akun layanan yang ingin Anda hapus.
  3. Untuk menghapus akun layanan, buka tab Akun layanan. Di samping nama akun layanan, klik Menu > Hapus.

REST API

Untuk menghapus akun layanan namespace dari namespace, ikuti langkah-langkah berikut:

  1. Tetapkan environment variables, lalu jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X DELETE
    

    Ganti kode berikut:

    • NAMESPACE_NAME: ID namespace.

Mendapatkan akun layanan namespace

Konsol

Untuk mendapatkan informasi akun layanan untuk namespace, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Instance Cloud Data Fusion dan buka instance di antarmuka web Cloud Data Fusion.

    Buka Instance

  2. Klik Admin sistem > Konfigurasi > Namespace.

  3. Klik nama namespace untuk melihat detail akun layanan.

REST API

Untuk mendapatkan nama akun layanan namespace, ikuti langkah-langkah berikut:

  1. Tetapkan environment variables, lalu jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X GET
    

    Ganti kode berikut:

    • NAMESPACE_NAME: ID namespace.

    Jika berhasil, Anda akan mendapatkan email akun layanan dalam respons berikut:

    Response: {"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}
    

Langkah selanjutnya