Dokumen ini menjelaskan cara menggunakan Login OS untuk mengelola akses ke instance VM di seluruh organisasi Anda.
Topik ini membahas tugas-tugas berikut:
- Mengaktifkan Login OS untuk organisasi menggunakan kebijakan organisasi: Gunakan kebijakan organisasi untuk memastikan bahwa semua instance VM baru di organisasi Anda telah mengaktifkan Login OS.
- Memberikan akses instance kepada pengguna di luar organisasi Anda: Izinkan akun pengguna di luar organisasi Anda menggunakan SSH agar terhubung ke instance Anda.
- Mengelola OS Login API: Izinkan atau tolak akses pengguna untuk menggunakan OS Login API. Selain itu, aktifkan atau nonaktifkan fitur OS Login API.
- Mengaudit peristiwa Login OS: Lacak peristiwa dan aktivitas terkait Login OS, seperti menambahkan, menghapus, atau memperbarui kunci SSH, atau menghapus informasi POSIX.
- Mengubah akun pengguna menggunakan Directory API: Perbarui properti pengguna, seperti nama pengguna dan informasi akun POSIX, menggunakan Directory API.
- Menggunakan grup Linux dengan Login OS (Tidak digunakan lagi): Kelola izin pengguna dalam VM menggunakan grup Linux dengan Login OS.
- Menggunakan Login OS dengan federasi identitas tenaga kerja (Pratinjau): Menghubungkan ke VM yang mengaktifkan Login OS saat organisasi Anda menggunakan penyedia identitas (IdP) eksternal.
Sebelum memulai
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
enable-oslogin=true
disertakan dalam metadata project untuk semua project baru.- Permintaan yang menetapkan
enable-oslogin
kefalse
dalam instance atau metadata project akan ditolak, untuk VM dan project baru maupun yang sudah ada. - Cloud Data Fusion versi 6.1.4 dan versi sebelumnya
- Cloud Composer 1
- Cluster publik Google Kubernetes Engine (GKE) yang menjalankan versi sebelum 1.23.5
- Cluster pribadi GKE yang menjalankan versi node pool sebelum 1.20.5
- Dataproc Serverless
- VM Windows Server dan SQL Server
- VM Fedora CoreOS. Untuk mengelola akses instance ke VM yang dibuat menggunakan image ini, gunakan sistem ignisi Fedora CoreOS
- Di konsol Google Cloud, buka halaman Organization policies.
- Dalam daftar kebijakan, klik Require OS Login untuk melihat batasan Login OS.
- Klik Edit untuk mengedit batasan Login OS yang sudah ada.
- Pada halaman Edit, pilih Customize.
- Untuk mengaktifkan penerapan batasan ini, pilih On.
- Klik Save untuk menerapkan setelan batasan.
Temukan ID organisasi Anda.
gcloud organizations list
Tetapkan batasan di organisasi. Ganti
organization-id
dengan ID organisasi Anda.gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --organization=organization-id
folder-id
: ID folder Anda.project-id
: Project ID Anda.- Di konsol Google Cloud, buka halaman IAM & Admin.
- Klik menu drop-down Select a project. Pada dialog Select a resource
yang muncul, pilih organisasi Anda dengan melakukan hal berikut:
- Klik menu drop-down organisasi untuk melihat semua organisasi Anda.
- Pilih organisasi Anda dari menu drop-down.
- Klik Berikan akses untuk menambahkan peran baru kepada pengguna.
- Di kolom New principals, tambahkan alamat email untuk pengguna yang akses instance-nya ingin Anda konfigurasikan.
- Dari menu drop-down Role, pilih peran Compute OS Login External User.
- Klik Simpan.
- Jika Anda belum melakukannya, berikan peran akses instance Login OS lainnya kepada pengguna di tingkat project atau organisasi.
- Pilih apakah akan menyertakan akhiran domain dalam nama pengguna yang dibuat oleh OS Login API. Misalnya, dalam domain
example.com
, penggunauser@example.com
akan memiliki nama penggunauser
jika setelan untuk menyertakan akhiran domain tidak dicentang. - Tentukan apakah anggota organisasi Anda dapat mengelola kunci SSH menggunakan OS Login API.
- Batasi atau izinkan akses VM untuk pengguna di luar organisasi Anda.
- Mengubah setelan login instance.
- Menjadikan suatu pengguna sebagai administrator
- Mengubah properti pengguna seperti nama akun dan email
- Menambahkan dan menghapus kunci SSH untuk suatu pengguna
- Mengubah informasi akun POSIX
- Mengubah nama pengguna yang terhubung ke pengguna di instance.
USER_KEY
: alamat email utama, alamat email alias, atau ID pengguna unik milik pengguna.USERNAME
: nama pengguna yang ditambahkan Compute Engine ke VM untuk pengguna. Nilai ini harus unik dalam organisasi Anda dan tidak boleh diakhiri dengan tanda gelombang ("~") atau berisi titik (".").UID
: ID pengguna pada VM untuk pengguna ini. Properti ini harus berupa nilai antara1001
dan60000
, atau nilai antara65535
dan2147483647
. Untuk mengakses container-optimized OS,UID
harus memiliki nilai antara65536
dan214748646
.UID
harus bersifat unik dalam organisasi Anda.GID
: ID grup di VM tempat pengguna berada.USER_HOME_PATH
: (Opsional) direktori beranda di VM untuk pengguna. Contoh,/home/example_username
.SHELL_PATH
: (Opsional) jalur ke shell default untuk pengguna setelah mereka terhubung ke instance. Misalnya,/bin/bash
atau/bin/sh
.KEY_VALUE
: nilai kunci SSH publik.EXPIRATION_TIME
: (Opsional) waktu habis masa berlaku kunci dalam mikrodetik sejak epoch (1 detik = 106 mikrodetik).- Jika Anda tidak mengetahui ID fasilitas organisasi, dapatkan ID fasilitas organisasi.
- Mencantumkan semua grup POSIX di organisasi Anda. Catat alamat email setiap grup.
- Untuk setiap grup POSIX di organisasi Anda, lakukan hal berikut:
- Ambil informasi grup. Perhatikan
posixGroups.gid
. - Hapus grup POSIX.
- Ambil informasi grup. Perhatikan
- Secara opsional, pastikan semua grup telah dihapus dengan mencantumkan semua grup POSIX di organisasi Anda. Jika semua grup berhasil dihapus, respons akan kosong.
- Buat workforce identity pool.
- Siapkan pemetaan atribut
google.posix_username
. Konfigurasikan VM Anda untuk menggunakan Login OS dengan federasi identitas tenaga kerja dengan melakukan hal berikut:
Pastikan VM telah menginstal OpenSSH 7.4 atau yang lebih baru dengan menjalankan perintah berikut di VM:
ssh -V
VM yang Anda hubungkan harus memiliki OpenSSH versi 7.4 atau yang lebih baru untuk menggunakan federasi identitas tenaga kerja dengan Login OS.
Pengguna di organisasi yang menggunakan workforce identity federation tidak dapat mengakses port serial VM.
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Jalankan perintah berikut:
gcloud beta compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Ganti kode berikut:
PROJECT_ID
: ID project yang berisi VMZONE
: nama zona tempat VM beradaVM_NAME
: nama VM
Jika telah menetapkan properti default untuk Google Cloud CLI, Anda dapat menghilangkan flag
--project
dan--zone
dari perintah ini. Contoh:gcloud compute ssh VM_NAME
-
Instal Desktop IAP di workstation Anda jika belum melakukannya.
-
Buka Desktop IAP. Jendela Tambahkan project akan terbuka.
-
Jika diminta, login dengan workforce identity federation.
-
Di jendela Tambahkan project, masukkan project ID atau nama project yang berisi VM yang ingin Anda hubungkan.
-
Di jendela Project Explorer, klik kanan nama VM lagi, lalu pilih Connect untuk terhubung ke VM.
- Buat kunci SSH jika Anda belum memilikinya.
Tanda tangani kunci SSH publik Anda menggunakan metode
users.projects.locations.signSshPublicKey
:POST https://oslogin.googleapis.com/v1beta/users/USER/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" }
Ganti kode berikut:
USER
: satu identitas dalam kumpulan identitas tenaga kerja, dalam format berikut:principal:%2F%2Fiam.googleapis.com%2Flocations%2Fglobal%2FworkforcePools%2POOL_ID%2Fsubject%2FSUBJECT_ATTRIBUTE_VALUE
Ganti kode berikut:
POOL_ID
: workforce pool tempat pengguna berada.SUBJECT_ATTRIBUTE_VALUE
: nilai pemetaan atributgoogle.posix_username
pengguna.
PROJECT_ID
: project ID project yang berisi VM yang ingin Anda hubungkan.LOCATION
: zona tempat VM yang ingin Anda hubungkan berada.PUBLIC_KEY
: konten file kunci publik SSH Anda.
Salin sertifikat SSH dari output metode
user.signSshPublicKey
dan simpan kontennya dalam file baru.Tetapkan izin pada file sertifikat SSH, dengan menjalankan perintah berikut:
sudo chmod 600 FILE_NAME
Ganti
FILE_NAME
dengan nama file.Hubungkan ke VM menggunakan perintah berikut:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Ganti kode berikut:
PATH_TO_PRIVATE_KEY
: jalur ke file kunci SSH pribadi Anda.PATH_TO_SSH_CERTIFICATE
: jalur ke file sertifikat SSH Anda.USERNAME
: nilai pemetaan atributgoogle.posix_username
pengguna.EXTERNAL_IP
: alamat IP eksternal VM.
- Pelajari cara menyiapkan Login OS.
- Pelajari cara menyiapkan Login OS dengan verifikasi 2 langkah.
- Baca ringkasan fitur Login OS.
- Memecahkan masalah Login OS
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Kebijakan organisasi Login OS
Anda dapat menyiapkan batasan Login OS di organisasi untuk memastikan bahwa semua project baru, dan instance VM yang dibuat dalam project baru ini, telah mengaktifkan Login OS.
Saat batasan ini disiapkan, kondisi berikut akan diterapkan:
Batasan
Login OS tidak didukung di produk, fitur, dan VM berikut:Solusi untuk Cloud Data Fusion, Cloud Composer, dan GKE
Untuk menggunakan Login OS di organisasi yang menggunakan Cloud Data Fusion, Cloud Composer, dan GKE, Anda dapat mengaktifkan batasan Login OS di tingkat organisasi, lalu secara selektif menonaktifkan batasan tersebut pada project atau folder untuk project yang terpengaruh.
Untuk mengetahui informasi selengkapnya tentang mengedit kebijakan organisasi, lihat membuat dan mengedit kebijakan.
Mengaktifkan kebijakan organisasi
Untuk mengaktifkan kebijakan Login OS, Anda dapat menetapkan batasan Login OS pada project dan folder tertentu menggunakan Google Cloud CLI. Anda juga dapat menetapkan batasan Login OS di seluruh organisasi menggunakan konsol Google Cloud atau Google Cloud CLI.
Konsol
Untuk menetapkan kebijakan organisasi Login OS dari konsol, selesaikan langkah-langkah berikut:
gcloud
Untuk menetapkan kebijakan organisasi Login OS, gunakan perintah
gcloud beta resource-manager org-policies enable-enforce
.Anda juga dapat menerapkan kebijakan organisasi Login OS ke folder atau project dengan flag
--folder
atau--project
, serta ID folder dan project ID.Untuk folder, jalankan perintah berikut:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --folder=folder-id
Untuk project, jalankan perintah berikut:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --project=project-id
Ganti kode berikut:
Memberikan akses instance kepada pengguna di luar organisasi Anda
Secara default, pengguna di luar organisasi tidak dapat menetapkan kunci SSH untuk instance di organisasi atau diberi akses ke instance di organisasi Anda. Dalam beberapa situasi, Anda mungkin perlu memberikan akses instance kepada pengguna yang merupakan bagian dari organisasi lain atau yang memiliki akun
gmail.com
Google konsumen.Peran IAM
roles/compute.osLoginExternalUser
memungkinkan Akun Google eksternal berinteraksi dengan peran Login OS lainnya dengan memungkinkannya mengonfigurasi informasi akun POSIX.Untuk memberikan
roles/compute.osLoginExternalUser
dan peran akses instance Login OS lainnya yang diperlukan kepada pengguna di luar organisasi Anda, selesaikan langkah-langkah berikut:Sekarang pengguna dapat terhubung ke instance di project Anda yang mengaktifkan Login OS.
Mengelola OS Login API
Di tingkat organisasi, Anda dapat membatasi akses ke OS Login API dengan menyetel kontrol admin Google Workspace. Untuk mengonfigurasi kontrol admin Google Workspace atau melihat opsi konfigurasi, lihat Mengontrol siapa yang menggunakan Google Cloud di organisasi Anda. Sebagai admin Google Workspace, Anda juga dapat mengaktifkan atau menonaktifkan fitur tertentu dari OS Login API. Hal ini mencakup opsi berikut:
Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan atau menonaktifkan setelan OS Login API, lihat Memilih setelan untuk Google Cloud Platform.
Mengaudit peristiwa Login OS
Sebagai Admin Google Workspace, Anda dapat menggunakan Google Workspace Admin SDK untuk mengaudit tindakan yang dilakukan dengan OS Login API. Dengan meninjau peristiwa ini, Anda dapat melacak kapan pengguna menambahkan, menghapus, atau memperbarui kunci SSH, atau menghapus informasi akun POSIX.
Anda dapat mengambil peristiwa aktivitas audit OS Login API, dari Google Workspace Admin SDK, dengan memanggil
Activities.list()
denganapplicationName=gcp
. Untuk informasi selengkapnya, lihat peristiwa aktivitas Google Cloud dalam dokumentasi Reports API Google Workspace Admin SDK.Mengubah akun pengguna menggunakan Directory API
Login OS menggunakan setelan pengguna Cloud Identity atau Google Workspace Anda saat terhubung ke instance. Jika Anda adalah admin organisasi, Anda dapat menggunakan Directory API untuk menyelesaikan tugas berikut bagi akun pengguna Google Workspace atau Cloud Identity Anda:
Contoh berikut menunjukkan cara mengubah atau menghapus akun pengguna menggunakan Directory API. Untuk mengetahui informasi selengkapnya tentang properti akun yang dapat Anda edit, lihat Referensi Directory API.
Mengubah properti akun
Untuk mengubah informasi akun POSIX pengguna atau mengelola kunci SSH pengguna, kirimkan permintaan
PUT
ke metodedirectory.users.update
dan tentukan satu atau beberapa properti untuk diubah di akun pengguna.Jika mengubah properti
posixAccounts
pengguna, Anda harus menentukan nilaiusername
,uid
, dangid
saat ini atau yang baru dalam permintaan.Jika mengubah properti
sshPublicKeys
pengguna, Anda harus menentukan nilaikey
dalam permintaan.Berikut adalah contoh permintaan
PUT
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": [ { "username": "USERNAME", "uid": "UID", "gid": "GID", "homeDirectory": "USER_HOME_PATH", "shell": "SHELL_PATH" } ], "sshPublicKeys": [ { "key": "KEY_VALUE", "expirationTimeUsec": EXPIRATION_TIME } ], }
Ganti kode berikut:
Menghapus properti akun
Untuk menghapus data
posixAccounts
dansshPublicKeys
bagi pengguna, keluarkan permintaanPUT
ke metodedirectory.users.update
, yang menyetel kolomposixAccounts
dansshPublicKeys
kenull
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": null, "sshPublicKeys": null }
Ganti
USER_KEY
dengan alamat email utama, alamat email alias, atau ID pengguna unik pengguna.Menggunakan grup Linux dengan Login OS (Tidak digunakan lagi)
Admin organisasi dapat menggunakan Cloud Identity Groups API untuk mengonfigurasi grup Linux tambahan bagi pengguna Login OS dengan membuat dan mengelola grup POSIX. Login OS menautkan grup POSIX dengan grup Linux tambahan di VM organisasi Anda, sehingga Anda dapat mengelola izin yang dimiliki pengguna di VM Anda.
Mengelola keanggotaan pengguna di grup Linux
Untuk membuat grup POSIX, lihat Membuat dan memperbarui grup POSIX.
Untuk menambahkan pengguna ke grup, lihat Menambahkan atau mengundang pengguna ke grup.
Pembaruan keanggotaan akan diterapkan dalam waktu 10 menit. Perubahan grup tercermin di semua VM yang baru dibuat. Pembaruan grup POSIX mungkin memerlukan waktu hingga enam jam untuk diterapkan ke semua VM yang berjalan. Pengguna mungkin harus logout atau menggunakan perintah
newgrp
untuk mengamati perubahan grup.Menghapus konfigurasi grup POSIX
Dukungan grup POSIX Login OS tidak digunakan lagi. Sebaiknya hapus konfigurasi grup Login OS POSIX.
Anda harus menjadi administrator organisasi untuk menghapus konfigurasi grup POSIX Login OS.
Batas kapasitas untuk grup Linux dengan Login OS
Grup Linux dengan Login OS menggunakan kuota
oslogin.googleapis.com/metadata_server_groups_requests
. Secara default, batas kuota adalah 60 permintaan/menit, per project untuk region tertentu.Jika memerlukan batas kapasitas yang lebih tinggi, Anda dapat meminta kuota tambahan dari halaman Quotas di konsol Google Cloud.
Menggunakan workforce identity federation dengan Login OS
Organisasi yang menggunakan workforce identity federation dapat menggunakan Login OS untuk mengelola akses ke VM mereka. Jika federasi identitas tenaga kerja diaktifkan untuk organisasi, OS Login menggunakan autentikasi berbasis sertifikat, bukan autentikasi berbasis kunci, untuk memverifikasi identitas pengguna.
Sebelum memulai
Batasan
Menghubungkan ke VM yang menggunakan Login OS dan federasi identitas tenaga kerja
Menghubungkan ke VM yang menggunakan Login OS dengan federasi identitas tenaga kerja menggunakan konsol Google Cloud, gcloud CLI, atau klien SSH lainnya.
Konsol
Saat Anda terhubung ke VM yang menggunakan Login OS dengan federasi identitas tenaga kerja menggunakan SSH di browser, Compute Engine akan mengonfigurasi sertifikat SSH untuk Anda saat Anda mencoba terhubung.
Untuk terhubung ke VM, lakukan hal berikut:
gcloud
Saat Anda terhubung ke VM yang menggunakan Login OS dengan federasi identitas tenaga kerja menggunakan gcloud CLI, Compute Engine akan mengonfigurasi sertifikat SSH untuk Anda saat Anda mencoba terhubung.
Terhubung ke VM menggunakan SSH dengan menjalankan perintah
gcloud beta compute ssh
:Desktop IAP
Saat Anda terhubung ke VM yang menggunakan Login OS dengan federasi identitas tenaga kerja menggunakan IAP Desktop, Compute Engine akan mengonfigurasi sertifikat SSH untuk Anda saat Anda mencoba terhubung.
Untuk terhubung ke VM menggunakan Desktop IAP, lakukan langkah berikut:
Klien SSH
Untuk terhubung ke VM yang menggunakan Login OS dengan federasi identitas tenaga kerja menggunakan klien SSH, lakukan hal berikut:
Langkah selanjutnya
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-12-22 UTC.
-