Pola dan praktik untuk tata kelola identitas dan akses di Google Cloud

Last reviewed 2022-09-27 UTC

Ada sejumlah produk dan layanan Google Cloud yang dapat Anda gunakan untuk membantu organisasi Anda mengembangkan pendekatan tata kelola identitas dan pengelolaan akses untuk aplikasi dan workload yang berjalan di Google Cloud. Dokumen ini ditujukan untuk administrator keamanan, pengelola operasi, dan arsitek perusahaan yang bekerja dalam tim pelanggan dan yang ingin mempelajari tentang alat dan kontrol ini, serta cara menggunakannya.

Dokumen ini mengasumsikan bahwa Anda memiliki hal berikut:

  • Project Google Cloud.
  • Akun pengguna dengan akses administratif untuk mengelola grup dan pengguna Cloud Identity. Anda memerlukan akses ini untuk menjalankan contoh prosedur dalam dokumen ini.
  • Akun pengguna tanpa akses administratif untuk mengelola grup dan pengguna Cloud Identity. Anda memerlukan akun ini untuk menguji beberapa kontrol yang Anda tetapkan dalam contoh prosedur dalam dokumen ini.

    Jika Anda belum memiliki akses ke project Google Cloud dan akses administratif ke Cloud Identity, lihat Membuat project Google Cloud dan Menyiapkan Cloud Identity.

Menemukan akun dan izin yang tidak digunakan

Praktik terbaiknya adalah menghapus akun pengguna jika tidak lagi diperlukan karena akun pengguna dan akun layanan yang tidak digunakan (tidak digunakan lagi) dapat menimbulkan risiko keamanan. Anda dapat menggunakan Policy Intelligence Google Cloud dengan cara berikut untuk membantu perusahaan memahami dan mengurangi risiko:

  • Membantu administrator dalam perusahaan Anda menemukan akun dan izin yang tidak digunakan lagi, karena alasan seperti karyawan telah keluar dari perusahaan atau berganti peran.
  • Membantu mengidentifikasi akun layanan yang telah ditinggalkan setelah tugas selesai.

Melihat dan menerapkan rekomendasi IAM

Pemberi rekomendasi IAM adalah bagian dari rangkaian alat dan layanan Policy Intelligence. Solusi ini menggunakan machine learning (ML) untuk membuat rekomendasi kontrol akses cerdas guna membantu Anda mengidentifikasi akun yang tidak lagi memerlukan akses ke resource Google Cloud. Kemudian, Anda dapat meninjau rekomendasi dan memutuskan apakah akan menerapkannya. Pemberi rekomendasi IAM juga membantu Anda mempertahankan prinsip hak istimewa terendah di seluruh anggota dalam organisasi Anda. Selain menyediakan rekomendasi, layanan Pemberi rekomendasi menggunakan ML untuk menyediakan insightyang mendetail. Insight adalah temuan yang menandai pola penting dalam penggunaan resource. Contohnya, Anda dapat mengumpulkan informasi tambahan tentang penggunaan izin dalam project Anda, mengidentifikasi izin yang tidak digunakan dan tidak diperlukan lagi, dan mengidentifikasi akun layanan yang tidak digunakan.

Anda dapat melihat dan menerapkan rekomendasi IAM di Konsol Google Cloud pada skala tingkat perusahaan. Dalam contoh prosedur berikut, Anda menggunakan BigQuery untuk meninjau dan menyesuaikan ukuran izin akses dalam organisasi Anda. Untuk menyiapkan integrasi BigQuery, Anda mengonfigurasi ekspor rekomendasi yang dibuat oleh pemberi rekomendasi IAM ke set data BigQuery. Data ini kemudian dapat dikueri dan ditinjau menggunakan alat visualisasi seperti Looker Studio dan Looker.

