Google Cloud folder memungkinkan Anda mengelompokkan dan mengatur project dalam hierarki resource. Anda dapat menggunakan folder untuk mendelegasikan tugas administratif, menerapkan kebijakan organisasi khusus lingkungan, dan menyederhanakan pengelolaan biaya di seluruh departemen.
Sebagai node dalam hierarki resource Google Cloud , folder dapat berisi project, folder lain, atau kombinasi keduanya di bawah resource organisasi. Folder juga memungkinkan Anda mengelompokkan resource yang memiliki peran Identity and Access Management (IAM), kebijakan penolakan, atau kebijakan organisasi yang sama. Meskipun folder dapat berisi beberapa folder atau resource turunan, setiap folder atau resource hanya dapat memiliki satu induk.
Contoh hierarki folder
Dalam diagram berikut, resource organisasi, "Company", memiliki folder yang mewakili "Standard Workloads", "Regulated Workloads", dan "Shared infrastructure". Di bagian "Regulated Workloads", folder diatur berdasarkan lingkungan menjadi "Non-Prod Environment" dan "lingkungan produksi". Folder "Production Environment" diatur lebih lanjut ke dalam folder "Customer-Facing (Restricted)" dan "Internal-Only (Standard)" untuk menerapkan kontrol akses yang berpusat pada kebijakan. Project seperti "Project pengujian", "Project pengembangan", dan "Project produksi" berisi resource yang diperlukan untuk project tersebut. Hal ini memberikan tingkat fleksibilitas yang tinggi dalam menetapkan kebijakan izin, penolakan, atau organisasi pada tingkat perincian yang tepat.
Anda dapat menggunakan kebijakan izinkan dan tolak level folder untuk mengontrol akses ke resource yang ada di dalam folder. Misalnya, jika pengguna diberi peran Compute Instance Admin di folder, pengguna tersebut memiliki peran Compute Instance Admin untuk semua project di folder tersebut.
Sebelum memulai
Fungsi folder hanya tersedia untuk pelanggan Google Workspace dan Cloud Identity yang memiliki resource organisasi. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan resource organisasi, lihat Mendapatkan resource organisasi.
Jika Anda sedang mempelajari cara terbaik untuk menggunakan folder, sebaiknya:
- Tinjau Kontrol Akses untuk Folder Menggunakan IAM. Topik ini menjelaskan cara mengontrol siapa yang memiliki akses ke folder dan resource yang ada di dalamnya.
- Pahami cara menetapkan izin folder. Folder mendukung sejumlah peran IAM yang berbeda. Jika Anda ingin menyiapkan izin secara luas agar pengguna dapat melihat struktur project mereka, berikan peran Organization Viewer dan Folder Viewer ke seluruh domain di level resource organisasi. Untuk membatasi visibilitas ke cabang hierarki folder, berikan peran Folder Viewer pada folder yang ingin dilihat pengguna.
- Buat folder. Saat merencanakan cara mengatur resource Cloud, sebaiknya Anda memulai dengan satu folder sebagai sandbox tempat Anda dapat bereksperimen dengan hierarki yang paling sesuai untuk resource organisasi Anda. Bayangkan folder sebagai batas isolasi antara resource dan titik lampiran untuk kebijakan akses dan konfigurasi. Anda dapat memilih untuk membuat folder yang berisi resource milik departemen yang berbeda dan menetapkan peran Admin pada folder untuk mendelegasikan hak istimewa administrator. Folder juga dapat digunakan untuk mengelompokkan resource yang termasuk dalam aplikasi atau lingkungan yang berbeda, seperti pengembangan, produksi, pengujian. Gunakan folder bertingkat untuk membuat model berbagai skenario ini.
Situasi yang umum adalah membuat folder yang pada gilirannya berisi folder atau project tambahan, seperti yang ditunjukkan dalam hierarki resource sebelumnya. Struktur ini disebut sebagai hierarki folder. Saat membuat hierarki folder, perhatikan hal-hal berikut:
- Anda dapat membuat folder bertingkat hingga 10 (sepuluh) tingkat.
- Folder induk tidak boleh berisi lebih dari 300 folder. Hal ini hanya mengacu pada folder turunan langsung. Folder turunan tersebut dapat, pada gilirannya, berisi folder atau project tambahan.
- Nama tampilan folder harus unik dalam tingkat hierarki yang sama.
Menyiapkan izin untuk mengelola folder
Untuk mengakses dan mengelola folder, Anda menetapkan peran IAM khusus folder ke grup pengguna tertentu. Untuk mempelajari lebih lanjut peran ini, lihat Kontrol Akses untuk Folder menggunakan IAM. Kami juga menyarankan Anda meninjau praktik terbaik kami untuk membantu Anda mengidentifikasi konfigurasi yang optimal untuk izin folder Anda.
Untuk mengelola folder bagi seluruh resource organisasi, Anda memerlukan peran Folder Admin. Peran ini memberi pengguna izin untuk membuat, mengedit, menghapus, memindahkan, dan mengubah izin IAM pada folder, serta izin untuk memindahkan project antar-folder.
Awalnya, hanya Admin Organisasi yang dapat menetapkan peran Admin Folder untuk resource organisasi. Akun berikutnya yang diberi peran ini dapat memberikannya ke akun lain.
Untuk menyiapkan izin folder, ikuti langkah-langkah berikut:
Konsol
- Di konsol Google Cloud , buka halaman Manage resources.
- Jika panel info tidak terbuka, klik Tampilkan panel info.
- Di tabel Resources, luaskan Organisasi yang berisi folder.
- Dari daftar resource di bagian Organisasi, pilih folder yang ingin Anda kelola.
- Di panel info, klik Add principal.
- Di kolom Add principals, masukkan alamat email yang ingin Anda beri izin.
- Di menu Select a role, pilih kategori Resource Manager, lalu pilih peran yang ingin Anda berikan, seperti Folder Admin.
- Klik Save untuk memberikan peran baru.
gcloud
Untuk memberikan peran Folder Admin kepada akun utama menggunakan Google Cloud CLI, jalankan perintah berikut:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
--member=user:USER_ID \
--role=roles/resourcemanager.folderAdmin
REST
JSON permintaan:
request_json= '{ policy: { version: "1", bindings: [ { role: "roles/folderAdmin",
members: [ "user:admin@myorganization.com", ] }, { role: "roles/folderCreator",
members: [ "user:admin@myorganization.com", ] } , { role: "roles/folderMover",
members: [ "user:admin@myorganization.com", ] } , ] } }'
Permintaan curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/ORGANIZATION_NAME:setIamPolicy
Ganti ORGANIZATION_NAME dengan nama organisasi yang kebijakan izinkannya sedang
ditetapkan, misalnya organizations/123.
Membuat folder
Untuk membuat folder, Anda harus memiliki peran Folder Admin atau Folder Creator di tingkat induk. Misalnya, untuk membuat folder di level organisasi, Anda harus memiliki salah satu peran ini di level organisasi.
Sebagai bagian dari pembuatan folder, Anda harus memberinya nama. Nama folder harus memenuhi persyaratan berikut:
- Nama dapat berisi huruf, angka, spasi, tanda hubung, dan garis bawah.
- Nama tampilan folder harus diawali dan diakhiri dengan huruf atau angka.
- Nama harus terdiri dari 3 hingga 30 karakter.
- Nama harus berbeda dari semua folder lain yang memiliki induk yang sama.
Untuk membuat folder, ikuti langkah-langkah berikut:
Konsol
Untuk membuat folder, lakukan hal berikut:
Buka halaman Manage resources di konsol Google Cloud :
Klik Buat folder, lalu pilih salah satu opsi berikut:
- Folder Google Cloud standar: Resource folder standar.
- Folder yang mematuhi peraturan: Folder Assured Workloads, yang menyediakan kontrol peraturan, regional, atau kedaulatan tambahan untuk resource Google Cloud . Memilih opsi ini akan mengarahkan Anda ke Assured Workloads untuk membuat folder.
Di kotak Nama folder, masukkan nama folder baru Anda.
Di bagian Resource induk, klik Telusuri, lalu pilih resource atau folder organisasi tempat Anda ingin membuat folder baru.
- Klik Create.
gcloud
Folder dapat dibuat secara terprogram menggunakan Google Cloud CLI.
Untuk membuat folder di bawah resource organisasi menggunakan alat command line gcloud, jalankan perintah berikut.
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--organization=ORGANIZATION_ID
Untuk membuat folder yang induknya adalah folder lain:
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--folder=FOLDER_ID
Ganti kode berikut:
- DISPLAY_NAME: nama tampilan folder. Tidak boleh ada dua folder dengan induk yang sama yang memiliki nama tampilan yang sama. Nama tampilan harus diawali dan diakhiri dengan huruf atau angka, boleh berisi huruf, angka, spasi, tanda hubung, dan garis bawah, serta tidak boleh lebih dari 30 karakter.
- ORGANIZATION_ID: ID resource organisasi induk jika induknya adalah resource organisasi.
- FOLDER_ID: ID folder induk, jika induknya adalah folder.
API
Folder dapat dibuat dengan permintaan API.
JSON permintaan:
request_json= '{
display_name: DISPLAY_NAME,
parent: ORGANIZATION_NAME
}'
Permintaan curl Buat Folder:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders
Dengan:
- DISPLAY_NAME: nama tampilan folder baru, misalnya "My Awesome Folder".
- ORGANIZATION_NAME: nama resource organisasi tempat Anda membuat folder, misalnya
organizations/123.
Respons Create Folder:
Jika panggilan berhasil mendaftarkan operasi, isi respons akan berisi instance Operation.
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
}
}
Permintaan curl Get Operation:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789
Respons Get Operation:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
"name": "folders/12345",
"parent": "organizations/123",
"displayName": "DISPLAY_NAME",
"lifecycleState": "ACTIVE",
"createTime": "2017-07-19T23:29:26.018Z",
"updateTime": "2017-07-19T23:29:26.046Z"
}
}
Menambahkan tag selama pembuatan folder
Tag menyediakan cara untuk membuat anotasi untuk resource. Anda dapat menambahkan tag saat membuat folder. Untuk melakukannya, Anda harus memberikan peran Tag User. Untuk mengetahui informasi selengkapnya tentang izin yang terdapat dalam peran ini, lihat Membuat dan mengelola tag. Anda hanya dapat menambahkan namespace untuk pasangan nilai kunci tag dengan salah satu cara berikut:
gcloud
Untuk menambahkan tag selama pembuatan folder, jalankan perintah berikut:
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--organization=ORGANIZATION_ID\
--tags=KEY_VALUE_PAIRS
Ganti kode berikut:
DISPLAY_NAME: nama tampilan folder.ORGANIZATION_ID: ID unik resource organisasi induk.KEY_VALUE_PAIRS: daftar key-value pair yang dipisahkan koma yang dapat Anda tetapkan ke resource. Contoh key-value pair yang dipisahkan koma adalah123/environment=production, 456/create=testresource.
REST
Cuplikan berikut adalah permintaan JSON yang membuat folder dan menambahkan tag ke folder tersebut.
POST https://cloudresourcemanager.googleapis.com/v3/folders/
Authorization: *************
Content-Type: application/json
{
"display_name": "our-folder-456",
"parent": "organizations/123",
"tags": {
"123/environment": "production",
"123/costCenter": "marketing"
}
}
Mengambil ID folder Anda
Anda dapat mengambil ID folder menggunakan konsol Google Cloud atau Google Cloud CLI.
Konsol
- Di konsol Google Cloud , buka halaman Manage resources.
- Temukan folder Anda di daftar resource. ID folder ditampilkan di kolom ID di samping nama tampilan folder.
gcloud
Untuk menemukan ID folder Anda, jalankan perintah berikut:
gcloud resource-manager folders list --organization=ORGANIZATION_ID
Keterlambatan penerapan
Saat Anda membuat folder baru, mungkin perlu waktu beberapa saat agar folder tersebut diterapkan melalui sistem global kami dan terlihat di konsol Google Cloud .
Penundaan penerapan ini biasanya selesai dalam beberapa menit, tetapi dalam kasus yang jarang terjadi, dapat memerlukan waktu lebih lama. Anda dapat segera memverifikasi pembuatan folder menggunakan alat command line gcloud atau API.
Menghapus folder
Untuk menghapus folder, Anda harus memiliki peran Folder Admin (roles/resourcemanager.folderAdmin) atau peran Folder Editor (roles/resourcemanager.folderEditor). Folder harus kosong sebelum Anda dapat menghapusnya. Untuk mengetahui petunjuk mendetail, lihat
Menghapus folder.
Mengonfigurasi akses ke folder
Untuk mengonfigurasi akses ke folder, Anda harus memiliki peran Folder IAM Administrator atau Folder Admin di level induk.
Konsol
Di konsol Google Cloud , buka halaman Manage Resources.
Klik menu drop-down Organization di kiri atas, lalu pilih resource organisasi Anda.
Centang kotak di samping project yang izinnya ingin Anda ubah.
Di Panel info sebelah kanan, di bagian Izin, masukkan alamat email anggota yang ingin Anda tambahkan.
Di menu drop-down Select a role, pilih peran yang ingin Anda berikan kepada anggota tersebut.
Klik Tambahkan. Notifikasi akan muncul untuk mengonfirmasi penambahan atau pembaruan peran baru anggota.
gcloud
Anda dapat mengonfigurasi akses ke folder secara terprogram menggunakan Google Cloud CLI atau REST API.
gcloud resource-manager folders \
add-iam-policy-binding FOLDER_ID \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
add-iam-policy-binding FOLDER_ID \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderViewer
Sebagai alternatif:
gcloud resource-manager folders \
set-iam-policy FOLDER_ID POLICY_FILE
Ganti kode berikut:
- FOLDER_ID: ID folder baru
- POLICY_FILE: jalur ke file kebijakan untuk folder
API
Metode setIamPolicy menetapkan kebijakan kontrol akses pada folder,
menggantikan kebijakan yang ada. Kolom resource harus berupa nama resource folder, misalnya, folders/1234.
request_json= '{
policy: {
version: "1",
bindings: [
{
role: "roles/resourcemanager.folderEditor",
members: [
"user:email1@example.com",
"user:email2@example.com",
]
}
]
}
}'
Permintaan curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID:setIamPolicy
Ganti FOLDER_ID dengan nama folder yang kebijakan IAM-nya sedang ditetapkan, misalnya folders/123.
Menangani operasi yang berjalan lama
Operasi folder tertentu, seperti pembuatan atau migrasi, diproses secara asinkron
oleh Google Cloud karena memerlukan propagasi global. Untuk menghindari pemblokiran terminal atau skrip otomatisasi, Anda dapat menggunakan flag --async.
Jika flag ini digunakan, perintah akan segera menampilkan objek Operasi yang Berjalan Lama (LRO). Kemudian, Anda dapat menggunakan operation_id untuk memeriksa penyelesaian sesuai keinginan Anda. Flag --async hanya didukung untuk perintah folders create dan folders move.
Untuk menggunakan flag, ikuti langkah-langkah berikut:
Memulai tugas asinkron. Lihat contoh perintah berikut:
gcloud resource-manager folders create \ --display-name="Test Async Folder" \ --organization=2518 \ --asyncOutput akan memberikan nama operasi (misalnya, fc.8572) dan menampilkan
done: false.Contoh respons:
name: operations/fc.8572 metadata: operation_type: CREATE display_name: Awe-Inspiring Async Folder destination_parent: organizations/2518 done: falseMemeriksa status operasi. Untuk memverifikasi apakah tugas telah selesai, gunakan perintah
operations describedengan ID yang diberikan pada langkah sebelumnya.gcloud beta resource-manager operations describe fc.8572Setelah
donebernilai benar, blok respons akan berisi detail lengkap resource yang baru dibuat.name: operations/fc.8572 done: true response: name: folders/6428 display_name: Awe-Inspiring Async Folder lifecycle_state: ACTIVE create_time: '2024-03-20T10:00:00Z'
Langkah berikutnya
- Pelajari cara melihat dan memperbarui folder.
- Pelajari cara mengelola project dalam folder.
- Pelajari peran dan izin untuk folder.
- Pelajari cara mencantumkan semua folder dan project dalam hierarki resource Anda.