Tabel berikut mencantumkan izin Identity and Access Management (IAM) yang diperlukan untuk menjalankan setiap metode JSON Cloud Storage pada resource tertentu. Izin IAM dipaketkan bersama untuk membuat peran. Anda memberikan peran kepada pengguna dan grup.
Untuk metode tambahan yang hanya berlaku pada bucket yang menonaktifkan Akses level bucket seragam, lihat tabel metode ACL.
Resource | Metode | Izin IAM yang Diperlukan1 |
---|---|---|
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.get storage.buckets.getIamPolicy 2storage.buckets.getIpFilter 13 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.create storage.buckets.enableObjectRetention 3storage.buckets.setIpFilter 14 |
Buckets |
list |
storage.buckets.list storage.buckets.getIamPolicy 2storage.buckets.getIpFilter 13 |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5storage.buckets.setIpFilter 14storage.buckets.getIpFilter 13 |
Buckets |
relocate |
storage.buckets.relocate |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
Tidak ada |
Buckets |
update |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5storage.buckets.setIpFilter 14storage.buckets.getIpFilter 13 |
Channels |
stop |
Tidak ada |
Folders |
get |
storage.folders.get |
Folders |
insert |
storage.folders.create |
Folders |
list |
storage.folders.list |
Folders |
rename |
storage.folders.rename storage.folders.create |
Folders |
delete |
storage.folders.delete |
ManagedFolders |
delete |
storage.managedfolders.delete storage.managedfolders.setIamPolicy 10 |
ManagedFolders |
get |
storage.managedfolders.get |
ManagedFolders |
getIamPolicy |
storage.managedfolders.getIamPolicy |
ManagedFolders |
insert |
storage.managedfolders.create |
ManagedFolders |
list |
storage.managedfolders.list |
ManagedFolders |
update |
storage.managedfolders.update |
ManagedFolders |
setIamPolicy |
storage.managedfolders.setIamPolicy |
Notifications |
delete |
storage.buckets.update |
Notifications |
get |
storage.buckets.get |
Notifications |
insert |
storage.buckets.update |
Notifications |
list |
storage.buckets.get |
Objects |
bulkRestore |
storage.buckets.restore storage.objects.create storage.objects.delete 11storage.objects.restore storage.objects.setIamPolicy 6,12 |
Objects |
compose |
storage.objects.get storage.objects.create storage.objects.delete 7storage.objects.getIamPolicy 2,6storage.objects.setRetention 8 |
Objects |
copy |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.get storage.objects.getIamPolicy 2,6 |
Objects |
insert |
storage.objects.create storage.objects.delete 7storage.objects.setRetention 8 |
Objects |
list |
storage.objects.list storage.objects.getIamPolicy 2,6 |
Objects |
move |
storage.objects.move 15storage.objects.delete 15storage.objects.get 15storage.objects.create storage.objects.delete 16storage.folders.create 17 |
Objects |
patch |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4,6storage.objects.setIamPolicy 5,6 |
Objects |
restore |
storage.objects.create storage.objects.delete 7storage.objects.restore storage.objects.getIamPolicy 2,6storage.objects.setIamPolicy 6,12 |
Objects |
rewrite |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
update |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4,6storage.objects.setIamPolicy 5,6 |
Objects |
watchAll |
storage.buckets.update |
Projects.hmacKeys |
create |
storage.hmacKeys.create |
Projects.hmacKeys |
delete |
storage.hmacKeys.delete |
Projects.hmacKeys |
get |
storage.hmacKeys.get |
Projects.hmacKeys |
list |
storage.hmacKeys.list |
Projects.hmacKeys |
update |
storage.hmacKeys.update |
Projects.serviceAccount |
get |
resourceManager.projects.get |
ReportConfigs |
delete |
storageinsights.reportConfigs.delete |
ReportConfigs |
get |
storageinsights.reportConfigs.get |
ReportConfigs |
list |
storageinsights.reportConfigs.list |
ReportConfigs |
insert |
storageinsights.reportConfigs.create |
ReportConfigs |
update |
storageinsights.reportConfigs.update |
ReportDetails |
get |
storageinsights.reportDetails.get |
ReportDetails |
list |
storageinsights.reportDetails.list |
1 Jika Anda menggunakan parameter userProject
atau
header x-goog-user-project
dalam permintaan, Anda harus memiliki
izin serviceusage.services.use
untuk project ID yang Anda tentukan, selain
izin IAM normal yang diperlukan untuk membuat
permintaan.
2 Izin ini hanya diperlukan jika Anda ingin menyertakan kebijakan ACL
atau IAM sebagai bagian dari proyeksi full
. Jika Anda tidak memiliki
izin ini dan meminta proyeksi full
, Anda hanya akan menerima proyeksi
sebagian.
3 Izin ini hanya diperlukan jika permintaan menyertakan parameter kueri enableObjectRetention
.
4 Izin ini hanya diperlukan jika Anda ingin menyertakan ACL sebagai bagian dari respons.
5 Izin ini diperlukan jika Anda ingin menyertakan ACL atau perubahan pada setelan pencegahan akses publik sebagai bagian dari permintaan.
6 Izin ini tidak berlaku untuk bucket dengan akses level bucket seragam yang diaktifkan.
7 Izin ini hanya diperlukan jika permintaan menyebabkan objek dengan nama yang sama ditimpa.
8 Izin ini diperlukan saat isi permintaan menyertakan properti retention
atau saat membuat permintaan UPDATE
untuk objek yang memiliki konfigurasi retensi yang sudah ada.
9 Izin ini hanya diperlukan jika permintaan menyertakan
parameter kueri overrideUnlockedRetention=true
.
10 Izin ini hanya diperlukan jika permintaan menyertakan
parameter kueri allowNonEmpty=true
.
11 Izin ini hanya diperlukan jika permintaan menyertakan
parameter kueri allowOverwrite=true
dan permintaan menyebabkan objek dengan
nama yang sama ditimpa.
12 Izin ini hanya diperlukan jika permintaan menyertakan
parameter kueri copySourceAcl=true
.
13 Izin ini hanya diperlukan jika Anda ingin menyertakan aturan pemfilteran IP
bucket sebagai bagian dari proyeksi full
. Jika Anda tidak memiliki izin
ini dan meminta proyeksi full
, Anda hanya akan menerima proyeksi
sebagian. Jika ingin mengecualikan aturan pemfilteran IP bucket dalam respons, Anda dapat meminta proyeksi noAcl
.
14 Izin ini hanya diperlukan jika Anda ingin membuat, mencantumkan, menghapus, dan memperbarui aturan pemfilteran IP bucket.
15 Untuk memindahkan objek dalam bucket dengan namespace hierarkis yang diaktifkan, Anda memerlukan izin storage.objects.delete
dan storage.objects.get
, atau izin storage.objects.move
jika ingin memindahkannya tanpa memberikan akses baca atau hapus ke objek.
16 Izin ini hanya diperlukan jika Anda ingin mengganti objek.
17 Izin ini hanya diperlukan jika Anda ingin membuat folder induk yang tidak ada secara otomatis.
Metode terkait ACL
Tabel berikut mencantumkan izin IAM yang diperlukan untuk menjalankan metode JSON yang berlaku khusus untuk pengelolaan ACL. Metode ini hanya berlaku untuk bucket yang telah menonaktifkan Akses level bucket seragam.
Resource | Metode | Izin IAM yang Diperlukan1 |
---|---|---|
BucketAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
get |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
list |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
update |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
1 Jika Anda menggunakan parameter userProject
atau
header x-goog-user-project
dalam permintaan Anda, Anda harus memiliki
izin serviceusage.services.use
untuk project ID yang Anda tentukan,
selain izin IAM normal yang diperlukan untuk membuat
permintaan.
Langkah berikutnya
Untuk mengetahui daftar peran dan izin yang dimilikinya, lihat Peran IAM untuk Cloud Storage.
Tetapkan peran IAM di level project dan bucket.