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, 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
storage.buckets.setIpFilter 16 |
|
buckets delete |
storage.buckets.delete |
|
buckets describe |
storage.buckets.get storage.buckets.getIamPolicy 1storage.buckets.getIpFilter 17 |
|
buckets get-iam-policy |
storage.buckets.get storage.buckets.getIamPolicy |
|
buckets list |
storage.buckets.list storage.buckets.getIamPolicy 1 |
|
buckets notifications create |
storage.buckets.get storage.buckets.update pubsub.topics.get (untuk project yang berisi topik Pub/Sub)pubsub.topics.create 3 (untuk project yang berisi topik Pub/Sub)pubsub.topics.getIamPolicy (untuk topik Pub/Sub yang menerima notifikasi)pubsub.topics.setIamPolicy 3 (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.setIpFilter 16 |
|
buckets update |
--no-requester-pays |
storage.buckets.update resourcemanager.projects.createBillingAssignment 2 |
buckets update |
--[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.list 13 |
|
cp |
storage.objects.get storage.buckets.get 12storage.objects.list 4 (untuk bucket tujuan)
storage.objects.create storage.objects.delete 5 |
|
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 storage.folders.create |
|
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.getIamPolicy 6 |
|
ls (untuk listingan objek) |
storage.objects.get 7storage.objects.list storage.objects.getIamPolicy 8 |
|
ls |
--buckets |
storage.buckets.get storage.buckets.getIamPolicy 6 |
mv |
storage.objects.list 4 (untuk bucket tujuan)storage.objects.get (untuk objek sumber)storage.objects.create (untuk bucket tujuan)storage.objects.delete (untuk bucket sumber)storage.objects.delete 5 (untuk bucket tujuan) |
|
objects compose |
storage.objects.get storage.objects.create storage.objects.delete 9 |
|
objects describe |
storage.objects.get storage.objects.getIamPolicy 8 |
|
objects list |
storage.objects.list storage.objects.getIamPolicy 8 |
|
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.overrideUnlockedRetention 11 |
operations cancel |
storage.bucketOperations.cancel |
|
operations describe |
storage.bucketOperations.get |
|
operations list |
storage.bucketOperations.list |
|
restore |
storage.objects.create storage.objects.delete 9storage.objects.restore |
|
restore |
--async |
storage.objects.create storage.objects.delete 14storage.objects.restore storage.buckets.restore |
rm |
storage.buckets.delete storage.objects.delete storage.objects.list |
|
rsync |
storage.objects.get storage.objects.create storage.objects.delete 10storage.objects.list |
|
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
flag --allow-overwrite
dan operasi membuat objek dengan nama yang sama
seperti objek yang sudah ada di bucket.
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
- Memberikan peran IAM pada level project dan bucket.
- Tinjau peran IAM yang berisi izin Cloud Storage.