Izin IAM untuk perintah gcloud storage

Tabel berikut mencantumkan izin Identity and Access Management (IAM) yang diperlukan untuk menjalankan perintah gcloud storage. Izin IAM dipaketkan bersama untuk membuat peran. Anda memberikan peran ke akun utama.

Lihat bagian di bawah tabel untuk mengetahui catatan tentang penggunaan karakter pengganti, flag --recursive, dan flag --billing-project.

Perintah Flag Izin IAM yang Diperlukan
buckets add-iam-policy-binding storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
buckets create storage.buckets.create
storage.buckets.setIpFilter16
buckets delete storage.buckets.delete
buckets describe storage.buckets.get
storage.buckets.getIamPolicy1
storage.buckets.getIpFilter17
buckets get-iam-policy storage.buckets.get
storage.buckets.getIamPolicy
buckets list storage.buckets.list
storage.buckets.getIamPolicy1
buckets notifications create storage.buckets.get
storage.buckets.update
pubsub.topics.get (untuk project yang berisi topik Pub/Sub)
pubsub.topics.create3 (untuk project yang berisi topik Pub/Sub)
pubsub.topics.getIamPolicy (untuk topik Pub/Sub yang menerima notifikasi)
pubsub.topics.setIamPolicy3 (untuk topik Pub/Sub yang menerima notifikasi)
buckets notifications create --skip-topic-setup storage.buckets.get
storage.buckets.update
buckets notifications delete storage.buckets.get
storage.buckets.update
buckets notifications describe storage.buckets.get
buckets notifications list storage.buckets.get
buckets remove-iam-policy-binding storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
buckets set-iam-policy storage.buckets.setIamPolicy
storage.buckets.update
buckets update storage.buckets.update
storage.buckets.setIpFilter16
buckets update --no-requester-pays storage.buckets.update
resourcemanager.projects.createBillingAssignment2
buckets update --recovery-point-objective
--rpo
--[no-]uniform-bucket-level-access
storage.buckets.get
storage.buckets.update
buckets update --clear-pap
--clear-public-access-prevention
--[no-]pap
--[no-]public-access-prevention
storage.buckets.get
storage.buckets.update
storage.buckets.setIamPolicy
cat storage.objects.get
storage.objects.list13
cp storage.objects.get (untuk objek sumber)
storage.buckets.get12 (untuk bucket tujuan)
storage.objects.list4 (untuk bucket tujuan)
storage.objects.create (untuk bucket tujuan)
storage.objects.delete5 (untuk bucket tujuan)
storageinsights.reportDetails.get15
du storage.objects.list
folders create storage.folders.create
folders delete storage.folders.delete
folders describe storage.folders.get
folders list storage.folders.list
folders rename storage.folders.rename (untuk bucket sumber)
storage.folders.create (untuk bucket tujuan)
hash storage.objects.get
hmac create storage.hmacKeys.create
hmac delete storage.hmacKeys.delete
hmac describe storage.hmacKeys.get
hmac list storage.hmacKeys.list
hmac update storage.hmacKeys.update
insights inventory-reports create storageinsights.reportConfigs.create
insights inventory-reports delete storageinsights.reportConfigs.delete
insights inventory-reports details list storageinsights.reportDetails.list
insights inventory-reports details describe storageinsights.reportDetails.get
insights inventory-reports list storageinsights.reportConfigs.list
insights inventory-reports update storageinsights.reportConfigs.get
storageinsights.reportConfigs.update
ls (untuk listingan bucket) storage.buckets.list
storage.buckets.getIamPolicy6
ls (untuk listingan objek) storage.objects.get7
storage.objects.list
storage.objects.getIamPolicy8
ls --buckets storage.buckets.get
storage.buckets.getIamPolicy6
mv storage.objects.list4 (untuk bucket tujuan)
storage.objects.get (untuk objek sumber)
storage.objects.create (untuk bucket tujuan)
storage.objects.delete (untuk bucket sumber)
storage.objects.delete5 (untuk bucket tujuan)
objects compose storage.objects.get
storage.objects.create
storage.objects.delete9
objects describe storage.objects.get
storage.objects.getIamPolicy8
objects list storage.objects.list
storage.objects.getIamPolicy8
objects update storage.objects.get
storage.objects.list
storage.objects.update
objects update --storage-class
--encryption-key
--clear-encryption-key
storage.objects.get
storage.objects.list
storage.objects.create
storage.objects.delete
objects update --retention-mode
--retain-until
--clear-retention
storage.objects.get
storage.objects.list
storage.objects.update
storage.objects.setRetention
storage.objects.overrideUnlockedRetention11
operations cancel storage.bucketOperations.cancel
operations describe storage.bucketOperations.get
operations list storage.bucketOperations.list
restore storage.objects.create
storage.objects.delete9
storage.objects.restore
restore --async storage.objects.create
storage.objects.delete14
storage.objects.restore
storage.buckets.restore
rm storage.buckets.delete
storage.objects.delete
storage.objects.list
rsync storage.objects.get (untuk objek sumber dan bucket tujuan)
storage.objects.create (untuk bucket tujuan)
storage.objects.delete10 (untuk bucket tujuan)
storage.objects.list (untuk bucket sumber dan tujuan)
rsync --dry-run storage.objects.list (untuk bucket sumber dan tujuan)
service-agent resourceManager.projects.get
sign-url Tidak ada; tetapi akun layanan yang kuncinya digunakan sebagai bagian dari perintah ini harus memiliki izin untuk melakukan permintaan yang dienkode ke dalam URL yang ditandatangani.