Penerapan

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

  2. BigQuery secara otomatis diaktifkan dalam project baru. Untuk mengaktifkan BigQuery di project yang sudah ada, aktifkan BigQuery API.

    Mengaktifkan API

  3. Konfigurasi BigQuery Data Transfer Service untuk mengambil data dari pemberi rekomendasi IAM. Untuk mempelajari lebih lanjut, lihat Mengekspor rekomendasi ke BigQuery.

  4. Buka halaman BigQuery.

    Buka BigQuery

  5. Salin dan tempelkan kueri berikut ke dalam kolom Editor:

    SELECT
       recommendation_details
    FROM PROJECT_ID.DATASET.TABLE_NAME
    WHERE recommender = "google.iam.policy.Recommender"
    AND recommender_subtype = "REMOVE_ROLE"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Google Cloud yang Anda gunakan untuk menjalankan contoh ini
    • DATASET: nama set data yang Anda pilih saat menyiapkan tugas BigQuery Data Transfer Service.
    • TABLE_NAME: nama tabel yang dibuat oleh tugas BigQuery Data Transfer Service.

    Anda menjalankan kueri ini untuk mengidentifikasi subjenis recommender_subtype dari rekomendasi REMOVE_ROLE Pemberi Rekomendasi IAM.

  6. Klik Run. Anda dapat menggunakan hasil kueri untuk mengidentifikasi peran yang tidak digunakan dan menyesuaikan ukuran binding peran IAM.

    Anda dapat menyimpan hasil kueri ke Spreadsheet. Untuk mempelajari lebih lanjut, lihat Menyimpan hasil kueri ke Spreadsheet.

Memberikan pengguna kemampuan untuk meminta akses ke resource

Administrator perusahaan memerlukan kemampuan untuk mengizinkan pengguna meminta akses ke resource. Biasanya, permintaan ini melalui proses persetujuan di mana pemberi persetujuan yang ditunjuk atau sekelompok pemberi persetujuan harus menyetujui permintaan tersebut sebelum akses diberikan. Google Grup memungkinkan Anda menerapkan kebijakan akses ke kumpulan pengguna, sehingga Anda dapat mengikuti praktik terbaik pengelolaan kebijakan dalam memberikan akses ke resource berdasarkan pada keanggotaan grup. Pendekatan ini menjaga kebijakan tetap relevan saat peristiwa bergabung, pindah, dan keluar terjadi melalui perubahan keanggotaan grup.

Anda dapat memberikan dan mengubah kontrol akses untuk seluruh grup dengan Google Grup, bukan memberikan atau mengubah kontrol akses satu per satu untuk setiap pengguna atau akun layanan. Anda juga dapat dengan mudah menambahkan anggota ke grup Google dan menghapus anggota dari grup Google, bukan memperbarui kebijakan IAM untuk menambahkan atau menghapus pengguna.

Menyiapkan akses resource menggunakan Google Grup

Anda dapat membuat dan mengelola grup Google menggunakan Cloud Identity. Cloud Identity adalah solusi identitas sebagai layanan (IDaaS) yang mengelola pengguna dan grup. Anda juga dapat mengonfigurasi Cloud Identity untuk menggabungkan identitas antara Google dan penyedia identitas lainnya, seperti Active Directory dan Azure Active Directory. Google Groups juga memungkinkan pengguna meminta keanggotaan ke grup. Permintaan ini diarahkan ke administrator grup yang kemudian dapat menyetujui atau menolak permintaan tersebut. Untuk mempelajari lebih lanjut, lihat Membuat grup dan memilih setelan grup.

Saat Anda membuat dan mengelola grup Google untuk memberikan akses ke resource Google Cloud, pastikan untuk mempertimbangkan implikasi setelan yang Anda pilih. Meskipun Anda sebaiknya meminimalkan jumlah pengguna yang dapat mengelola grup, sebaiknya Anda menyiapkan lebih dari satu administrator grup agar selalu memiliki akses ke grup. Sebaiknya Anda membatasi keanggotaan grup untuk pengguna dalam organisasi Anda juga.

