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