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 |
|---|---|---|
AnywhereCache |
create |
storage.anywhereCaches.create |
AnywhereCache |
disable |
storage.anywhereCaches.disable |
AnywhereCache |
get |
storage.anywhereCaches.get |
AnywhereCache |
list |
storage.anywhereCaches.list |
AnywhereCache |
pause |
storage.anywhereCaches.pause |
AnywhereCache |
resume |
storage.anywhereCaches.resume |
AnywhereCache |
update |
storage.anywhereCaches.update |
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.getstorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.get18 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.createstorage.buckets.enableObjectRetention3storage.buckets.setIpFilter14 |
Buckets |
list |
storage.buckets.liststorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.list |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13 |
Buckets |
relocate |
storage.buckets.relocate |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
Tidak ada |
Buckets |
update |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13storage.anywhereCaches.update |
DatasetConfigs |
delete |
storageinsights.datasetConfigs.delete |
DatasetConfigs |
get |
storageinsights.datasetConfigs.get |
DatasetConfigs |
insert |
storageinsights.datasetConfigs.create |
DatasetConfigs |
list |
storageinsights.datasetConfigs.list |
DatasetConfigs |
linkDataset |
storageinsights.datasetConfigs.linkDataset |
DatasetConfigs |
unlinkDataset |
storageinsights.datasetConfigs.unlinkDataset |
DatasetConfigs |
patch |
storageinsights.datasetConfigs.update |
Channels |
stop |
Tidak ada |
Folders |
get |
storage.folders.get |
Folders |
insert |
storage.folders.create |
Folders |
list |
storage.folders.list |
Folders |
rename |
storage.folders.renamestorage.folders.create |
Folders |
delete |
storage.folders.delete |
IntelligenceConfig |
getIntelligenceConfig |
storage.intelligenceConfigs.get |
IntelligenceConfig |
updateIntelligenceConfig |
storage.intelligenceConfigs.update |
Jobs |
create |
storagebatchoperations.jobs.create |
Jobs |
get |
storagebatchoperations.jobs.getstoragebatchoperations.operations.get |
Jobs |
list |
storagebatchoperations.jobs.liststoragebatchoperations.operations.list |
Jobs |
cancel |
storagebatchoperations.jobs.cancelstoragebatchoperations.operations.cancel |
Jobs |
delete |
storagebatchoperations.jobs.delete |
ManagedFolders |
delete |
storage.managedfolders.deletestorage.managedfolders.setIamPolicy10 |
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.restorestorage.objects.createstorage.objects.delete11storage.objects.restorestorage.objects.setIamPolicy6,12 |
Objects |
compose |
storage.objects.getstorage.objects.createstorage.objects.delete7storage.objects.getIamPolicy2,6storage.objects.setRetention8storage.objects.createContext19 |
Objects |
copy |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.getstorage.objects.getIamPolicy2,6 |
Objects |
insert |
storage.objects.createstorage.objects.delete7storage.objects.setRetention8storage.objects.createContext19 |
Objects |
list |
storage.objects.liststorage.objects.getIamPolicy2,6 |
Objects |
move |
storage.objects.move15storage.objects.delete15storage.objects.get15storage.objects.createstorage.objects.delete16storage.folders.create17 |
Objects |
patch |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
Objects |
restore |
storage.objects.createstorage.objects.delete7storage.objects.restorestorage.objects.getIamPolicy2,6storage.objects.setIamPolicy6,12 |
Objects |
rewrite |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
update |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
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 ID project 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 saat 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 ada.
9 Izin ini hanya diperlukan saat permintaan menyertakan
parameter kueri overrideUnlockedRetention=true.
10 Izin ini hanya diperlukan saat 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 saat permintaan menyertakan
parameter kueri copySourceAcl=true.
13 Izin ini hanya diperlukan jika Anda ingin menyertakan aturan pemfilteran IP bucket sebagai bagian dari permintaan Buckets: get. Jika Anda tidak memiliki izin ini, Anda hanya akan menerima proyeksi sebagian.
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 Anda 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 belum ada secara otomatis.
18 Izin ini hanya diperlukan jika Anda ingin menampilkan cache yang dibuat dengan Anywhere Cache.
19 Izin ini hanya diperlukan jika permintaan menyertakan
properti destination.contexts.custom yang tidak kosong untuk menyusun objek, atau properti contexts.custom yang tidak kosong untuk menyalin, menyisipkan, atau
menulis ulang objek.
20 Izin ini hanya diperlukan jika Anda ingin menambahkan konteks ke objek.
21 Izin ini hanya diperlukan jika Anda ingin memperbarui konteks objek.
22 Izin ini hanya diperlukan jika Anda ingin menghapus konteks objek.
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.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
get |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
list |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
update |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.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 ID project 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.