Membuat folder

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 Google Cloud resource-nya sendiri. Folder memungkinkan Anda untuk 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 sama untuk kedua departemen. Di bagian "Dept Y", mereka diatur menjadi dua tim, dan dalam folder tim, mereka lebih lanjut diatur berdasarkan produk. Folder untuk "Product 1" selanjutnya berisi tiga project, yang masing-masing memiliki resource yang diperlukan untuk project tersebut. Hal ini memberi mereka fleksibilitas tingkat tinggi dalam menetapkan kebijakan izinkan, tolak, atau organisasi pada tingkat granularitas yang tepat.

Hierarki resource yang menampilkan organisasi dengan folder bertingkat untuk
departemen, tim, dan produk, yang berisi project.

Anda dapat menggunakan kebijakan izinkan dan tolak tingkat folder untuk mengontrol akses ke resource yang ada di 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 cara mendapatkan resource organisasi, lihat Mendapatkan resource organisasi.

Jika Anda mempelajari cara terbaik menggunakan folder, sebaiknya:

  1. Tinjau Kontrol Akses untuk Folder Menggunakan IAM. Topik ini menjelaskan cara mengontrol siapa yang memiliki akses ke folder dan resource yang ada di dalamnya.
  2. 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 Folder Viewer di folder atau folder yang ingin Anda lihat oleh pengguna.
  3. 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 yang dimiliki oleh departemen yang berbeda dan menetapkan peran Admin di folder untuk mendelegasikan hak istimewa administrator. Folder juga dapat digunakan untuk mengelompokkan resource yang dimiliki oleh aplikasi atau lingkungan yang berbeda, seperti pengembangan, produksi, pengujian. Gunakan folder bertingkat untuk memodelkan skenario yang berbeda ini.

Situasi umum adalah membuat folder yang 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 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 peran ini lebih lanjut, lihat Kontrol Akses untuk Folder menggunakan IAM. Sebaiknya tinjau juga praktik terbaik kami untuk membantu Anda mengidentifikasi konfigurasi optimal untuk izin folder Anda.

Untuk mengelola folder untuk seluruh resource organisasi Anda, Anda memerlukan peran Folder Admin. Peran ini memberikan izin kepada pengguna untuk membuat, mengedit, menghapus, memindahkan, dan mengubah izin IAM di folder, serta izin untuk memindahkan project antar-folder.

Awalnya, hanya Admin Organisasi yang dapat menetapkan peran Folder Admin untuk resource organisasi. Akun berikutnya yang diberi peran ini dapat memberikannya ke akun lain.

Untuk menyiapkan izin folder, ikuti langkah-langkah berikut:

Konsol

  1. Di Google Cloud konsol, buka halaman Manage resources.

    Buka Kelola resource

  2. Jika panel info tidak terbuka, klik Show info panel.
  3. Di tabel Resources, luaskan Organisasi yang berisi folder.
  4. Dari daftar resource di bagian Organisasi, pilih folder yang ingin Anda kelola.
  5. Di panel info, klik Add principal.
  6. Di kolom Add principals, masukkan alamat email yang ingin Anda beri izin.
  7. Di menu Select a role, pilih kategori Resource Manager , lalu pilih peran yang ingin Anda berikan, seperti Folder Admin.
  8. 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 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 memiliki induk yang sama.

Untuk membuat folder, ikuti langkah-langkah berikut:

Konsol

Folder dapat dibuat di UI menggunakan bagian "Manage Projects and Folders".

  1. Buka halaman Manage resources di Google Cloud konsol:

    Buka halaman Kelola resource

  2. Pastikan nama resource organisasi Anda dipilih di daftar drop-down organisasi di bagian atas halaman.

  3. Klik Create folder, lalu pilih salah satu opsi berikut:

    • Standard folder: Resource folder standar .
    • Compliant folder: Folder Assured Workloads, yang menyediakan kontrol tambahan terkait peraturan, regional, atau kedaulatan untuk Google Cloud resource. Memilih opsi ini akan mengarahkan Anda ke Assured Workloads untuk membuat folder.
  4. Di kotak Folder name, masukkan nama folder baru Anda.

  5. Di bagian Destination, klik Browse, lalu pilih resource organisasi atau folder yang ingin Anda gunakan untuk membuat folder baru.

    1. 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 ada dua folder dengan induk yang sama dapat menggunakan nama tampilan yang sama. 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 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 yang digunakan untuk 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 Dapatkan Operasi:

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789

Respons Dapatkan Operasi:

{
  "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 pada saat membuat folder. Untuk melakukannya, Anda harus memberikan peran Tag User. 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 Anda. Contoh pasangan nilai kunci yang dipisahkan koma adalah 123/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 Folder IAM Administrator atau Folder Admin di tingkat induk.

Konsol

  1. Di Google Cloud konsol, buka halaman Manage Resources.

    Buka halaman Kelola Resource

  2. Klik daftar drop-down Organization di kiri atas, lalu pilih resource organisasi Anda.

  3. Centang kotak di samping project yang izinnya ingin Anda ubah.

    1. Di sisi kanan Info panel, di bagian Permissions, masukkan alamat email anggota yang ingin Anda tambahkan.

    2. Di daftar drop-down Select a role, pilih peran yang ingin Anda berikan kepada anggota tersebut.

    3. Klik Add. 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.

Saat flag ini digunakan, perintah akan segera menampilkan objek Long-Running Operation (LRO). Kemudian, Anda dapat menggunakan operation_id untuk melakukan polling penyelesaian sesuai keinginan Anda. Flag --async hanya didukung untuk perintah folders create dan folders move.

Untuk menggunakan flag, ikuti langkah-langkah berikut:

  1. Mulai tugas asinkron. Lihat contoh perintah berikut:

    gcloud resource-manager folders create \
        --display-name="Test Async Folder" \
        --organization=2518 \
        --async
    

    Output 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: false
    
  2. Periksa status operasi. Untuk memverifikasi apakah tugas telah selesai, gunakan perintah operations describe dengan ID yang diberikan pada langkah sebelumnya.

    gcloud beta resource-manager operations describe fc.8572
    

    Setelah done bernilai benar (true), 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