Halaman ini menjelaskan cara menetapkan kebijakan Identity and Access Management (IAM) pada folder terkelola, sehingga Anda dapat memperoleh kontrol akses terperinci atas grup objek tertentu dalam bucket.
Jika Anda mencari metode kontrol akses lainnya, lihat referensi berikut:
Untuk mempelajari cara mengontrol akses ke seluruh bucket dan objek di dalamnya, lihat Menetapkan dan mengelola kebijakan IAM pada bucket.
Untuk cara alternatif dalam mengontrol akses ke setiap objek di bucket Anda, lihat Daftar Kontrol Akses.
Untuk mengetahui informasi selengkapnya tentang cara mengontrol akses ke resource Cloud Storage, baca Ringkasan Kontrol Akses.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menetapkan dan mengelola kebijakan IAM untuk folder terkelola, minta administrator untuk memberi Anda peran IAM Storage Folder Admin (roles/storage.folderAdmin) untuk bucket yang berisi folder terkelola.
Peran ini berisi izin berikut, yang diperlukan untuk menetapkan dan mengelola kebijakan IAM untuk folder terkelola:
storage.managedFolders.getIamPolicystorage.managedFolders.setIamPolicy
Anda juga bisa mendapatkan izin ini dengan peran khusus.
Untuk mengetahui informasi tentang cara memberikan peran untuk bucket, lihat Menetapkan dan mengelola kebijakan IAM pada bucket.
Menetapkan kebijakan IAM pada folder terkelola
Konsol
- Di Google Cloud konsol, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi folder terkelola yang ingin Anda tetapkan kebijakan IAM-nya.
Di halaman Bucket details, klik ikon More options di panel Folder browser di samping folder terkelola yang ingin Anda tetapkan kebijakan IAM-nya.
Jika Anda ingin mengontrol akses dalam folder atau folder simulasi, ikuti langkah-langkah dalam Membuat folder terkelola untuk mengaktifkan pengelolaan di folder atau folder simulasi.
Klik Edit akses.
Di panel Permissions for
MANAGED_FOLDER_NAMEpane, click Add principal .Di kolom New principals, masukkan akun utama yang ingin Anda beri akses. Untuk mengetahui informasi selengkapnya tentang akun utama yang dapat Anda sertakan, lihat ID utama.
Di bagian Tetapkan peran, gunakan drop-down Pilih peran untuk menentukan tingkat akses yang ingin Anda berikan kepada akun utama.
Klik Simpan.
Command line
Buat file JSON yang berisi informasi berikut:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Dengan keterangan:
Gunakan perintah
gcloud storage managed-folders set-iam-policy:gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME POLICY_FILE
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang ingin Anda terapkan kebijakan IAM-nya. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola tempat Anda ingin menerapkan kebijakan IAM. Contoh,my-managed-folder/.POLICY_FILEadalah jalur ke file JSON yang Anda buat di langkah 1.
REST API
JSON
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file JSON yang berisi informasi berikut:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Dengan:
IAM_ROLEadalah peran IAM yang Anda berikan. Contoh,roles/storage.objectViewer.PRINCIPAL_IDENTIFIERmengidentifikasi siapa yang Anda beri akses folder terkelola. Contoh,user:jeffersonloveshiking@gmail.com. Untuk daftar format ID utama, lihat ID utama.
Gunakan
cURLuntuk memanggil JSON API dengan permintaanPUT setIamPolicy:curl -X PUT --data-binary @POLICY_FILE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dengan:
POLICY_FILEadalah jalur ke file kebijakan JSON yang Anda buat di langkah sebelumnya.BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang ingin Anda terapkan kebijakan IAM-nya. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang ingin Anda beri akses utama. Contoh,my-managed-folder/.
Melihat kebijakan IAM untuk folder terkelola
Konsol
- Di Google Cloud konsol, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi folder terkelola yang kebijakan IAM-nya ingin Anda lihat.
Di halaman Bucket details, klik ikon More options di panel Folder browser di samping folder terkelola yang ingin Anda lihat kebijakan IAM-nya.
Klik Edit akses.
Panel Izin untuk FOLDER_NAME menampilkan
izin pada folder terkelola, termasuk prinsipal,
peran, peran yang diwariskan, dan kondisi IAM.
Command line
Gunakan perintah gcloud storage managed-folder get-iam-policy:
gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang kebijakan IAM-nya ingin Anda lihat. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang kebijakan IAM-nya ingin Anda lihat. Contoh,my-managed-folder/.
REST API
JSON
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Gunakan
cURLuntuk memanggil JSON API dengan permintaanGET getIamPolicy:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang kebijakan IAM-nya ingin Anda lihat. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang kebijakan IAM-nya ingin Anda lihat. Contoh,my-managed-folder/.
Menghapus akun utama dari kebijakan folder terkelola
Konsol
- Di Google Cloud konsol, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi folder terkelola yang kebijakan IAM-nya ingin Anda lihat.
Di halaman Detail bucket, klik ikon Opsi lainnya di panel Folder browser di samping folder terkelola yang ingin Anda hapus pokoknya.
Klik Edit akses.
Di panel Permissions for
FOLDER_NAME, masukkan nama akun utama di kolom Filter.Klik ikon Hapus untuk menghapus akun utama.
Cloud Storage menghapus prinsipal dari folder terkelola Anda.
Command line
Gunakan perintah gcloud storage managed-folder remove-iam-policy-binding:
gcloud storage managed-folders remove-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang aksesnya Anda cabut. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang kebijakan IAM-nya ingin Anda hapus. Contoh,my-managed-folder/.PRINCIPAL_IDENTIFIERmengidentifikasi pihak yang Anda cabut aksesnya. Contoh,user:jeffersonloveshiking@gmail.com. Untuk daftar format ID utama, lihat ID utama.IAM_ROLEadalah peran IAM yang Anda cabut. Misalnya,roles/storage.objectViewer.
REST API
JSON
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Dapatkan kebijakan yang sudah ada dan terapkan ke folder terkelola Anda. Untuk melakukannya, gunakan
cURLuntuk memanggil JSON API dengan permintaanGET getIamPolicy:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang aksesnya Anda cabut. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang kebijakan IAM-nya ingin Anda hapus. Contoh,my-managed-folder/.
Buat file JSON berisi kebijakan yang Anda dapat di langkah sebelumnya.
Edit file JSON untuk menghapus akun utama dari kebijakan.
Gunakan
cURLuntuk memanggil JSON API dengan permintaanPUT setIamPolicy:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dengan keterangan:
JSON_FILE_NAMEadalah jalur untuk file yang Anda buat di Langkah 3.BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang aksesnya Anda cabut. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang kebijakan IAM-nya ingin Anda hapus. Contoh,my-managed-folder/.
Menggunakan IAM Conditions pada folder terkelola
Bagian berikut menunjukkan cara menambahkan dan menghapus IAM Conditions di folder terkelola Anda. Untuk melihat IAM Conditions untuk folder terkelola Anda, lihat Melihat kebijakan IAM untuk folder terkelola. Untuk mengetahui informasi selengkapnya tentang penggunaan IAM Conditions dengan Cloud Storage, lihat Kondisi.
Anda harus mengaktifkan akses level bucket yang seragam di bucket sebelum menambahkan kondisi ke folder terkelola.
Menetapkan kondisi baru pada folder terkelola
Command line
Buat file JSON atau YAML yang menentukan kondisi, termasuk
titlekondisi,expressionlogika berbasis atribut untuk kondisi, dan, jika Anda mau,descriptionkondisi tersebut.Perhatikan bahwa Cloud Storage hanya mendukung atribut tanggal/waktu, jenis resource, dan nama resource pada
expression.Gunakan perintah
gcloud storage managed-folders add-iam-policy-bindingdengan flag--condition-from-file:
gcloud storage managed-folders add-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang aksesnya Anda berikan ke akun utama. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang aksesnya Anda berikan ke akun utama. Contoh,my-managed-folder/.PRINCIPAL_IDENTIFIERmengidentifikasi pada siapa kondisi berlaku. Contohnya,user:jeffersonloveshiking@gmail.com. Untuk daftar format ID utama, lihat ID utama.IAM_ROLEadalah peran IAM yang Anda berikan ke akun utama. Contohnya,roles/storage.objectViewer.CONDITION_FILEadalah file yang Anda buat di langkah sebelumnya.
Atau, Anda dapat menyertakan kondisi secara langsung dalam perintah
dengan flag --condition, bukan flag --condition-from-file.
REST API
JSON
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Gunakan permintaan
GET getIamPolicyuntuk menyimpan kebijakan IAM folder terkelola ke file JSON sementara:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang ingin Anda tetapkan Kondisi IAM-nya.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang ingin Anda tetapkan Kondisi IAM-nya.
Edit file
tmp-policy.jsondi editor teks untuk menambahkan kondisi baru ke binding dalam kebijakan IAM:{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }Dengan:
VERSIONadalah versi kebijakan IAM. Versi 3 diwajibkan untuk folder terkelola dengan IAM Conditions.IAM_ROLEadalah peran yang dikenai kondisi. Contohnya,roles/storage.objectViewer.PRINCIPAL_IDENTIFIERmengidentifikasi pada siapa kondisi berlaku. Contoh,user:jeffersonloveshiking@gmail.com. Untuk daftar format ID utama, lihat ID utama.TITLEadalah judul kondisi. Contohnya,expires in 2019.DESCRIPTIONadalah deskripsi opsional kondisi. Contohnya,Permission revoked on New Year's.EXPRESSIONadalah ekspresi logika berbasis atribut. Contohnya,request.time < timestamp(\"2019-01-01T00:00:00Z\"). Untuk contoh ekspresi lainnya, lihat Referensi atribut kondisi. Cloud Storage hanya mendukung atribut tanggal/waktu, jenis resource, dan nama resource.
Jangan ubah
ETAG.Gunakan permintaan
PUT setIamPolicyuntuk menetapkan kebijakan IAM yang dimodifikasi pada bucket:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFoldersMANAGED_FOLDER_NAME/iam"
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang ingin Anda tetapkan Kondisi IAM-nya.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang ingin Anda tetapkan Kondisi IAM-nya.
Menghapus kondisi dari folder terkelola
Command line
Gunakan perintah
gcloud storage managed-folders get-iam-policyuntuk menyimpan kebijakan IAM folder terkelola ke file JSON sementara.gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME > tmp-policy.json
Edit file
tmp-policy.jsondi editor teks untuk menghapus kondisi dari kebijakan IAM.Gunakan perintah
gcloud storage managed-folders set-iam-policyuntuk menetapkan kebijakan IAM yang dimodifikasi pada folder terkelola.gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME tmp-policy.json
REST API
JSON
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Gunakan permintaan
GET getIamPolicyuntuk menyimpan kebijakan IAM folder terkelola ke file JSON sementara:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang aksesnya Anda ubah. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang aksesnya Anda ubah. Contoh,my-managed-folder/.
Edit file
tmp-policy.jsondi editor teks untuk menghapus kondisi dari kebijakan IAM.Gunakan permintaan
PUT setIamPolicyuntuk menetapkan kebijakan IAM yang dimodifikasi pada folder terkelola:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam"
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi folder terkelola yang aksesnya Anda ubah. Contoh,my-bucket.MANAGED_FOLDER_NAMEadalah nama folder terkelola yang aksesnya Anda ubah. Contoh,my-managed-folder/.
Menggunakan IAM dengan project
Lihat Mengelola akses ke project, folder terkelola, dan organisasi untuk panduan tentang cara memberikan dan mencabut peran IAM di level project dan yang lebih tinggi.
Praktik terbaik
Anda harus menetapkan peran minimum yang memungkinkan yang memberi akun utama
akses yang diperlukan. Misalnya, jika anggota tim hanya perlu melihat
folder terkelola dalam bucket, beri mereka peran Storage Object Admin
(roles/storage.objectAdmin), bukan peran Storage Folder Admin
(roles/storage.folderAdmin).
Demikian pula, jika anggota tim memerlukan kontrol penuh atas folder terkelola
dalam bucket, berikan peran Storage Folder Admin (roles/storage.folderAdmin)
bukan peran Storage Admin (roles/storage.admin).
Langkah berikutnya
Pelajari cara membagikan data Anda secara publik.
Lihat Contoh berbagi dan kolaborasi yang spesifik.
Pelajari praktik terbaik saat menggunakan IAM.
Untuk memecahkan masalah operasi yang gagal terkait dengan peran dan izin IAM, lihat Pemecahan masalah.