Penerapan

Dalam contoh prosedur ini, Anda akan membuat grup Google dan memberi grup pelihat akses ke contoh project Google Cloud. Anggota yang Anda tambahkan ke grup ini (atau yang Anda beri akses sesuai permintaan) dapat melihat contoh project Google Cloud.

Membuat contoh grup Google

Langkah-langkah berikut mengasumsikan bahwa Anda telah mengonfigurasi Cloud Identity. Untuk mempelajari lebih lanjut, lihat Menyiapkan Cloud Identity. Pastikan Anda memiliki izin yang Anda perlukan untuk mengelola grup.

  1. Di Konsol Google Cloud, buka halaman Grup.

    Buka Grup

  2. Klik Create.

  3. Isi detail untuk grup Anda.

    Untuk menambahkan anggota ke grup, klik Tambahkan anggota, lalu masukkan alamat email untuk anggota tersebut dan pilih peran Google Grup mereka.

    Setelah selesai, klik Kirim untuk membuat grup.

    Setelan grup hanya dapat dikelola dalam Google Grup. Klik Kelola grup ini di Google Grup untuk mengonfigurasi setelan grup. Untuk memilih siapa yang dapat bergabung dalam grup, di menu Siapa yang dapat bergabung dengan grup, pilih Khusus pengguna organisasi.

  4. Klik Buat Grup.

Memberikan grup akses ke project Google Cloud

  1. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
  2. Buka Cloud Shell:

    Buka Cloud Shell

  3. Jalankan perintah berikut untuk memberi pelihat grup akses ke project:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=group:GROUP_EMAIL --role=roles/viewer
    

    Ganti kode berikut:

    • GROUP_EMAIL: alamat email grup yang Anda buat
    • PROJECT_ID: ID project Google Cloud Anda

Menguji proses permintaan akses pengguna untuk pengguna dalam organisasi Anda

Dalam prosedur berikut, Anda akan menggunakan akun pengguna uji coba untuk mendemonstrasikan langkah-langkah yang digunakan pengguna dalam organisasi Anda untuk meminta akses ke grup Google.

  1. Login ke Google Grup sebagai pengguna non-administratif. Grup yang Anda buat di Membuat contoh grup Google akan muncul di bagian Semua Grup. Jika grup tidak muncul, gunakan penelusuran untuk mencarinya.
  2. Untuk meminta akses ke grup, klik Minta untuk bergabung dengan grup.

    Setelah akses diberikan, akun pengguna non-administratif yang Anda gunakan untuk membuat permintaan akan dapat melihat project PROJECT_ID Google Cloud yang akses Pelihatnya dimiliki grup tersebut.

Memberikan akses yang terikat waktu ke resource Google Cloud

Mungkin ada situasi saat pengguna dalam perusahaan Anda memerlukan akses sementara dalam jangka pendek ke resource Google Cloud. Akses jangka pendek berguna saat developer memerlukan akses sementara ke resource Google Cloud untuk melakukan tugas tertentu. Akses jangka pendek juga menawarkan keuntungan berikut:

  • Mengurangi overhead administratif.
  • Memastikan bahwa prinsip hak istimewa terendah dan akses tepat waktu diikuti.

Kemampuan untuk memberikan jenis akses ini berguna bagi administrator saat pengguna memerlukan akses ke resource dalam situasi darurat yang memerlukan intervensi cepat dan langsung. Namun, mungkin sulit untuk melacak izin akses jangka pendek secara manual dan memastikannya dihapus secara tepat waktu. Kebijakan akses bersyarat Identity and Access Management (IAM) memungkinkan Anda menetapkan akses sementara (yang akan berakhir) ke resource Google Cloud menggunakan binding peran bersyarat, sehingga membantu mengurangi overhead ini bagi administrator.

Menggunakan binding peran bersyarat dan akhir masa berlaku keanggotaan grup

