Berbagi dan kolaborasi

Dokumen ini berisi skenario seputar aktivitas berbagi data dan kolaborasi secara umum. Dokumen ini juga berisi penjelasan tentang cara mengonfigurasi kebijakan Identity and Access Management (IAM) untuk project dan bucket Anda guna mengimplementasikan skenario.

Penyimpanan dan pemeliharaan data pribadi

Dalam skenario ini, seorang analis pemasaran di suatu perusahaan ingin menggunakan Cloud Storage untuk mencadangkan perkiraan pendapatan dan data proyeksi penjualan yang bersifat rahasia. Data ini hanya boleh diakses oleh analis pemasaran. Departemen IT perusahaan bertugas mengawasi dan mengelola akun Cloud Storage perusahaan. Tanggung jawab pengelolaan utama mereka termasuk membuat dan membagikan bucket sehingga berbagai departemen di seluruh perusahaan memiliki akses ke Cloud Storage.

Untuk memenuhi kebutuhan kerahasiaan dan privasi analis pemasaran, izin bucket dan objek harus memungkinkan staf IT untuk mengelola bucket tempat spreadsheet disimpan, tetapi juga memastikan agar staf IT tidak dapat melihat atau mendownload data yang disimpan dalam bucket. Untuk melakukannya, buat bucket bernama finance-marketing dan berikan peran berikut untuk resource yang tercantum kepada akun utama yang ditentukan:

Peran Resource Akun utama Deskripsi
Storage Legacy Bucket Owner Bucket finance-marketing Staf IT Memberi staf IT peran Storage Legacy Bucket Owner untuk bucket memungkinkan mereka untuk melakukan tugas pengelolaan bucket umum, seperti menghapus objek dan mengubah kebijakan IAM pada bucket. Dengan begitu, staf IT dapat mencantumkan konten bucket finance-marketing, tetapi tidak dapat melihat atau mendownload konten tersebut.
Storage Object User Bucket finance-marketing Analis pemasaran Memberi analis pemasaran peran Storage Object User untuk bucket memungkinkan dia mengupload, melihat, memperbarui, dan menghapus objek di bucket.

Dengan peran ini, tidak ada seorang pun, kecuali analis pemasaran, yang dapat melihat atau mendownload objek yang ada di bucket. Staf IT tetap dapat mencantumkan konten bucket finance-marketing, serta dapat menghapus dan mengganti file yang disimpan di bucket jika diperlukan.

Menerapkan skenario ini

Tindakan Anda

Anda harus melakukan tindakan berikut untuk menerapkan skenario ini:

  1. Buat bucket bernama finance-marketing. Untuk mengetahui petunjuk langkah demi langkah, lihat Membuat bucket.

  2. Beri setiap anggota staf IT peran Storage Legacy Bucket Owner untuk bucket. Untuk mengetahui petunjuk langkah demi langkah, lihat Menambahkan akun utama ke kebijakan level bucket.

Tindakan staf IT

Staf IT harus melakukan tindakan berikut untuk menerapkan skenario ini:

  1. Beri analis pemasaran peran Storage Object User untuk bucket. Untuk mengetahui petunjuk langkah demi langkah, lihat Menambahkan akun utama ke kebijakan level bucket.

Drop box vendor

Dalam skenario ini, perusahaan konstruksi bekerja sama dengan beberapa perusahaan desain arsitektur yang membuat rancangan pembangunan untuk berbagai project. Perusahaan konstruksi ingin membuat drop box bagi perusahaan vendor agar mereka dapat mengupload rancangan arsitektur pada berbagai tonggak pencapaian project. Drop box-nya harus memastikan privasi klien perusahaan konstruksi, yang artinya drop box tidak boleh mengizinkan vendor untuk melihat hasil kerja satu sama lain. Untuk melakukan hal ini, buat bucket terpisah untuk tiap-tiap perusahaan arsitektur dan berikan peran berikut untuk resource yang tercantum kepada akun utama yang ditentukan:

Peran Resource Akun utama Deskripsi
Owner Keseluruhan project Manajer perusahaan konstruksi Memberikan peran Owner pada level project kepada manajer perusahaan konstruksi memungkinkannya membuat bucket untuk setiap vendor.
Storage Object Viewer Keseluruhan project Manajer perusahaan konstruksi Peran Storage Object Viewer memungkinkan manajer perusahaan konstruksi untuk mendownload objek yang diupload oleh vendor.
Storage Legacy Bucket Owner Setiap bucket vendor Manajer perusahaan konstruksi Peran Storage Legacy Bucket Owner memungkinkan manajer perusahaan konstruksi untuk mencantumkan konten setiap bucket serta menghapus objek pada akhir setiap pencapaian project.
Storage Object Admin Setiap bucket vendor Vendor yang terkait dengan bucket Memberikan peran Storage Object Admin kepada setiap vendor untuk bucket-nya masing-masing memberi mereka kontrol penuh atas objek di bucket, termasuk kemampuan untuk mengupload objek, mencantumkan objek di bucket, dan mengontrol siapa saja yang memiliki akses ke setiap objek. Peran tersebut tidak mengizinkan mereka mengubah atau melihat metadata, seperti peran di bucket secara keseluruhan, serta tidak mengizinkan mereka untuk mencantumkan atau melihat bucket lain di dalam project. Dengan begitu, privasi setiap vendor tersebut dapat tetap terjaga.

