Kontrol sesi memungkinkan Anda mengonfigurasi seberapa sering 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 istimewa: Mewajibkan pengguna dengan hak istimewa yang ditingkatkan, seperti Project Owner dan administrator penagihan, untuk melakukan autentikasi ulang lebih sering.
- Mengonfigurasi sesi yang lebih lama untuk aplikasi tertentu: Izinkan aplikasi yang didukung, seperti konsol Google Cloud , Google Cloud SDK, atau aplikasi OAuth tertentu, 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 informasi selengkapnya tentang kontrol sesi, lihat Menerapkan kebijakan ke grup pengguna menggunakan binding akses.
gcloud
Menetapkan kontrol sesi default untuk semua aplikasi
Gunakan tanda
--session-lengthuntuk menetapkan durasi sesi. Nilai harus0s, atau antara 1 jam dan 24 jam. Tentukan durasi dalam jam. Misalnya, gunakan "12h" untuk menyetel sesi yang berdurasi 12 jam. Gunakan flag--session-reauth-methoduntuk menentukan metode autentikasi ulang. Misalnya, Anda dapat menyetel durasi sesi 3 jam (3h) 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
scopedAccessSettingsdalam file YAML untuk menentukan kontrol sesi bagi aplikasi tertentu menggunakanclientId. Dengan begitu, Anda dapat mengganti kontrol sesi default untuk aplikasi tersebut. Kemudian, Anda dapat meneruskan file YAML menggunakan--binding-file flag.
REST API
Tentukan kolom sessionLength dan sessionReauthMethod dalam
objek sessionSettings di isi JSON permintaan POST Anda untuk membuat
atau memperbarui pengikatan GcpUserAccessBinding.
sessionLengthadalah durasi sesi dalam detik, yang diformat sebagai jumlah detik yang diikuti dengans(misalnya,3600s). Nilainya harus0satau dari3600s(1 jam) hingga86400s(24 jam). Jika disetel ke0s,sessionLengthEnabledharus disetel kefalseatau tidak disetel. Anda tidak dapat menetapkansessionLengthke0sdansessionLengthEnabledketrue.sessionReauthMethoddapat berupaLOGIN,PASSWORD, atauSECURITY_KEY.- Gunakan
scopedAccessSettingsuntuk menentukan kontrol sesi khusus aplikasi. Lihat Menentukan konfigurasi untuk aplikasi tertentu untuk mengetahui detailnya.
Terraform
Dalam resource Terraform Google Cloud User Access Binding, tetapkan argumen session_settings untuk mengonfigurasi kontrol durasi sesi umum yang berlaku untuk semua traffic pengguna:
session_length: Durasi sesi dalam hitungan detik. Misalnya,3600smenetapkan durasi sesi menjadi 1 jam.sdi akhir wajib diisi.session_length_enabled: Tetapkan ke salah (false) untuk menonaktifkan setelan sesi yang ditentukan.session_reauth_method: Jenis tantangan autentikasi yang digunakan untuk memperbarui kredensial. Opsinya adalahLOGIN,PASSWORD, atauSECURITY_KEY.use_oidc_max_age: Bidang lanjutan yang digunakan untuk mengonfigurasi apakah sesi mematuhi parameter usia maksimum OIDC opsional, yang ditentukan jika kredensial autentikasi adalah token OAuth.
Saat menentukan kontrol sesi, hanya binding akses yang dibuat paling baru yang cocok dengan permintaan yang digunakan saat menyelesaikan setelan kontrol sesi.
Contoh konfigurasi kebijakan
Contoh berikut menunjukkan cara membuat kontrol sesi yang
memerlukan autentikasi ulang setiap 18 jam 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.
Setelan khusus aplikasi di scopedAccessSettings sepenuhnya menggantikan kontrol sesi default (global). Jika setelan cakupan ditentukan untuk aplikasi, kontrol sesi default tidak berlaku untuk aplikasi tersebut.
Untuk mengecualikan aplikasi tertentu dari kontrol sesi saat kontrol global aktif, Anda harus menambahkannya secara eksplisit ke scopedAccessSettings dan menetapkan kolom sessionLength ke 0s dan sessionLengthEnabled ke false.
gcloud
Contoh berikut menunjukkan konfigurasi setelan sesi:
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 \
--session-length=SESSION_LENGTH \
--session-reauth-method LOGIN
Ganti kode berikut:
ORG_ID: ID Google Cloud organisasiGROUP_ID: kunci grupBINDING_FILE_PATH: jalur file bindingSESSION_LENGTH: durasi sesi — misalnya,18h
REST API
Contoh isi JSON permintaan API:
{
"groupKey": "GROUP_ID",
"sessionSettings": {
"sessionLength": "64800s",
"sessionReauthMethod": "LOGIN",
"sessionLengthEnabled": true
},
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"clientId": "SENSITIVE_APP_ID"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "7200s",
"sessionReauthMethod": "SECURITY_KEY",
"sessionLengthEnabled": true
}
}
}
]
}
Buat permintaan POST dalam format berikut:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Ganti ORG_ID dengan ID organisasi Google Cloud .
Terraform
Untuk menentukan kontrol sesi yang berlaku secara global dan untuk aplikasi tertentu, tetapkan argumen session_settings dan scoped_access_settings:
resource "google_access_context_manager_gcp_user_access_binding" "gcp_user_access_binding" {
organization_id = "{Organization ID}"
group_key = "{Group Key}"
session_settings {
session_length = "64800s"
session_length_enabled = true
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
client_id = "SENSITIVE_APP_ID"
}
}
}
active_settings {
session_settings {
session_length = "7200s"
session_length_enabled = true
session_reauth_method = "SECURITY_KEY"
use_oidc_max_age = false
}
}
}
}
Contoh konfigurasi kebijakan untuk Google Cloud aplikasi
Anda dapat mengonfigurasi kontrol autentikasi ulang khusus aplikasi untuk Google Cloud aplikasi, misalnya mewajibkan SECURITY_KEY untuk Google Cloud SDK dan LOGIN untuk konsol Google Cloud . Contoh berikut menunjukkan cara membuat kontrol sesi yang
memerlukan autentikasi ulang setiap jam
untuk Google Cloud SDK dengan SECURITY_KEY, dan setiap 4 jam untuk konsol Google Cloud dengan LOGIN.
Bagian scopedAccessSettings dalam file YAML (atau isi JSON) memungkinkan Anda mengganti setelan default untuk aplikasi tertentu. Dalam contoh ini, kita menetapkan persyaratan autentikasi ulang selama satu jam dengan SECURITY_KEY untuk Google Cloud SDK, dan persyaratan autentikasi ulang selama empat jam dengan LOGIN untuk konsol Google Cloud menggunakan kolom name untuk mengidentifikasi aplikasi ini.
Untuk mengecualikan aplikasi tertentu dari kontrol sesi, tetapkan kolom
sessionLength ke 0s atau sessionLengthEnabled
ke false. Metode sessionReauthMethod kemudian akan diabaikan.
gcloud
Contoh berikut menunjukkan konfigurasi setelan sesi:
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
name: Google Cloud SDK
activeSettings:
sessionSettings:
sessionLength: 3600s
sessionReauthMethod: SECURITY_KEY
sessionLengthEnabled: true
- scope:
clientScope:
restrictedClientApplication:
name: Cloud Console
activeSettings:
sessionSettings:
sessionLength: 14400s
sessionReauthMethod: LOGIN
sessionLengthEnabled: true
Buat binding akses:
gcloud access-context-manager cloud-bindings create \
--organization=ORG_ID \
--group-key=GROUP_ID \
--binding-file=BINDING_FILE_PATH
Ganti kode berikut:
ORG_ID: ID Google Cloud organisasiGROUP_ID: kunci grupBINDING_FILE_PATH: jalur file binding
REST API
Contoh isi JSON permintaan API:
{
"groupKey": "GROUP_ID",
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Google Cloud SDK"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "3600s",
"sessionReauthMethod": "SECURITY_KEY",
"sessionLengthEnabled": true
}
}
},
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Cloud Console"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "14400s",
"sessionReauthMethod": "LOGIN",
"sessionLengthEnabled": true
}
}
}
]
}
Buat permintaan POST dalam format berikut:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Ganti ORG_ID dengan ID organisasi Google Cloud .
Terraform
Untuk menentukan setelan durasi sesi untuk Google Cloud SDK dan konsol Google Cloud , tetapkan argumen scoped_access_settings yang sesuai:
resource "google_access_context_manager_gcp_user_access_binding" "gcp_user_access_binding" {
organization_id = "{Organization ID}"
group_key = "{Group Key}"
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
name = "Google Cloud SDK"
}
}
}
active_settings {
session_settings {
session_length = "3600s"
session_length_enabled = true
session_reauth_method = "SECURITY_KEY"
use_oidc_max_age = false
}
}
}
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
name = "Cloud Console"
}
}
}
active_settings {
session_settings {
session_length = "14400s"
session_length_enabled = true
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
}
}
}
Mengganti durasi sesi default 16 jam untuk aplikasi Google Cloud
Mulai Juni 2026, durasi sesi default 16 jam diperkenalkan untuk sebagian Google Cloud organisasi. Kebijakan default ini tidak terlihat di konsol Google Admin dan organisasi yang terpengaruh harus menggunakan Access Context Manager API untuk menggantinya bagi pengguna mereka. Google Cloud
Untuk mengganti kebijakan default ini dan mengecualikan aplikasi ini dari kontrol sesi (sehingga durasi sesi menjadi tidak terbatas), Anda dapat membuat binding cloud dengan scopedAccessSettings, dengan sessionLengthEnabled ditetapkan ke false untuk aplikasi Google Cloud SDK dan konsol Google Cloud ("Konsol Cloud").
gcloud
Contoh berikut menunjukkan konfigurasi YAML untuk menonaktifkan kontrol sesi untuk aplikasi ini:
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
name: Google Cloud SDK
activeSettings:
sessionSettings:
sessionLength: 0s
sessionReauthMethod: LOGIN
sessionLengthEnabled: false
- scope:
clientScope:
restrictedClientApplication:
name: Cloud Console
activeSettings:
sessionSettings:
sessionLength: 0s
sessionReauthMethod: LOGIN
sessionLengthEnabled: false
Buat atau perbarui binding akses menggunakan file ini:
gcloud access-context-manager cloud-bindings create \
--organization=ORG_ID \
--group-key=GROUP_ID \
--binding-file=BINDING_FILE_PATH
Ganti kode berikut:
ORG_ID: ID Google Cloud organisasiGROUP_ID: kunci grup (misalnya, grup yang berisi semua pengguna yang ingin Anda terapkan penggantian ini)BINDING_FILE_PATH: jalur file binding
REST API
Contoh isi JSON permintaan API:
{
"groupKey": "GROUP_ID",
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Google Cloud SDK"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "0s",
"sessionReauthMethod": "LOGIN",
"sessionLengthEnabled": false
}
}
},
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Cloud Console"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "0s",
"sessionReauthMethod": "LOGIN",
"sessionLengthEnabled": false
}
}
}
]
}
Buat permintaan POST dalam format berikut:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Ganti ORG_ID dengan ID organisasi Google Cloud .
Terraform
Untuk menentukan bahwa kontrol sesi harus dinonaktifkan untuk Google Cloud SDK dan konsol Google Cloud , tetapkan argumen scoped_access_settings yang sesuai dengan session_length_enabled = false:
resource "google_access_context_manager_gcp_user_access_binding" "gcp_user_access_binding" {
organization_id = "{Organization ID}"
group_key = "{Group Key}"
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
name = "Google Cloud SDK"
}
}
}
active_settings {
session_settings {
session_length = "0s"
session_length_enabled = false
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
}
}
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
name = "Cloud Console"
}
}
}
active_settings {
session_settings {
session_length = "0s"
session_length_enabled = false
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
}
}
}