Anda dapat menambahkan binding peran bersyarat ke kebijakan IAM baru atau yang sudah ada untuk mengontrol akses lebih lanjut ke resource Google Cloud. Beberapa contoh kapan Anda dapat menggunakan binding peran bersyarat untuk memberi pengguna atau grup akses sementara adalah sebagai berikut:

  • Akses ke project yang akan berakhir setelah waktu tertentu.
  • Akses ke project yang berulang setiap bulan atau triwulan.
  • Akses ke instance Compute Engine untuk mengelola tugas-tugas seperti menghentikan instance.

Saat Anda menggunakan Google Grup untuk memberi pengguna akses ke resource Google Cloud, Anda dapat menggunakan fitur akhir masa berlaku keanggotaan grup untuk menyetel akhir masa berlaku keanggotaan grup menggunakan Cloud Identity Groups API. Jika waktu yang Anda tentukan telah berlalu, pengguna akan otomatis dihapus dari grup.

Penerapan

Anda dapat menggunakan binding peran bersyarat guna memberi developer akses sementara untuk mengelola instance Compute Engine tertentu. Dalam contoh ini, binding peran ditetapkan berakhir pada 31 Desember 2021.

  1. Di Cloud Shell, tetapkan variabel berikut:

    export INSTANCE=create example-instance-1
    export ZONE=us-west1-b
    export USER=USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO
    

    Ganti USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO dengan nama pengguna dalam organisasi Anda yang ingin Anda beri akses sementara.

  2. Buat contoh instance Compute Engine:

    gcloud compute instances create $INSTANCE \
        --zone $ZONE \
        --machine-type g1-small
    

    Anda memberikan akses sementara ke instance ini kepada pengguna dalam organisasi Anda dengan langkah-langkah berikut.

  3. Berikan akses sementara kepada pengguna yang Anda pilih:

    gcloud compute instances add-iam-policy-binding $INSTANCE \
        --zone=$ZONE \
        --member="user:$USER" \
        --role='roles/compute.instanceAdmin.v1' \
        --condition='expression=request.time < timestamp("2022-01-01T00:00:00Z"),title=expires_end_of_2021,description=Expires at midnight on 2021-12-31'
    
  4. Pertahankan instance Compute Engine yang Anda buat. Anda menggunakan instance ini nanti dalam dokumen ini pada bagian Mengelola akses hak istimewa.

    Atau, Anda dapat menghapus instance example-instance-1 dengan menjalankan perintah berikut:

    gcloud compute instances delete $INSTANCE
    

Jika Anda perlu meninjau peristiwa siklus proses IAM seperti perubahan kebijakan, pembuatan akun layanan, dan penetapan akun layanan untuk pengauditan, Cloud Audit Logs dapat membantu. Administrator dapat menggunakan Cloud Audit Logs untuk melihat kembali data historis untuk forensik dan analisis. Menganalisis log audit dapat membantu Anda memahami pola akses dan anomali akses. Analisis log audit juga penting untuk skenario berikut:

  • Menganalisis izin dan akses ke resource selama pelanggaran data.
  • Menganalisis masalah produksi yang disebabkan oleh perubahan kebijakan IAM, terutama jika Anda ingin memverifikasi pengguna mana atau proses apa yang membuat perubahan tersebut.

Cloud Audit Logs menyimpan informasi tentang tindakan yang dilakukan pengguna, tempat terjadinya aktivitas, dan kapan terjadinya aktivitas tersebut. Log audit diklasifikasikan sebagai berikut:

Sebaiknya Anda menggunakan log audit berikut untuk logging administratif terkait identitas dan akses:

  • Log audit Aktivitas Admin
  • Log audit Kebijakan Ditolak

Log audit Aktivitas Admin menyimpan perubahan yang dilakukan pada resource Google Cloud, seperti project, instance Compute Engine, dan akun layanan. Berikut adalah contoh peristiwa yang disimpan oleh log audit Aktivitas Admin:

  • Pembuatan akun layanan.
  • Perubahan pada kebijakan IAM.
  • Download dari kunci akun layanan.

