Halaman ini menjelaskan cara membuat Google Cloud folder untuk 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 Anda.
Folder adalah node dalam Hierarki Resource Cloud Platform. Folder dapat berisi beberapa project, folder lain, atau kombinasi keduanya. Resource organisasi dapat menggunakan folder untuk mengelompokkan project di bawah node resource organisasi dalam hierarki. Misalnya, resource organisasi Anda mungkin berisi beberapa departemen, yang masing-masing memiliki kumpulan resource Google Cloud -nya sendiri. Folder memungkinkan Anda mengelompokkan resource ini berdasarkan per departemen. Folder digunakan untuk mengelompokkan resource yang memiliki kebijakan izinkan atau tolak yang sama. Meskipun folder dapat berisi beberapa folder atau resource, folder atau resource tertentu dapat memiliki tepat satu induk.
Dalam diagram berikut, resource organisasi, "Company", memiliki folder yang mewakili dua departemen, "Dept X" dan "Dept Y", serta folder, "Shared Infrastructure", untuk item yang mungkin umum untuk kedua departemen. Di bagian "Dept Y", mereka telah dikelompokkan menjadi dua tim, dan di dalam folder tim, mereka dikelompokkan lagi berdasarkan produk. Folder untuk "Produk 1" selanjutnya berisi tiga project, yang masing-masing memiliki resource yang diperlukan untuk project. Hal ini memberi mereka fleksibilitas tingkat tinggi dalam menetapkan kebijakan izinkan, tolak, atau organisasi pada tingkat perincian yang tepat.
Anda dapat menggunakan kebijakan izinkan dan tolak tingkat folder untuk mengontrol akses ke resource yang ada di dalam folder. Misalnya, jika pengguna diberi peran Compute Instance Admin di folder, pengguna tersebut akan 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 mendapatkan resource organisasi, lihat Mendapatkan resource organisasi.
Jika Anda sedang mempelajari cara terbaik menggunakan folder, sebaiknya Anda:
- Tinjau Kontrol Akses untuk Folder Menggunakan IAM. Topik ini menjelaskan cara mengontrol siapa yang memiliki akses apa ke folder dan resource yang ada di dalamnya.
- Pahami cara menetapkan izin folder. Folder mendukung sejumlah peran Identity and Access Management (IAM) yang berbeda. Jika Anda ingin menyiapkan izin secara luas agar pengguna dapat melihat struktur project mereka, berikan peran Organization Viewer dan Folder Viewer kepada seluruh domain di tingkat resource organisasi. Untuk membatasi visibilitas ke cabang hierarki folder Anda, berikan peran Pelihat Folder pada folder atau folder yang ingin Anda lihat oleh pengguna.
- Buat folder. Saat Anda merencanakan cara mengatur resource Cloud, sebaiknya mulai dengan satu folder sebagai sandbox tempat Anda dapat bereksperimen dengan hierarki yang paling sesuai untuk resource organisasi Anda. Pikirkan folder dalam hal batas isolasi antara resource dan titik lampiran untuk kebijakan akses dan konfigurasi. Anda dapat memilih untuk membuat folder yang berisi resource milik berbagai departemen 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 memodelkan berbagai skenario ini.
Situasi 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 merujuk pada folder turunan langsung. Folder turunan tersebut dapat 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 kepada grup pengguna tertentu. Untuk mempelajari lebih lanjut peran ini, lihat Kontrol Akses untuk Folder menggunakan IAM. Sebaiknya Anda juga meninjau praktik terbaik kami untuk membantu Anda mengidentifikasi konfigurasi optimal untuk izin folder Anda.
Untuk mengelola folder bagi seluruh resource organisasi Anda, Anda memerlukan peran Folder Admin. Peran ini memberikan izin kepada pengguna 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 Tambahkan akun utama, masukkan alamat email yang ingin Anda beri izin.
- Di menu Pilih peran, pilih kategori Resource Manager, lalu pilih peran yang ingin Anda berikan, seperti Folder Admin.
- Klik Simpan untuk memberikan peran baru.
gcloud
Untuk memberikan peran Folder Admin kepada prinsipal 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 Admin Folder atau Pembuat Folder di tingkat induk. Misalnya, untuk membuat folder di tingkat organisasi, Anda harus memiliki salah satu peran ini di tingkat 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.
- Panjang nama harus antara 3 hingga 30 karakter.
- Nama harus berbeda dari semua folder lain yang berbagi induknya.
Untuk membuat folder, ikuti langkah-langkah berikut:
Konsol
Folder dapat dibuat di UI menggunakan bagian "Kelola Project dan Folder".
Buka halaman Kelola resource di konsol Google Cloud :
Pastikan nama resource organisasi Anda dipilih di menu drop-down organisasi di bagian atas halaman.
Klik Buat folder, lalu pilih salah satu opsi berikut:
- Folder standar: Resource folder standar.
- Folder yang mematuhi kebijakan: Folder Assured Workloads, yang menyediakan kontrol peraturan, regional, atau berdaulat tambahan untuk Google Cloud resource. Jika opsi ini dipilih, Anda akan diarahkan ke Assured Workloads untuk membuat folder.
Di kotak Nama folder, masukkan nama folder baru Anda.
Di bagian Tujuan, klik Jelajahi, lalu pilih folder atau resource organisasi tempat Anda ingin membuat folder baru.
- Klik Create.
gcloud
Folder dapat dibuat secara terprogram menggunakan Google Cloud CLI.
Untuk membuat folder di 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 ada dua folder dengan induk yang sama yang dapat berbagi nama tampilan. Nama tampilan harus diawali dan diakhiri dengan huruf atau angka, dapat berisi huruf, angka, spasi, tanda hubung, dan garis bawah, serta tidak boleh lebih dari 30 karakter.
- ORGANIZATION_ID: ID resource organisasi induk jika induk 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 Buat Folder:
{
"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 memberikan cara untuk membuat anotasi untuk resource. Anda dapat menambahkan tag saat membuat folder. Untuk melakukannya, Anda harus memberikan peran Pengguna Tag. Untuk mengetahui informasi selengkapnya tentang izin yang ada 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 pasangan nilai kunci yang dipisahkan koma yang dapat Anda tetapkan ke resource. Contoh pasangan nilai kunci 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/projects/
Authorization: *************
Content-Type: application/json
{
"display_name": "our-folder-456",
"parent": "organizations/123",
"tags": {
"key": "123/environment"
"value": "production"
},
"tags": {
"key": "123/costCenter"
"value": "marketing"
}
}
Mengonfigurasi akses ke folder
Untuk mengonfigurasi akses ke folder, Anda harus memiliki peran Administrator IAM Folder atau Admin Folder di tingkat induk.
Konsol
Di Konsol Google Cloud , buka halaman Manage Resources.
Klik menu drop-down Organisasi di kiri atas, lalu pilih resource organisasi Anda.
Centang kotak di samping project yang izinnya ingin Anda ubah.
Di Panel info di sisi kanan, pada 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 langsung menampilkan objek Operasi yang Berjalan Lama (LRO). Anda kemudian dapat menggunakan operation_id untuk melakukan polling penyelesaian sesuai keinginan Anda. Flag --async hanya didukung untuk perintah folders create dan folders move.
Untuk menggunakan tanda, ikuti langkah-langkah berikut:
Mulai tugas asinkron. Lihat contoh perintah berikut:
gcloud resource-manager folders create \ --display-name="Test Async Folder" \ --organization=2518 \ --asyncOutput 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: falsePeriksa 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.