Kontrol sesi memungkinkan Anda mengonfigurasi frekuensi pengguna harus melakukan autentikasi ulang setelah diberi akses, dan apakah login penuh, hanya sandi, atau kunci keamanan hardware diperlukan.
Anda dapat menerapkan kontrol sesi untuk melakukan hal berikut:
- Menerapkan autentikasi ulang yang sering untuk pengguna dengan hak istimewa Mewajibkan pengguna dengan hak istimewa yang lebih tinggi, seperti pemilik project dan administrator penagihan, untuk melakukan autentikasi ulang lebih sering.
- Mengonfigurasi sesi yang lebih lama untuk aplikasi tertentu Izinkan aplikasi tertentu, seperti aplikasi AI berbasis konteks seperti Gemini, memiliki durasi sesi yang lebih lama untuk mempertahankan jendela konteks besar yang diperlukan untuk performa optimal.
Menentukan durasi sesi dan metode autentikasi ulang
Anda dapat menentukan kontrol sesi saat membuat binding Access Context Manager. Untuk mengetahui detail tentang kontrol sesi, lihat Menerapkan kebijakan ke grup pengguna menggunakan binding akses.
gcloud
Menetapkan kontrol sesi default untuk semua aplikasi
Gunakan flag
--session-length
untuk menyetel durasi sesi dan flag--session-reauth-method
untuk menentukan metode autentikasi ulang. Misalnya, Anda dapat menyetel durasi sesi 30 menit (30m) dan metode autentikasi ulangLOGIN
,PASSWORD
, atauSECURITY_KEY
.Setelan ini akan diterapkan ke semua aplikasi kecuali jika diganti oleh setelan khusus aplikasi.
Menetapkan kontrol sesi spesifik per aplikasi
Tentukan
scopedAccessSettings
dalam file YAML untuk menentukan kontrol sesi bagi aplikasi tertentu menggunakanclientId
. Hal ini memungkinkan Anda mengganti kontrol sesi default untuk aplikasi tersebut. Kemudian, Anda dapat meneruskan file YAML menggunakan--binding-file flag
.
API
Tentukan kolom sessionLength
dan sessionReauthMethod
dalam
sessionSettings object
di isi JSON permintaan POST Anda untuk membuat
atau memperbarui pengikatan GcpUserAccessBinding
. Gunakan scopedAccessSettings
untuk
menentukan kontrol sesi khusus aplikasi.
Lihat Menentukan konfigurasi untuk aplikasi tertentu
untuk mengetahui detailnya.
Pertimbangan utama saat menentukan kontrol sesi:
- Anda tidak dapat menentukan Google Cloud konsol menggunakan
clientId
. Untuk menerapkan kontrol sesi untuk konsol Google Cloud , tetapkan sebagai default, lalu buat pengecualian untuk aplikasi lain. - Hanya binding akses yang dibuat paling baru yang cocok dengan permintaan yang digunakan saat menyelesaikan setelan kontrol sesi.
Contoh konfigurasi kebijakan
Berikut adalah contoh yang menunjukkan cara membuat kontrol sesi yang
memerlukan autentikasi ulang setiap 18 jam secara default dengan LOGIN
, dan setiap dua
jam untuk aplikasi tertentu (SENSITIVE_APP_ID
) dengan SECURITY_KEY
.
Setelan default
Flag --level
, --session-length
, dan --session-reauth-method
dalam perintah
Google Cloud CLI (atau kolom yang sesuai dalam isi JSON untuk panggilan
API) menetapkan perilaku default untuk semua aplikasi yang tidak ditentukan secara eksplisit
dalam scopedAccessSettings
.
Setelan khusus aplikasi
Bagian scopedAccessSettings
dalam file YAML (atau isi JSON) memungkinkan Anda mengganti setelan default untuk aplikasi tertentu. Dalam contoh ini, kita
menetapkan persyaratan autentikasi ulang dua jam dengan SECURITY_KEY
untuk
aplikasi dengan client ID SENSITIVE_APP_ID
.
Untuk mengecualikan aplikasi tertentu dari kontrol sesi, tetapkan kolom
sessionLength
ke 0s
atau sessionLengthEnabled
ke false
. Metode sessionReauthMethod
kemudian akan diabaikan.
gcloud
Konfigurasi setelan:
scopedAccessSettings:
scope:
clientScope:
restrictedClientApplication:
clientId: SENSITIVE_APP_ID
activeSettings:
sessionSettings:
sessionLength: 7200s
sessionReauthMethod: SECURITY_KEY
sessionLengthEnabled: true
Buat binding akses:
gcloud access-context-manager cloud-bindings create \
--organization ORG_ID \
--group-key GROUP_ID \
--binding-file BINDING_FILE_PATH \
--level DEFAULT_ACCESS_LEVEL
--session-length 18h \
--session-reauth-method LOGIN
API
Isi JSON:
{
"groupKey": "GROUP_ID",
"accessLevels": [
"accessPolicies/POLICY_ID/accessLevels/DEFAULT_ACCESS_LEVEL"
],
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"clientId": "SENSITIVE_APP_ID"
}
}
},
"activeSettings": {
"accessLevels": [
"accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME"
],
"sessionSettings": [
{
"sessionLength": "2h",
"sessionReauthMethod": "SECURITY_KEY",
"sessionLengthEnabled": true
}
]
}
}
]
Permintaan postingan:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings