Peran IAM untuk Cloud Storage

Peran yang telah ditetapkan

Tabel berikut menjelaskan peran Identity and Access Management (IAM) yang terkait dengan Cloud Storage dan mencantumkan izin yang terdapat dalam setiap peran. Kecuali jika dinyatakan lain, peran ini dapat diterapkan pada project, bucket, atau folder terkelola.

Untuk mempelajari cara mengontrol akses ke bucket, lihat menggunakan izin IAM. Untuk mempelajari cara mengontrol akses ke folder terkelola, lihat menggunakan IAM untuk folder terkelola.

Peran Deskripsi Izin
Storage Object Creator (roles/storage.objectCreator) Memungkinkan pengguna membuat objek. Tidak memberikan izin untuk melihat, menghapus, atau mengganti objek. Tidak memberikan izin untuk mendapatkan ACL objek atau menetapkan ACL objek sebagai bagian dari permintaan pembaruan objek. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.create
storage.managedFolders.create
storage.multipartUploads.create
storage.multipartUploads.abort
storage.multipartUploads.listParts
Storage Object Viewer (roles/storage.objectViewer) Memberikan akses untuk melihat objek dan metadatanya, tidak termasuk ACL.

Juga dapat membuat daftar objek dan folder terkelola di dalam bucket.

resourcemanager.projects.get2
resourcemanager.projects.list2
storage.managedFolders.get
storage.managedFolders.list
storage.objects.get
storage.objects.list
Storage Object User (roles/storage.objectUser) Memberikan akses untuk membuat, melihat, mencantumkan, memperbarui, dan menghapus objek dan folder terkelola, beserta metadatanya. Tidak memberikan izin untuk mendapatkan atau menetapkan kebijakan ACL atau IAM. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.list
storage.managedFolders.get
storage.multipartUploads.*
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.objects.list
storage.objects.restorestorage.objects.update
Storage Object Admin (roles/storage.objectAdmin) Memberikan kontrol penuh atas objek, termasuk mencantumkan, membuat, melihat, dan menghapus objek, serta menyetel ACL objek. Juga memberikan akses untuk membuat, menghapus, mendapatkan, dan mencantumkan folder terkelola. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.managedFolders.list
storage.objects.*
storage.multipartUploads.*
Storage Folder Admin (roles/storage.folderAdmin) Memberikan kontrol penuh atas objek dan folder terkelola, termasuk mencantumkan, membuat, melihat, menghapus, dan mengelola izin IAM. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.managedFolders.*
storage.multipartUploads.*
storage.objects.*
Storage HMAC Key Admin (roles/storage.hmacKeyAdmin) Kontrol penuh atas kunci HMAC dalam sebuah project. Peran ini hanya dapat diterapkan ke sebuah project. orgpolicy.policy.get1
storage.hmacKeys.*
Storage Admin (roles/storage.admin) Memberikan kontrol penuh atas bucket, folder terkelola, dan objek, termasuk mendapatkan dan menetapkan kebijakan IAM atau ACL objek.

Jika diterapkan ke masing-masing bucket, kontrol hanya berlaku untuk bucket yang ditentukan serta folder dan objek terkelola di dalam bucket.

firebase.projects.get
orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.buckets.*
storage.managedFolders.*
storage.objects.*
storage.multipartUploads.*
Storage Insights Admin (roles/storageinsights.admin) Memberikan kontrol penuh atas konfigurasi dan laporan inventaris Insight Penyimpanan. cloudresourcemanager.projects.get
cloudresourcemanager.projects.list
storageinsights.reportConfigs.*
storageinsights.reportDetails.*
Storage Insights Viewer (roles/storageinsights.viewer) Memberikan akses hanya baca ke konfigurasi dan laporan inventaris Insight Penyimpanan. cloudresourcemanager.projects.get
cloudresourcemanager.projects.list
storageinsights.reportConfigs.list
storageinsights.reportConfigs.get
storageinsights.reportDetails.list
storageinsights.reportDetails.get
Storage Insights Collector Service (roles/storage.insightsCollectorService) Memberikan akses baca ke metadata objek dalam laporan inventaris. resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.getObjectInsights
storage.buckets.get

1 Izin orgpolicy.policy.get memungkinkan akun utama mengetahui batasan kebijakan organisasi yang dipatuhi project. Izin ini saat ini hanya efektif jika peran tersebut diberikan pada level project atau lebih tinggi.

2 Untuk mengetahui informasi selengkapnya tentang izin resourcemanager.projects.*, lihat Kontrol akses untuk project dengan IAM.

Peran dasar

Peran dasar adalah peran yang ada sebelum IAM. Peran ini memiliki karakteristik unik:

  • Peran dasar hanya dapat diberikan untuk keseluruhan project, bukan untuk bucket individu dalam project. Seperti peran lain yang Anda berikan untuk sebuah project, peran dasar berlaku untuk semua bucket dan objek dalam project tersebut.

  • Peran dasar berisi izin tambahan untuk layanan Google Cloud lainnya yang tidak dibahas di bagian ini. Lihat peran dasar untuk diskusi umum tentang izin yang diberikan peran dasar.

  • Setiap peran dasar memiliki nilai praktis yang memungkinkan Anda menggunakan peran dasar seolah-olah peran tersebut merupakan grup. Jika digunakan dengan cara ini, setiap akun utama yang memiliki peran dasar dianggap sebagai bagian dari grup. Semua orang dalam grup mendapatkan akses tambahan ke resource berdasarkan akses yang dimiliki nilai kemudahan.

    • Nilai kemudahan dapat digunakan saat memberikan peran untuk bucket.

    • Nilai kemudahan dapat digunakan saat menetapkan ACL pada objek.

  • Peran dasar tidak secara intrinsik memberikan semua akses ke resource Cloud Storage sesuai dengan namanya. Sebaliknya, peran dasar memberikan sebagian dari akses yang diharapkan secara intrinsik dan sisa akses yang diharapkan melalui penggunaan nilai kemudahan. Karena nilai kemudahan dapat ditambahkan atau dihapus secara manual seperti akun utama IAM lainnya, akses yang mungkin dimiliki akun utama dapat dicabut.

    Untuk pembahasan tentang akses tambahan akun utama dengan peran dasar yang biasanya diperoleh dari nilai kemudahan, lihat perilaku yang dapat diubah.

Izin intrinsik

Tabel berikut menjelaskan izin Cloud Storage yang selalu dikaitkan dengan setiap peran dasar.

Peran Deskripsi Izin Cloud Storage
Viewer (roles/viewer) Memberikan izin untuk mencantumkan bucket dalam project; melihat metadata bucket saat membuat listing (tidak termasuk ACL); dan mencantumkan serta mendapatkan kunci HMAC dalam project. storage.buckets.list
storage.hmacKeys.get
storage.hmacKeys.list
Editor (roles/editor) Memberikan izin untuk membuat, mencantumkan, dan menghapus bucket dalam project; melihat metadata bucket saat membuat listing (tidak termasuk ACL); dan mengontrol kunci HMAC dalam project. storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.hmacKeys.*
Pemilik (roles/owner)

Memberikan izin untuk membuat, mencantumkan, dan menghapus bucket di project; melihat metadata bucket saat membuat listing (tidak termasuk ACL); membuat, menghapus, dan mencantumkan binding tag; dan mengontrol kunci HMAC dalam project

Umumnya dalam Google Cloud, akun utama dengan peran ini dapat melakukan tugas administratif, seperti mengubah peran utama untuk project atau mengubah penagihan.

storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.buckets.createTagBinding
storage.buckets.deleteTagBinding
storage.buckets.listEffectiveTags
storage.buckets.listTagBindings
storage.hmacKeys.*

Perilaku yang dapat diubah

Peran utama yang diberi peran dasar sering kali memiliki akses tambahan ke bucket dan objek project karena nilai kemudahan. Saat bucket dibuat, nilai kemudahan akan diberikan akses level bucket tertentu. Namun, Anda dapat mengedit kebijakan IAM bucket dan ACL objek untuk menghapus atau mengubah akses.

Saat Anda membuat bucket yang mengaktifkan akses level bucket seragam, akses berikut diberikan melalui nilai kemudahan:

  • Peran utama yang memberikan roles/viewer mendapatkan peran roles/storage.legacyBucketReader dan roles/storage.legacyObjectReader untuk bucket.

  • Peran utama yang memberikan roles/editor mendapatkan peran roles/storage.legacyBucketOwner dan roles/storage.legacyObjectOwner untuk bucket.

  • Peran utama yang memberikan roles/owner mendapatkan peran roles/storage.legacyBucketOwner dan roles/storage.legacyObjectOwner untuk bucket.