1Izin ini hanya diperlukan jika Anda ingin menyertakan kebijakan IAM dalam detailnya.

2Izin ini hanya diperlukan jika Anda tidak menyertakan project penagihan dalam permintaan. Lihat Persyaratan penggunaan dan akses Pemohon yang Membayar untuk mengetahui informasi selengkapnya.

3Izin ini tidak diperlukan jika topik sudah ada dan akun layanan yang relevan memiliki akses ke topik tersebut.

4 Izin ini hanya diperlukan jika tujuan dalam perintah berisi jalur objek.

5Izin ini hanya diperlukan jika Anda menggunakan upload komposit paralel atau jika Anda tidak menggunakan flag --no-clobber, tetapi menyisipkan objek yang memiliki nama yang sama dengan objek yang sudah ada di bucket.

6Izin ini hanya diperlukan jika Anda ingin menyertakan kebijakan IAM dalam detailnya.

7Izin ini hanya diperlukan jika Anda menggunakan flag --fetch-encrypted-object-hashes.

8Izin ini hanya diperlukan jika Anda ingin kebijakan IAM disertakan dalam detailnya, dan tidak berlaku untuk bucket yang mengaktifkan akses level bucket yang seragam.

9Izin ini hanya diperlukan jika operasi membuat objek dengan nama yang sama dengan objek yang sudah ada di bucket.

10Izin ini hanya diperlukan jika Anda menggunakan flag --delete-unmatched-destination-objects atau jika Anda menyisipkan objek yang memiliki nama yang sama, tetapi data yang berbeda dari objek yang sudah ada di bucket.

11Izin ini hanya diperlukan jika permintaan juga mengharuskan Anda menggunakan flag --override-unlocked-retention.

12Izin ini diperlukan untuk melakukan upload gabungan paralel jika properti gcloud CLI storage/parallel_composite_upload_compatibility_check ditetapkan ke True.

13Izin ini hanya diperlukan jika Anda ingin menggunakan ekspresi reguler untuk mengambil objek.

14Izin ini hanya diperlukan jika permintaan menyertakan tanda --allow-overwrite dan operasi membuat objek dengan nama yang sama dengan objek yang sudah ada di bucket.

15Izin ini hanya diperlukan untuk mendownload laporan inventaris.

16Izin ini hanya diperlukan jika permintaan menyertakan tanda --ip-filter-file untuk membuat, memperbarui, atau menghapus aturan pemfilteran IP di bucket.

17Izin ini hanya diperlukan jika Anda ingin mendapatkan konfigurasi filter IP bucket sebagai bagian dari respons.

Flag level atas --billing-project

Jika menggunakan flag global --billing-project untuk menentukan project yang harus ditagih untuk permintaan Anda, Anda harus memiliki izin serviceusage.services.use untuk project yang ditentukan. Flag --billing-project digunakan, misalnya, saat mengakses bucket yang mengaktifkan Pemohon yang Membayar.

Karakter pengganti dan flag rekursif

Jika menggunakan karakter pengganti URI untuk memilih beberapa objek dalam perintah, Anda harus memiliki izin storage.objects.list untuk bucket yang berisi objek. Demikian pula, jika menggunakan karakter pengganti URI untuk memilih beberapa bucket dalam perintah, Anda harus memiliki izin storage.buckets.list untuk project yang berisi bucket.

Jika menggunakan flag --recursive, Anda harus memiliki izin storage.objects.list untuk bucket yang relevan, selain izin yang diperlukan untuk perintah tertentu yang Anda gunakan.

Langkah selanjutnya