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:
- Jika Anda belum memiliki akun layanan untuk namespace, buat akun layanan.
Di konsol Google Cloud, buka halaman Instance Cloud Data Fusion dan buka instance di antarmuka web Cloud Data Fusion.
Klik Admin sistem > Konfigurasi > Namespace.
Klik namespace yang ingin Anda konfigurasi.
Klik tab Service accounts, lalu klik Add service account.
Berikan peran Workload Identity User (
roles/iam.workloadIdentityUser
).Untuk memberikan peran, ikuti langkah-langkah berikut:
- Di kolom Pipeline design service account, masukkan email akun layanan—misalnya,
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
. - Ikuti petunjuk dalam dialog yang muncul.
- Di kolom Pipeline design service account, masukkan email akun layanan—misalnya,
Untuk menyelesaikan konfigurasi akun layanan, kembali ke namespace instance Cloud Data Fusion, lalu klik Save.
Ulangi langkah-langkah untuk mengonfigurasi akun layanan untuk setiap namespace.
REST API
Berikan peran Workload Identity User (
roles/iam.workloadIdentityUser
).Untuk memberikan peran, ikuti langkah-langkah berikut:
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.SERVICE_ACCOUNT_PROJECT
:Google Cloud project ID tempat akun layanan IAM berada.
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
.
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.
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:
- Di instance Cloud Data Fusion, klik Admin sistem > Konfigurasi > Namespace.
- Klik namespace yang memiliki akun layanan yang ingin Anda edit.
- Untuk mengedit akun layanan, buka tab Akun layanan. Di samping nama akun layanan, klik > Edit. Menu
- Ikuti langkah-langkah untuk mengonfigurasi akun layanan namespace.
REST API
Untuk mengedit akun layanan namespace, ikuti langkah-langkah berikut:
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:
- Di instance Cloud Data Fusion, klik Admin sistem > Konfigurasi > Namespace.
- Klik namespace yang memiliki akun layanan yang ingin Anda hapus.
- Untuk menghapus akun layanan, buka tab Akun layanan. Di samping nama akun layanan, klik > Hapus. Menu
REST API
Untuk menghapus akun layanan namespace dari namespace, ikuti langkah-langkah berikut:
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:
Di konsol Google Cloud, buka halaman Instance Cloud Data Fusion dan buka instance di antarmuka web Cloud Data Fusion.
Klik Admin sistem > Konfigurasi > Namespace.
Klik nama namespace untuk melihat detail akun layanan.
REST API
Untuk mendapatkan nama akun layanan namespace, ikuti langkah-langkah berikut:
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
- Pelajari lebih lanjut kasus penggunaan untuk kontrol akses dengan akun layanan namespace.
- Pelajari lebih lanjut kontrol akses berbasis peran di Cloud Data Fusion.