Jika Anda membuat bucket yang tidak mengaktifkan akses level bucket seragam, akses berikut diberikan menggunakan nilai kemudahan:

  • Peran utama memberikan roles/viewer akses ke peran roles/storage.legacyBucketReader untuk bucket.

  • Peran utama memberikan roles/editor akses ke peran roles/storage.legacyBucketOwner untuk bucket.

  • Peran utama memberikan roles/owner akses ke peran roles/storage.legacyBucketOwner untuk bucket.

  • Selain itu, bucket memiliki Daftar Kontrol Akses (ACL) objek default. ACL default ini sering diterapkan pada objek baru di bucket dan sering memberikan akses tambahan ke nilai kemudahan.

Peran lama yang telah ditetapkan sebelumnya

Tabel berikut mencantumkan peran IAM yang setara dengan izin Daftar Kontrol Akses (ACL). Anda dapat memberikan peran lama hanya untuk masing-masing bucket, bukan untuk project.

Peran Deskripsi Izin
Storage Legacy Object Reader (roles/storage.legacyObjectReader) Memberikan izin untuk melihat objek dan metadatanya, tidak termasuk ACL. storage.objects.get
Storage Legacy Object Owner (roles/storage.legacyObjectOwner) Memberikan izin untuk melihat dan mengedit objek dan metadatanya, termasuk ACL. storage.objects.get
storage.objects.update
storage.objects.setRetention
storage.objects.overrideUnlockedRetention
storage.objects.setIamPolicy
storage.objects.getIamPolicy
Storage Legacy Bucket Reader (roles/storage.legacyBucketReader) Memberikan izin untuk mencantumkan konten bucket dan membaca metadata bucket, kecuali kebijakan IAM. Juga memberikan izin untuk membaca metadata objek saat mencantumkan objek dan folder terkelola (tidak termasuk kebijakan IAM).

Penggunaan peran ini juga tercermin dalam ACL bucket. Lihat hubungan IAM dengan ACL untuk informasi selengkapnya.

storage.buckets.get
storage.objects.list
storage.managedFolders.get
storage.managedFolders.list
storage.multipartUploads.list
Storage Legacy Bucket Writer (roles/storage.legacyBucketWriter) Memberikan izin untuk membuat, mengganti, mencantumkan, dan menghapus objek serta folder terkelola; membuat objek yang memiliki konfigurasi retensi; objek membaca dan metadata folder terkelola saat membuat daftar (kecuali kebijakan IAM); dan membaca metadata bucket, tidak termasuk kebijakan IAM.

Penggunaan peran ini juga tercermin dalam ACL bucket. Lihat hubungan IAM dengan ACL untuk informasi selengkapnya.

storage.buckets.get
storage.objects.list
storage.objects.create
storage.objects.delete
storage.objects.restore
storage.objects.setRetention
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.managedFolders.list
storage.multipartUploads.*
Storage Legacy Bucket Owner (roles/storage.legacyBucketOwner) Memberikan izin untuk membuat, mengganti, mencantumkan, dan menghapus objek serta folder terkelola; membuat objek yang memiliki konfigurasi retensi; membuat, menghapus, dan mencantumkan binding tag; membaca metadata objek saat membuat daftar (kecuali kebijakan IAM); membaca metadata folder terkelola saat membuat daftar (termasuk kebijakan IAM); serta membaca dan mengedit metadata bucket (termasuk kebijakan IAM).

Penggunaan peran ini juga tercermin dalam ACL bucket. Lihat hubungan IAM dengan ACL untuk informasi selengkapnya.

storage.buckets.get
storage.buckets.createTagBinding
storage.buckets.deleteTagBinding
storage.buckets.listEffectiveTags
storage.buckets.listTagBindings
storage.buckets.update
storage.buckets.enableObjectRetention
storage.buckets.restore
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.managedFolders.*
storage.objects.list
storage.objects.create
storage.objects.delete
storage.objects.restore
storage.objects.setRetention
storage.multipartUploads.*

Peran khusus

Sebaiknya Anda menentukan peran Anda sendiri yang berisi paket izin yang Anda tentukan. Untuk mendukung ini, IAM menawarkan peran khusus.

Langkah selanjutnya