Menerapkan skenario ini

Tindakan Anda

Anda harus melakukan tindakan berikut untuk menerapkan skenario ini:

  1. Berikan peran Owner dan Storage Object Viewer pada project kepada manajer perusahaan konstruksi. Untuk mengetahui petunjuk langkah demi langkah, lihat Memberikan peran tunggal.

Tindakan manajer perusahaan konstruksi

Manajer perusahaan konstruksi harus melakukan tindakan berikut untuk menerapkan skenario ini:

  1. Buat bucket terpisah untuk tiap-tiap vendor. Untuk mengetahui petunjuk langkah demi langkah, lihat Membuat bucket.

    Karena memiliki peran Owner, manajer konstruksi otomatis mendapatkan peran Storage Legacy Bucket Owner untuk setiap bucket yang dia buat.

  2. Berikan peran Storage Object Admin untuk bucket kepada setiap vendor. Untuk mengetahui petunjuk langkah demi langkah, lihat Menambahkan akun utama ke kebijakan level bucket.

  3. Jika ada vendor yang ingin menggunakan Konsol Google Cloud, beri mereka link ke bucket, menggunakan format berikut:

    https://console.cloud.google.com/storage/browser/BUCKET_NAME

    dengan BUCKET_NAME adalah nama bucket vendor.

Tindakan vendor

Setiap vendor harus melakukan tindakan berikut untuk menerapkan skenario ini:

  1. Upload objek ke bucket yang ditetapkan. Cara termudah untuk melakukannya adalah melalui Konsol Google Cloud. Metode lainnya, seperti Google Cloud CLI, memerlukan penyiapan terlebih dahulu agar dapat digunakan. Untuk mengetahui petunjuk langkah demi langkah, lihat Mengupload objek.

Download browser terautentikasi

Dalam skenario ini, klien ingin menyediakan file kepada orang-orang tertentu melalui download browser sederhana. Anda dapat melakukannya menggunakan autentikasi berbasis cookie dari Cloud Storage. Untuk mendownload objek, pengguna harus melakukan autentikasi dengan login ke akun yang valid, yang mencakup Google Workspace, Cloud Identity, Gmail, dan federasi identitas tenaga kerja. Pengguna terautentikasi berikut dapat mendownload objek tersebut:

Semua pengguna lain selain yang disebutkan di atas akan menerima error 403 Forbidden (access denied).

Untuk menggunakan fitur ini, berikan izin akses objek kepada pengguna, lalu berikan URL khusus ke objek tersebut. Saat pengguna mengklik URL tersebut, Cloud Storage akan meminta mereka untuk login ke akun mereka (jika belum login) dan objek akan didownload ke komputer mereka.

Menerapkan skenario ini

Anda dapat menerapkan autentikasi berbasis cookie dengan empat langkah umum:

  1. Buat bucket. Untuk mengetahui petunjuk langkah demi langkah, lihat Membuat bucket.

    Dengan asumsi bahwa Anda membuat bucket dalam project milik sendiri, Anda otomatis mendapatkan izin untuk mengupload objek ke bucket dan mengubah siapa saja yang dapat mengakses bucket.

  2. Upload objek yang ingin dibagikan. Untuk mengetahui petunjuk langkah demi langkah, lihat Mengupload objek.

  3. Beri pengguna akses ke objek. Cara umum untuk melakukannya adalah dengan mengubah kebijakan IAM bucket untuk memberi pengguna tertentu peran Storage Object Viewer, yang berlaku untuk semua objek di bucket. Untuk mengetahui petunjuk langkah demi langkah, lihat Menambahkan akun utama ke kebijakan level bucket.

  4. Berikan URL khusus ke objek kepada pengguna.

    Download browser terautentikasi mengakses Cloud Storage melalui endpoint URL tertentu. Gunakan URL berikut:

    https://storage.cloud.google.com/BUCKET_NAME/OBJECT_NAME

    Dengan keterangan:

    • BUCKET_NAME adalah nama bucket yang menampung objek yang diinginkan. Contoh, my-bucket.
    • OBJECT_NAME adalah nama objek yang diinginkan. Contoh, pets/dog.png.

    Anda dapat memberikan URL ini dengan berbagai cara, karena hanya pengguna dengan izin akses yang sesuai yang dapat melihatnya. Anda dapat mengirimkannya secara langsung atau mempostingnya di halaman web.