Log audit Kebijakan Ditolak mencatat saat pengguna atau akun layanan ditolak akses ke layanan Google Cloud karena pelanggaran kebijakan keamanan.

Menyiapkan Cloud Audit Logs untuk peristiwa siklus proses identitas

Anda dapat melihat log audit di Konsol Google Cloud atau membuat kueri log menggunakan Cloud Logging API atau antarmuka command line.

Semua log audit memiliki periode retensi data. Jika perusahaan Anda perlu menyimpan log audit lebih lama dari periode retensi data default, Anda perlu mengekspor log ke BigQuery atau tujuan sink lainnya dengan membuat sink log. Dengan mengekspor log ke BigQuery, Anda dapat melihat subset kolom data dan data yang dipilih (dari waktu ke waktu atau dimensi lainnya), serta melakukan analisis gabungan.

Penerapan

Contoh prosedur berikut menunjukkan Anda cara membuat kueri log project Google Cloud untuk memeriksa apakah salah satu peristiwa berikut telah terjadi:

  • Ada perubahan kebijakan IAM.
  • Akun layanan baru telah dibuat.
  • Kunci akun layanan baru telah dibuat.

Melihat perubahan pada kebijakan IAM

  1. Di Konsol Google Cloud, buka halaman Logging > Logs Explorer.
  2. Pada halaman Logs Explorer, pilih project Google Cloud yang sudah ada.
  3. Tempel kueri berikut ke dalam Query Builder:

    logName="projects/<PROJECT>/logs/cloudaudit.googleapis.com%2Factivity" AND
    (resource.type="project" OR resource.type="service_account") AND
    resource.labels.project_id="<PROJECT>" AND
    (protoPayload.methodName="SetIamPolicy" OR
    protoPayload.methodName="google.iam.admin.v1.CreateServiceAccount"
    OR
    protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey")
    

    Ganti PROJECT dengan ID project Google Cloud Anda.

  4. Klik Jalankan kueri.

Melihat perubahan pada keanggotaan grup

Perubahan pada keanggotaan grup Google dilacak di Log aktivitas. Untuk mempelajari cara mengakses log ini, lihat Melihat log perubahan keanggotaan grup.

Sertifikasi akses

Penganalisis Kebijakan dapat digunakan untuk membantu perusahaan Anda memverifikasi bahwa pengguna memiliki hak akses yang sesuai ke resource Google Cloud secara yang ditetapkan atau berkala. Verifikasi ini penting untuk tujuan kepatuhan dan audit. Selain itu, juga berguna untuk petugas keamanan dan auditor untuk meninjau pengguna mana yang memiliki akses ke resource tertentu dan dalam kapasitas apa. Penganalisis Kebijakan membantu Anda mengidentifikasi identitas atau akun utama (pengguna, akun layanan, grup, dan domain) yang memiliki akses ke resource Google Cloud mana di seluruh hierarki resource dalam organisasi Anda. Cara ini juga membantu mengidentifikasi jenis aksesnya. Beberapa contoh pertanyaan yang dapat dijawab oleh Penganalisis Kebijakan adalah sebagai berikut:

  • Pengguna mana yang dapat mengakses akun layanan.
  • Pengguna mana yang dapat membaca data dalam set data BigQuery yang berisi informasi identitas pribadi (PII).

Penganalisis Kebijakan dapat digunakan dengan metode berikut:

Menggunakan Penganalisis Kebijakan untuk memeriksa akses pengguna

Contoh kueri berikut menunjukkan insight jenis yang dapat Anda peroleh ke dalam akses pengguna dengan Penganalisis Kebijakan:

  • Peran atau izin apa yang dimiliki akun utama (pengguna, akun layanan, grup, dan domain); contohnya, memeriksa akses apa yang dimiliki mantan karyawan ke project produksi Anda.
  • Resource mana yang dapat diakses pengguna; contohnya, akses yang dimiliki mantan karyawan ke resource project produksi Anda.
  • Akun utama mana yang memiliki tingkat akses tertentu ke resource; contohnya, bucket mana yang dapat dihapus oleh pengguna tertentu dalam sebuah project.

Penerapan

Dalam contoh prosedur berikut, Anda menggunakan Penganalisis Kebijakan untuk memverifikasi izin yang dimiliki pengguna.

  1. Di Cloud Shell, aktifkan Cloud Asset API untuk project:

    Mengaktifkan API

  2. Masukkan perintah berikut untuk mengetahui resource mana yang dapat diakses pengguna:

    gcloud asset analyze-iam-policy --organization="YOUR_ORG_ID" \
        --identity="user:USERNAME_TO_CERTIFY"
    

    Lakukan penggantian berikut:

    • YOUR_ORG_ID: ID Organisasi Google Cloud Anda
    • USERNAME_TO_CERTIFY: nama pengguna yang izin akses Google Cloud-nya ingin Anda verifikasi.
  3. Ekstrak data kebijakan IAM ke BigQuery. Untuk mempelajari lebih lanjut, lihat Menulis analisis kebijakan ke BigQuery.

Mengelola akses hak istimewa

Beberapa pengguna dalam organisasi Anda mungkin memerlukan akses hak istimewa ke resource Google Cloud tertentu untuk melakukan tugas administratif. Contohnya, para pengguna ini mungkin perlu mengelola project Google Cloud tertentu, menyiapkan penagihan dan anggaran project, atau mengelola instance Compute Engine.

Daripada memberikan akses hak istimewa ke resource kepada pengguna secara permanen, Anda dapat mengizinkan pengguna meminta akses hak istimewa tepat waktu. Menggunakan pengelolaan akses hak istimewa tepat waktu dapat membantu Anda melakukan hal berikut:

  • Mengurangi risiko seseorang yang tidak sengaja mengubah atau menghapus resource. Contohnya, ketika pengguna memiliki akses hak istimewa hanya saat diperlukan, hal ini membantu mencegah mereka menjalankan skrip di waktu lain yang secara tidak sengaja memengaruhi resource yang seharusnya tidak dapat mereka ubah.
  • Membuat jejak audit yang menunjukkan alasan hak istimewa diaktifkan.
  • Melakukan audit dan peninjauan untuk menganalisis aktivitas sebelumnya.

Atau, Anda dapat memberikan akses hak istimewa ke akun layanan dan mengizinkan pengguna untuk meniru identitas akun layanan.

Memberikan akses hak istimewa kepada pengguna

Secara luas, pengelolaan akses hak istimewa untuk pengguna versi bisnis di Google Cloud dapat dirangkum sebagai berikut:

  • Memberikan kemampuan kepada pengguna dalam perusahaan untuk meminta akses hak istimewa.
  • Meninjau Cloud Audit Logs untuk menganalisis permintaan akses dan pola akses dengan hak istimewa. Administrator dapat meninjau pola akses dengan hak istimewa dan mendeteksi anomali menggunakan log ini. Sebaiknya perusahaan mempertimbangkan untuk mengekspor log ini agar dipertahankan seperlunya dan sesuai untuk tujuan audit.
  • Memastikan bahwa akses dengan hak istimewa akan berakhir secara otomatis atau ditinjau secara berkala.

Aktifkan verifikasi 2 langkah (disebut juga autentikasi multi-faktor) untuk semua pengguna yang memiliki akses istimewa ke resource. Anda juga dapat membuat kontrol akses berbasis atribut yang terperinci menggunakan Access Context Manager, yang menerapkan lapisan keamanan tambahan saat menggunakan akses dengan hak istimewa. Contohnya, Anda dapat memiliki tingkat akses yang menentukan bahwa pengguna harus berada di jaringan perusahaan saat menggunakan akses hak istimewa ke resource.

Penerapan

Dalam contoh prosedur ini, Anda (sebagai administrator) membuat grup Google untuk mendapatkan akses hak istimewa ke instance Compute Engine. Anda membuat akun layanan di Google Cloud yang diberi akses untuk mengelola instance Compute Engine. Anda mengaitkan grup dengan akun layanan tersebut, sehingga anggota grup dapat meniru identitas akun layanan selama periode ketika mereka diberi keanggotaan ke grup dengan hak istimewa tersebut.

Membuat grup Google untuk akses hak istimewa

  1. Sebagai administrator Google Cloud, pilih atau buat project Google Cloud.

    Buka Mengelola Resource

  2. Aktifkan penagihan untuk project Anda. Aktifkan Penagihan

  3. Ikuti langkah-langkah dalam Memberi pengguna kemampuan untuk meminta akses ke resource untuk membuat grup Google baru.

    Beri nama grup sebagai berikut: elevated-compute-access

Membuat akun layanan Google Cloud

  1. Di Cloud Shell, aktifkan Service Account Credentials API IAM untuk project yang Anda buat dalam Membuat grup Google untuk akses istimewa.

    Aktifkan API

  2. Tetapkan variabel berikut:

    export PROJECT_ID=$DEVSHELL_PROJECT_ID
    export PRIV_SERVICE_ACCOUNT_NAME=elevated-compute-access
    export DELEGATE_GROUP=GROUP_EMAIL_ADDRESS
    

    Ganti GROUP_EMAIL_ADDRESS dengan nama lengkap grup Google yang Anda buat.

  3. Buat akun layanan:

    gcloud IAMservice-accounts create $PRIV_SERVICE_ACCOUNT_NAME \
        --description="Elevated compute access" \
        --display-name="Elevated compute access"
    
  4. Berikan peran administrator komputasi kepada akun layanan:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:$PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/compute.admin"
    
  5. Berikan akses konsumen Service Usage kepada grup Google yang Anda buat untuk project Anda:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="group:$DELEGATE_GROUP" \
        --role="roles/serviceusage.serviceUsageConsumer"
    

    Izin ini memungkinkan anggota grup Google meniru identitas akun layanan yang telah Anda buat.

  6. Berikan grup Google kemampuan untuk meniru identitas akun layanan yang Anda buat:

    gcloud IAMservice-accounts add-iam-policy-binding
    $PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --member="group
    :$DELEGATE_GROUP" --role="roles/iam.serviceAccountTokenCreator"
    
  7. Lewati langkah ini jika Anda membuat dan mempertahankan contoh instance Compute Engine untuk prosedur dalam Memberikan akses yang terikat waktu ke resource Google Cloud. Anda dapat menggunakan contoh instance untuk menjalankan langkah-langkah dalam contoh ini.

    Atau, gunakan perintah berikut untuk membuat contoh instance Compute Engine:

    gcloud compute instances create example-instance-1 \
        --zone us-west1-b \
        --machine-type g1-small
    

    Anda menggunakan instance dalam contoh ini untuk memvalidasi bahwa pengguna yang diberi keanggotaan dalam grup dengan hak istimewa dapat mengakses instance.

Mengaktifkan log audit

Administrator dalam perusahaan Anda dapat mengaktifkan Cloud Audit Logs untuk memastikan bahwa akses hak istimewa dicatat ke dalam log dan tersedia untuk ditinjau dan dianalisis. Prosedur di bagian ini menunjukkan Anda cara mengaktifkan logging audit.

  1. Dapatkan kebijakan IAM saat ini untuk project:

    gcloud projects get-iam-policy $PROJECT_ID > /tmp/policy.yaml
    
  2. Ubah file kebijakan guna mengaktifkan log akses data untuk Compute Engine API:

    cat <<EOF >> /tmp/policy.yaml
    auditConfigs:
    - auditLogConfigs:
     - logType: ADMIN_READ
     - logType: DATA_READ
     - logType: DATA_WRITE
     service: compute.googleapis.com
    EOF
    
  3. Tetapkan kebijakan baru:

    gcloud projects set-iam-policy $PROJECT_ID /tmp/policy.yaml
    

Menguji peniruan identitas dengan akun pengguna non-administratif

Anda dapat menggunakan akun pengguna non-administratif untuk menguji penyiapan dengan meminta keanggotaan ke grup dan meniru identitas akun layanan setelah keanggotaan diberikan.

Prosedur di bagian ini menunjukkan Anda cara pengguna versi bisnis dapat meminta akses hak istimewa ke resource Google Cloud. Dalam contoh prosedur ini, resource Google Cloud adalah instance Compute Engine untuk project Google Cloud. Untuk mendemonstrasikan cara pengguna dalam organisasi Anda dapat meniru identitas akun layanan setelah mereka diberi keanggotaan ke grup, Anda meminta keanggotaan ke grup Google yang relevan.

  1. Login ke Google Grup dengan akun pengguna non-administratif dan minta keanggotaan ke grup elevated-compute-access.
  2. Gunakan akun yang sama untuk login ke Google Cloud. Anda seharusnya memiliki akses ke grup tersebut setelah administrator menyetujui permintaan tersebut. Dalam contoh prosedur ini, diasumsikan bahwa permintaan Keanggotaan Grup Anda disetujui.

  3. Di Cloud Shell, jalankan perintah berikut untuk menetapkan project default:

    gcloud config set project PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project yang Anda buat sebelumnya dalam Membuat grup Google untuk akses hak istimewa.

  4. Coba cantumkan instance Compute Engine dalam project ini:

    gcloud compute instances list
    

    Anda melihat pesan error yang memberitahukan Anda bahwa pengguna Google Cloud Anda tidak memiliki izin untuk mengakses resource Compute Engine.

  5. Jalankan perintah berikut:

    gcloud compute instances list
    --impersonate-service-account=elevated-compute-access@$PROJECT_ID.iam.gserviceaccount.com
    

    Perintah ini mencantumkan instance Compute Engine dalam project dengan meniru identitas akun layanan yang dapat Anda akses saat Anda diberi keanggotaan ke grup Google elevated-compute-access.

    Anda melihat instance Compute Engine example-instance-1 yang Anda buat dengan akun administrator Anda.

Memeriksa log audit

Sebagai administrator Google Cloud, Anda dapat mengakses dan meninjau log audit yang dihasilkan.

  1. Login ke Konsol Google Cloud dengan akun pengguna yang memiliki hak istimewa administratif untuk mengakses log audit.

  2. Di Cloud Logging, masukkan kueri berikut untuk meninjau log akses data:

    logName="projects/<PROJECT_ID>/logs/cloudaudit.googleapis.com%2Fdata_access"
    AND
    protoPayload.authenticationInfo.principalEmail="elevated-compute-access@PROJECT_ID.iam.gserviceaccount.com"
    

    Ganti PROJECT_ID dengan ID project Anda, lalu jalankan kueri.

    Kueri ini menunjukkan Anda pengguna mana dalam grup Google yang meniru identitas akun layanan untuk mengakses instance Compute Engine. Hal ini juga menunjukkan Anda detail relevan lainnya seperti kapan akun layanan ditiru identitasnya dan detail header permintaan.

  3. Tinjau payload log audit, khususnya object protoPayload.authenticationInfo in the payload. Nama pengguna yang meniru identitas akun layanan dicatat ke dalam log sebagai nilai kunci principalEmail dari object firstPartyPrincipal.

  4. Sebagai administrator, Anda juga dapat meninjau temuan ancaman peristiwa di dasbor Security Command Center. Untuk mempelajari Security Command Center lebih lanjut, lihat Menggunakan Deteksi Ancaman Peristiwa.

Langkah selanjutnya