Mengonfigurasi akses terperinci dalam VM


Di Compute Engine, Anda dapat menggunakan Login OS untuk memberi pengguna akses ke VM dan membatasi pengguna dengan akses sudo. Jika ingin mengontrol pengguna mana yang dapat melihat atau menjalankan file tertentu dan file yang dapat dieksekusi di VM, Anda dapat menggunakan kebijakan OS untuk meluncurkan kebijakan yang mengotomatiskan dan memusatkan pengelolaan file dalam fleet VM Anda.

Tutorial ini menunjukkan cara memberikan akses lihat ke file auth.log (/var/log/auth.log) di beberapa VM kepada grup pengguna yang tidak memiliki akses sudo, menggunakan grup Login OS dan kebijakan OS.

Pada sebagian besar konfigurasi default, izin file auth.log ditetapkan ke 640 dan file dimiliki oleh grup adm. Pengguna yang tidak diberi peran IAM roles/compute.osAdminLogin tidak berada dalam grup adm, tidak memiliki akses sudo, sehingga tidak memiliki akses baca ke file.

Meskipun tutorial ini berfokus pada pengelolaan izin pengguna ke file tertentu, alur kerja dapat dimodifikasi dan digunakan untuk menetapkan izin pada file lain atau file yang dapat dieksekusi di VM.

Tujuan

Dalam tutorial ini, Anda akan mempelajari hal-hal berikut:

  • Cara membuat grup Linux Login OS
  • Cara menggunakan penetapan kebijakan OS untuk mengubah izin grup file di beberapa VM sekaligus

Biaya

Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna baru Google Cloud mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

Pengguna Google Cloud baru mungkin memenuhi syarat untuk uji coba gratis.

Sebelum memulai

  1. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  2. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  3. Instal Google Cloud CLI atau update ke versi terbaru.
  4. Pastikan Anda adalah administrator Grup Cloud Identity untuk organisasi Anda. Jika Anda bukan administrator Grup, minta administrator Grup organisasi Anda untuk membuat grup Linux Login OS untuk Anda.
  5. Aktifkan VM Manager

Menyiapkan lingkungan

Sebelum dapat memberikan akses ke file auth.log, Anda perlu membuat beberapa VM.

Buat tiga VM menggunakan perintah gcloud compute instances bulk create:

gcloud compute instances bulk create \
    --name-pattern=tutorial-# \
    --zone=us-west1-a \
    --count=3 \
    --labels=vm=tutorial \
    --metadata=enable-oslogin=TRUE

Anda akan melihat pesan yang mirip dengan yang berikut ini:

`Bulk create request finished with status message: [VM instances created: 3, failed: 0.]`

Tetapkan izin grup untuk file auth.log

Untuk memberikan akses baca ke file auth.log kepada pengguna tanpa memberikan peran IAM roles/compute.osAdminLogin, ubah grup yang memiliki file menjadi grup Linux tempat pengguna tersebut menjadi anggota.

Membuat grup Linux Login OS

Anda dapat membuat grup Linux Login OS untuk menambahkan grup Linux tambahan yang muncul di setiap VM yang mengaktifkan Login OS. Dengan membuat grup Linux Login OS, dan bukan grup Linux tambahan lokal, Anda dapat mengontrol grup Linux di semua VM dengan cara yang terpadu.

Untuk membuat grup Linux Login OS, gunakan perintah gcloud beta identity groups create:

gcloud beta identity groups create logaccess@ORGANIZATION_DOMAIN \
    --organization=ORGANIZATION_DOMAIN \
    --posix-group=gid=12345,name=logaccess

Ganti ORGANIZATION_DOMAIN dengan domain (example.com) yang terkait dengan organisasi Anda.

Membuat penetapan kebijakan OS

Anda dapat menggunakan kebijakan OS untuk mengotomatiskan dan memusatkan konfigurasi VM. Anda dapat menerapkan kebijakan OS ke VM menggunakan penetapan kebijakan OS. Dengan membuat penetapan kebijakan OS menggunakan kebijakan OS yang mengubah grup default file auth.log, Anda dapat mengubah grup default file auth.log di beberapa VM sekaligus, alih-alih menerapkan perubahan ke satu VM pada satu waktu.

Untuk membuat penetapan kebijakan OS, lakukan langkah berikut:

  1. Buka terminal di workstation Anda.

  2. Buat file .yaml penetapan kebijakan OS dengan menjalankan perintah berikut:

    touch tutorial-os-policy-assignment.yaml
    
  3. Buka file tutorial-os-policy-assignment.yaml di editor teks dan tambahkan spesifikasi berikut:

    # OS policy assignment that sets the /var/log/auth.log group to logaccess.
    osPolicies:
     - id: log-access-policy
       mode: ENFORCEMENT
       resourceGroups:
           resources:
             - id: grant-log-access
               exec:
                 validate:
                   # Checks if the group is logaccess. If yes, exits  with code 100. If no,
                   # exits with code 101 and proceeds to the `enforce` step.
                   script:
                     if stat -c '%G' /var/log/auth.log | grep -q 'logaccess'; then exit 100; else exit 101; fi
                   interpreter: SHELL
                 enforce:
                   # Changes the group to logaccess and exits with code 100.
                   script:
                     chgrp logaccess /var/log/auth.log && exit 100
    instanceFilter:
     inclusionLabels:
       - labels:
           vm: tutorial
    rollout:
     disruptionBudget:
       fixed: 10
     minWaitDuration: 30s
    

Menerapkan penetapan kebijakan OS ke VM

Untuk menerapkan penetapan kebijakan OS ke VM Anda, lakukan hal berikut:

  1. Terapkan kebijakan OS menggunakan perintah gcloud compute os-config os-policy-assignments create:

    gcloud compute os-config os-policy-assignments create log-access-assignment \
       --location=us-west1-a \
       --file=log-access-os-policy-assignment.yaml \
       --async
    

    Penetapan kebijakan OS akan diluncurkan ke VM sesuai dengan spesifikasi peluncuran yang disebutkan dalam file tutorial-os-policy-assignment.yaml.

  2. Konfirmasi bahwa penetapan kebijakan OS berhasil diluncurkan ke VM dan bahwa penetapan kebijakan OS berhasil memperbarui grup default menggunakan perintah gcloud compute os-config os-policy-assignment-reports list:

    gcloud compute os-config os-policy-assignment-reports list --location=us-west1-a
    

Menambahkan pengguna ke grup Linux Login OS

Saat Anda menambahkan pengguna ke grup Linux Login OS, pengguna tersebut mewarisi izin grup di semua VM yang mengaktifkan Login OS. Untuk tutorial ini, semua pengguna yang Anda tambahkan ke grup logaccess dapat melihat file auth.log tanpa peran IAM roles/compute.osAdminLogin.

Lihat dokumentasi Bantuan Cloud Identity untuk mempelajari cara menambahkan pengguna ke grup logaccess.

Pembersihan

Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

Menghapus project

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

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Menghapus resource satu per satu

Hapus VM yang Anda buat menggunakan perintah gcloud compute instances delete:

gcloud compute instances delete tutorial-1 tutorial-2 tutorial-3 \
    --zone=us-west1-a

Langkah selanjutnya