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:
- Jika Anda belum memiliki akun layanan untuk namespace, buat akun.
Di Konsol Google Cloud, buka halaman Instance Cloud Data Fusion, lalu buka instance di antarmuka web Cloud Data Fusion.
Klik System admin > Configuration > Namespace.
Klik namespace yang ingin dikonfigurasi.
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 Anda, lalu klik Simpan.
Ulangi langkah-langkah guna 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
: ID project tenant. Untuk menemukannya, buka halaman Instances, lalu klik nama instance. ID akan muncul di halaman Detail instance.SERVICE_ACCOUNT_PROJECT
: ID project Google Cloud 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 mengetahui 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. 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.
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:
- Di instance Cloud Data Fusion, klik System admin > Configuration > Namespaces.
- Klik namespace dengan akun layanan yang ingin diedit.
- 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 System admin > Configuration > Namespaces.
- Klik namespace dengan akun layanan yang ingin dihapus.
- Untuk menghapus akun layanan, buka tab Akun layanan. Di samping nama akun layanan, klik > Delete. 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
Guna mendapatkan informasi akun layanan untuk namespace, ikuti langkah-langkah berikut:
Di Konsol Google Cloud, buka halaman Instance Cloud Data Fusion, lalu buka instance di antarmuka web Cloud Data Fusion.
Klik System admin > Configuration > 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 kasus penggunaan kontrol akses dengan akun layanan namespace lebih lanjut.
- Pelajari lebih lanjut kontrol akses berbasis peran di Cloud Data Fusion.