Menggunakan grup untuk mengontrol akses

Dalam skenario ini, Anda ingin memberikan objek kepada pengguna tertentu, misalnya kepada pengguna yang diundang untuk mencoba software baru. Selain itu, Anda ingin mengundang sebanyak mungkin pengguna, tetapi tidak ingin menetapkan izin satu per satu kepada setiap pengguna. Pada saat yang sama, Anda tidak ingin membuat objek tersebut dapat dibaca oleh publik dan tidak ingin mengirim link kepada pengguna yang diundang untuk mengakses objek, karena ada risiko link dapat dikirim kepada pengguna yang tidak diundang.

Salah satu cara untuk menangani skenario ini adalah melalui penggunaan Google Grup. Anda dapat membuat grup dan hanya menambahkan pengguna yang diundang saja ke grup tersebut. Kemudian, Anda dapat memberi grup tersebut akses menyeluruh ke objek:

Peran Resource Akun utama Deskripsi
Storage Object Viewer Bucket Anda Grup Google Memberikan peran Storage Object Viewer untuk bucket kepada Grup Google memungkinkan setiap pelanggan yang menjadi anggota Grup Google tersebut untuk melihat objek di dalam bucket. Orang di luar grup tidak akan memiliki akses ke objek.

Menerapkan skenario ini

  1. Buat grup Google dan tambahkan pelanggan ke dalamnya. Untuk mengetahui petunjuk langkah demi langkah, lihat Membuat grup.

  2. Buat bucket. Untuk mengetahui petunjuk langkah demi langkah, lihat Membuat bucket.

  3. Upload objek ke bucket. Untuk mengetahui petunjuk langkah demi langkah, lihat Mengupload objek.

  4. Berikan akses grup Google ke objek tersebut.

    • Anda dapat menggunakan peran IAM storage.objectViewer untuk memberikan akses lihat ke semua objek dalam bucket. Untuk mengetahui petunjuk langkah demi langkah, lihat Menambahkan akun utama ke kebijakan level bucket.

    • Jika Anda hanya ingin memberikan akses ke beberapa objek di bucket, tetapkan ACL Reader di tiap-tiap objek tersebut. Untuk mengetahui petunjuk langkah demi langkah, lihat Menetapkan ACL.

  5. Bagikan endpoint permintaan yang sesuai dengan grup, agar mereka tahu tempat untuk mengakses objek tersebut

    Misalnya, saat menggunakan Konsol Google Cloud, URL https://console.cloud.google.com/storage/browser/BUCKET_NAME akan mengarahkan Anda ke daftar objek di bucket BUCKET_NAME.

Menggunakan folder terkelola untuk mengontrol akses

Dalam skenario ini, Anda memiliki beberapa pelanggan yang masing-masing memiliki situs unik yang berisi gambar kustom. Anda ingin pelanggan dapat mengupload gambar hanya ke situs mereka, tetapi tidak ke situs lain. Saat pelanggan membatalkan akunnya, Anda ingin menonaktifkan akses publik ke gambar di situsnya, tetapi sebaiknya jangan hapus gambar jika pelanggan ingin mengaktifkan kembali akunnya.

Salah satu cara untuk menangani skenario ini adalah melalui penggunaan folder terkelola. Anda dapat membuat beberapa folder terkelola dalam bucket dan menggunakan IAM untuk mengontrol akses ke setiap folder terkelola bagi pelanggan dan pengguna akhir mereka.

Menerapkan skenario ini

  1. Membuat bucket.

  2. Buat folder terkelola di bucket untuk setiap situs pelanggan.

  3. Untuk setiap folder terkelola, tetapkan kebijakan IAM yang memberikan peran Storage Object User (roles/storage.objectUser) kepada pelanggan, sehingga pelanggan dapat mengupload objek ke folder terkelola dan menghapus objek dari folder terkelola.

  4. Untuk semua folder terkelola, tetapkan kebijakan IAM yang memberikan peran Storage Object Viewer (roles/storage.objectViewer) ke prinsipal allUsers, sehingga objek gambar di folder terkelola dapat dilihat oleh publik.

    Atau, Anda dapat memberikan peran khusus yang memberi allUsers izin IAM storage.objects.get.

  5. Saat pelanggan membatalkan akunnya, hapus kebijakan IAM yang memberi pelanggan peran Storage Object User (roles/storage.objectUser) untuk folder terkelola terkait. Untuk menonaktifkan akses publik ke objek dalam folder terkelola tersebut, hapus kebijakan IAM yang memberikan peran Storage Object Viewer (roles/storage.objectViewer) ke allUsers.