Kasus penggunaan: Kontrol akses dengan akun layanan namespace

Halaman ini menjelaskan kasus penggunaan ketika Anda mengontrol akses ke resource Google Cloud di tingkat namespace saat memigrasikan data dari Cloud Storage ke BigQuery.

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.

Untuk mengetahui informasi selengkapnya, lihat Kontrol akses dengan akun layanan namespace.

Skenario

Dalam kasus penggunaan ini, departemen pemasaran Anda memigrasikan data dari Cloud Storage ke BigQuery menggunakan Cloud Data Fusion.

Pipeline data yang menunjukkan sumber Cloud Storage, transformasi Wrangler, dan sink BigQuery.

Departemen pemasaran memiliki tiga tim: A, B, dan C. Tujuan Anda adalah membuat pendekatan terstruktur untuk mengontrol akses data di Cloud Storage melalui namespace Cloud Data Fusion yang sesuai dengan masing-masing tim—A, B, dan C.

Solusi

Langkah-langkah berikut menunjukkan cara mengontrol akses ke resource Google Cloud dengan akun layanan namespace, sehingga mencegah akses tidak sah antara datastore milik tim yang berbeda.

Mengaitkan akun layanan Identity and Access Management ke setiap namespace

Konfigurasikan akun layanan IAM di namespace untuk setiap tim (lihat Mengonfigurasi akun layanan namespace):

  1. Siapkan kontrol akses dengan menambahkan akun layanan khusus untuk Tim A—misalnya, team-a@pipeline-design-time-project.iam.gserviceaccount.com.

    Konfigurasi akun layanan untuk Tim A.
    Gambar 1: Menambahkan akun layanan yang disesuaikan untuk Tim A.
  2. Ulangi langkah-langkah konfigurasi untuk Tim B dan C guna menyiapkan kontrol akses dengan akun layanan serupa yang disesuaikan.

Membatasi akses ke bucket Cloud Storage

Batasi akses ke bucket Cloud Storage dengan memberikan izin yang sesuai:

  1. Berikan izin storage.buckets.list kepada akun layanan IAM, yang diperlukan untuk mencantumkan bucket Cloud Storage dalam project. Untuk informasi selengkapnya, lihat Mencantumkan bucket.
  2. Berikan izin kepada akun layanan IAM untuk mengakses objek di bucket tertentu.

    Misalnya, berikan peran Storage Object Viewer ke akun layanan IAM yang terkait dengan namespace team_A pada bucket team_a1. Izin ini memungkinkan Tim A melihat dan mencantumkan objek dan folder terkelola, bersama metadatanya, dalam bucket tersebut di lingkungan waktu desain yang terisolasi.

    Berikan peran tersebut di halaman detail Bucket.
    Gambar 2: Di halaman Buckets Cloud Storage, tambahkan tim sebagai akun utama dan tetapkan peran Storage Object User.

Membuat koneksi Cloud Storage di namespace masing-masing

Buat koneksi Cloud Storage di namespace masing-masing tim:

  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 > Namespaces.

  3. Klik namespace yang ingin Anda gunakan—misalnya, namespace untuk Tim A.

  4. Klik tab Connections, lalu klik Add connection.

  5. Pilih GCS, lalu konfigurasikan koneksi.

    Membuat koneksi Cloud Storage di Cloud Data Fusion
    Gambar 3: Mengonfigurasi koneksi Cloud Storage untuk namespace.
  6. Buat koneksi Cloud Storage untuk setiap namespace dengan mengulangi langkah-langkah sebelumnya. Selanjutnya, setiap tim dapat berinteraksi dengan salinan resource tersebut untuk operasi waktu desain mereka.

Memvalidasi isolasi waktu desain untuk setiap namespace

Tim A dapat memvalidasi isolasi pada desain dengan mengakses bucket Cloud Storage di namespace masing-masing:

  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 > Namespaces.

  3. Pilih namespace—misalnya namespace Tim A, team_A.

  4. Klik Menu > Wrangler.

  5. Klik GCS.

  6. Di daftar bucket, klik bucket team_a1.

    • Anda dapat melihat daftar bucket karena namespace Tim A memiliki izin storage.buckets.list.

    • Saat mengklik bucket, Anda dapat melihat kontennya karena namespace Tim A memiliki peran Storage Object Viewer.

    Validasi koneksi Cloud Storage untuk Tim A. Validasi bucket dapat diakses oleh Tim A.
    Gambar 4 dan 5: Pastikan Tim A dapat mengakses bucket penyimpanan yang sesuai.
  7. Kembali ke daftar bucket, lalu klik bucket team_b1 atau team_c1. Akses tersebut akan dibatasi karena Anda mengisolasi resource waktu desain ini untuk Tim A menggunakan akun layanan namespace-nya.

    Pastikan Tim A tidak dapat mengakses resource yang dibatasi.
    Gambar 6: Pastikan Tim A tidak dapat mengakses bucket penyimpanan Tim B dan C.

Langkah selanjutnya

  • Pelajari lebih lanjut fitur keamanan di Cloud Data Fusion.