Kontrol akses dengan akun layanan namespace

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

Tentang namespace di Cloud Data Fusion

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

Kontrol akses dengan akun layanan namespace

Untuk mengontrol akses ke resource Google Cloud, namespace di Cloud Data Fusion, gunakan 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 resource Google Cloud di antara namespace untuk operasi waktu desain pipeline di Cloud Data Fusion, seperti pratinjau pipeline, Wrangler, dan validasi pipeline.

Sebelum Anda memulai

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

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menyesuaikan akun layanan namespace dan memberikan izin kepada 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.

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 diperlukan di namespace, berikan peran Cloud Data Fusion yang telah ditetapkan kepada mereka. Untuk mengetahui informasi selengkapnya, lihat peran Cloud Data Fusion yang telah ditetapkan yang tersedia bagi pengguna dalam instance berkemampuan RBAC.

Mengonfigurasi akun layanan namespace

Konsol

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

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

    Buka Instance

  3. Klik System admin > Configuration > Namespace.

  4. Klik namespace yang ingin dikonfigurasi.

  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 Anda, lalu klik Simpan.

  8. Ulangi langkah-langkah guna 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: ID project tenant. Untuk menemukannya, buka halaman Instances, lalu klik nama instance. ID akan muncul di halaman Detail instance.

        Buka Instance

      • SERVICE_ACCOUNT_PROJECT: ID project Google Cloud 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 mengetahui 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. Setel 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. Setel 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 System admin > Configuration > Namespaces.
  2. Klik namespace dengan akun layanan yang ingin diedit.
  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 System admin > Configuration > Namespaces.
  2. Klik namespace dengan akun layanan yang ingin dihapus.
  3. Untuk menghapus akun layanan, buka tab Akun layanan. Di samping nama akun layanan, klik Menu > Delete.

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

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

  1. Di Konsol Google Cloud, buka halaman Instance Cloud Data Fusion, lalu buka instance di antarmuka web Cloud Data Fusion.

    Buka Instance

  2. Klik System admin > Configuration > 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