Izin IAM untuk perintah gcloud storage

Tabel berikut mencantumkan izin Identity and Access Management (IAM) yang diperlukan untuk menjalankan perintah gcloud storage. Izin IAM digabung menjadi satu untuk membuat peran. Anda memberikan peran kepada akun utama.

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

Perintah Tanda 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
buckets delete storage.buckets.delete
buckets describe storage.buckets.get
storage.buckets.getIamPolicy1
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 notifikasi penerimaan topik Pub/Sub)
pubsub.topics.setIamPolicy3 (untuk notifikasi penerimaan topik Pub/Sub)
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
buckets update --no-requester-pays storage.buckets.update
resourcemanager.projects.createBillingAssignment2
buckets update --recovery-point-objective
--rpo
--[no-]uniform-bucket-level-access
--[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)
du storage.objects.list
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
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
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 tidak menggunakan flag --no-clobber, tetapi memasukkan 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 tanda --fetch-encrypted-object-hashes.

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

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

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

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

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

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

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

Flag level atas --billing-project

Jika menggunakan flag global --billing-project untuk menentukan project yang harus ditagih atas permintaan Anda, Anda harus memiliki izin serviceusage.services.use untuk project yang ditentukan. Flag --billing-project digunakan, misalnya, saat mengakses bucket dengan Requester Pays diaktifkan.

Karakter pengganti dan flag rekursif

Jika menggunakan karakter pengganti URI untuk memilih beberapa objek dalam suatu 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 satu perintah, Anda harus memiliki izin storage.buckets.list untuk project yang berisi bucket tersebut.

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

Langkah selanjutnya