Autentikasi ulang IAP memungkinkan pemilik layanan dan aplikasi atau administrator Google Cloud mewajibkan pengguna akhir yang telah diautentikasi untuk melakukan autentikasi ulang setelah jangka waktu tertentu saat mengakses layanan atau aplikasi yang dilindungi oleh IAP. Fitur ini membatasi rentang waktu yang dapat digunakan pengguna untuk mengakses layanan atau aplikasi yang dilindungi IAP sebelum mereka diminta untuk melakukan autentikasi lagi.
Autentikasi ulang IAP dirancang untuk menerapkan kebijakan autentikasi ulang untuk layanan dan aplikasi yang dilindungi IAP. Anda dapat melakukannya untuk layanan dan aplikasi penting yang menangani informasi rahasia. Misalnya, Anda dapat menentukan bahwa pengguna yang mengakses aplikasi HR kritis harus melakukan autentikasi ulang setiap jam menggunakan faktor kedua.
Metode autentikasi ulang yang didukung
Anda dapat menggunakan metode berikut untuk mengelola setelan autentikasi ulang:
- Login: IAP memaksa autentikasi ulang aplikasi yang dilindungi dan pengguna harus login kembali.
- Kunci aman: Pengguna akhir harus melakukan autentikasi ulang menggunakan autentikasi 2 langkah berbasis kunci keamanan yang telah dikonfigurasi.
- Faktor kedua yang terdaftar: Pengguna akhir harus melakukan autentikasi ulang menggunakan salah satu metode autentikasi faktor kedua yang terdaftar.
Untuk mengetahui informasi selengkapnya, lihat IapSettings.
Menyiapkan kebijakan autentikasi ulang
reauthSettings
adalah bagian dari IapSettings
, sehingga dapat ditetapkan pada jenis resource apa pun dalam hierarki resource. Anda dapat menetapkan reauthSettings
pada layanan atau aplikasi di tingkat organisasi, folder, project, atau layanan untuk menerapkan batasan. Misalnya, Anda dapat membatasi durasi sesi hingga maksimal satu jam untuk semua aplikasi di organisasi, atau untuk aplikasi tertentu.
Ada dua jenis kebijakan yang dapat Anda gunakan untuk menetapkan autentikasi ulang:
Minimum: Jika jenis kebijakan ditetapkan ke
MINIMUM
pada resource, seperti organisasi, saat mengevaluasi setelan otorisasi ulang pada resource level yang lebih rendah, seperti folder, kedua setelan tersebut akan digabungkan. Jika resource tingkat yang lebih rendah tidak memiliki setelan autentikasi ulang, hasil penggabungan adalah setelan yang tidak kosong dari resource tingkat yang lebih tinggi. Jika tidak, penggabungan akan menggunakan durasi sesi yang lebih singkat dan metode autentikasi ulang dengan prioritas yang lebih tinggi di antara kedua resource. Jenis kebijakan akan selaluMINIMUM
. Setelan autentikasi ulang yang digabungkan akan digunakan untuk digabungkan dengan setelan autentikasi ulang dari resource tingkat lebih rendah berikutnya, seperti project.Urutan prioritas tiga metode yang didukung dari tertinggi ke terendah adalah
Secure key
,Enrolled second factors
, danLogin
.Default: Jika jenis kebijakan ditetapkan sebagai
DEFAULT
pada resource, seperti organisasi, saat mengevaluasi setelan autentikasi ulang pada resource tingkat lebih rendah, seperti folder, setelan resource tingkat lebih rendah akan digunakan jika dikonfigurasi; jika tidak, setelan autentikasi ulang resource tingkat lebih tinggi akan diterapkan.
Untuk kedua jenis kebijakan tersebut, proses evaluasi diulang untuk menentukan reauthSettings
untuk layanan atau aplikasi target.
Contoh berikut menunjukkan setelan sebelum dan sesudah evaluasi. Selama evaluasi, folder dan organisasi reauthSettings
digabungkan, sehingga mengubah jenis kebijakan folder menjadi MINIMUM
. Setelan yang digabungkan kemudian digunakan untuk digabungkan dengan reauthSettings
layanan atau aplikasi.
Organisasi IapSettings
:
accessSettings:
reauthSettings:
method: "ENROLLED_SECOND_FACTORS"
maxAge: "3600s"
policyType: "MINIMUM"
Folder IapSettings
:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "1200s"
policyType: "DEFAULT"
Layanan atau Aplikasi IapSettings
:
accessSettings:
reauthSettings:
method: "SECURE_KEY"
maxAge: "7200s"
policyType: "DEFAULT"
Setelan setelah penggabungan:
Organisasi IapSettings
:
accessSettings:
reauthSettings:
method: "ENROLLED_SECOND_FACTORS"
maxAge: "3600s"
policyType: "MINIMUM"
Folder IapSettings
:
accessSettings:
reauthSettings:
method: "ENROLLED_SECOND_FACTORS"
maxAge: "1200s"
policyType: "MINIMUM"
Layanan atau Aplikasi IapSettings
:
accessSettings:
reauthSettings:
method: "SECURE_KEY"
maxAge: "1200s"
policyType: "MINIMUM"
Dalam contoh, jika jenis kebijakan setiap resource ditetapkan ke DEFAULT
, reauthSettings
layanan atau aplikasi akan digunakan.
MaxAge
Gunakan parameter MaxAge untuk menentukan frekuensi pengguna akhir harus melakukan autentikasi ulang, yang dinyatakan dalam detik. Misalnya, untuk menetapkan kebijakan autentikasi ulang satu jam, tetapkan detik ke 3600, seperti yang ditunjukkan dalam contoh berikut:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "3600s"
policyType: "MINIMUM"
Nilai minimum untuk maxAge
adalah lima menit.
Untuk menetapkan kebijakan autentikasi ulang, selesaikan langkah-langkah berikut.
Konsol
- Buka halaman Identity-Aware Proxy.
Buka halaman Identity-Aware Proxy Pilih project, lalu pilih resource tempat Anda ingin menetapkan kebijakan autentikasi ulang.
Buka Setelan untuk resource, lalu di bagian Kebijakan autentikasi ulang, pilih Konfigurasi autentikasi ulang.
Tentukan setelan autentikasi ulang, lalu klik Simpan.
gcloud
Anda dapat menetapkan kebijakan autentikasi ulang pada resource dan layanan di tingkat organisasi, project, dan folder. Berikut adalah beberapa contoh perintah untuk menetapkan kebijakan autentikasi ulang.
Untuk informasi selengkapnya, lihat gcloud iap settings set
.
Jalankan perintah berikut:
gcloud iap settings set SETTING_FILE [--organization=ORGANIZATION --folder=FOLDER --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
Untuk menetapkan kebijakan autentikasi ulang pada resource dalam organisasi, jalankan perintah berikut:
gcloud iap settings set SETTING_FILE --organization=ORGANIZATION
Untuk menetapkan kebijakan autentikasi ulang pada resource dalam folder, jalankan perintah berikut:
gcloud iap settings set SETTING_FILE --folder=FOLDER
Untuk menetapkan kebijakan autentikasi ulang di semua resource jenis web dalam project, jalankan perintah berikut:
gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=iap_web
Untuk menetapkan kebijakan autentikasi ulang di layanan App Engine dalam project, jalankan perintah berikut:
gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=app-engine --service=SERVICE
Dengan SETTING_FILE
adalah:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "3600s"
policyType: "MINIMUM"
Ganti kode berikut:
- FOLDER: ID folder.
- ORGANIZATION: ID organisasi.
- PROJECT: Project ID.
- RESOURCE_TYPE: Jenis resource IAP. Harus berupa
app-engine
,iap_web
,compute
,organization
, ataufolder
. - SERVICE: Nama layanan. Ini bersifat opsional jika
resource-type
adalahcompute
atauapp-engine
. - VERSION: Nama versi. Ini tidak berlaku untuk
compute
, dan bersifat opsional jikaresource-type
adalahapp-engine
.
API
Jalankan perintah berikut untuk menyiapkan file iap_settings.json
. Perbarui nilai sesuai kebutuhan.
cat << EOF > iap_settings.json { "access_settings": { "reauth_settings": { "method": "LOGIN", "maxAge": "300s", "policy_type": "DEFAULT" } } } EOF
Dapatkan nama resource dengan menjalankan perintah gcloud iap settings get
. Salin kolom nama dari output. Anda akan memerlukan nama tersebut di langkah berikut.
gcloud iap settings get [--organization=ORGANIZATION --folder=FOLDER --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION]
Ganti RESOURCE_NAME
dalam perintah berikut dengan nama dari langkah sebelumnya. IapSettings
akan diupdate.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @iap_settings.json \ "https://iap.googleapis.com/v1/RESOURCE_NAME:iapSettings?updateMask=iapSettings.accessSettings.reauthSettings"
Memahami kredensial autentikasi ulang
Setelah autentikasi ulang berhasil, IAP akan membuat cookie di browser pengguna akhir. Untuk mencegah pengguna harus mengautentikasi ulang terlalu sering saat menggunakan aplikasi serupa, cookie ditetapkan di domain pribadi level teratas dan valid untuk seluruh domain level pribadi tersebut.
Misalnya, foo.example.com
adalah resource yang dilindungi IAP
dan memiliki kebijakan autentikasi ulang IAP. Setelah autentikasi ulang
berhasil, IAP menetapkan cookie di example.com
karena
adalah domain pribadi level teratas. Aplikasi dari domain pribadi level teratas yang sama,
seperti bar.example.com
menggunakan kredensial autentikasi ulang yang sama dan tidak
meminta pengguna untuk melakukan autentikasi ulang, selama kredensial tersebut valid.
Perhatikan bahwa untuk URL seperti myapp.appspot.com
, appspot.com
adalah domain publik, sehingga domain pribadi level teratas adalah myapp.appspot.com
.
Batasan umum
- Autentikasi ulang hanya didukung untuk alur browser. Akses akun pengguna terprogram tidak didukung. Misalnya, aplikasi seluler dan desktop tidak memiliki cara untuk mengautentikasi ulang pengguna, karena resource yang memerlukan autentikasi ulang tidak dapat diakses.
- Akun layanan dan IAP-TCP dikecualikan dari persyaratan autentikasi ulang.
- Autentikasi ulang tidak berfungsi dengan jenis anggota IAM
allUsers
. - Identitas eksternal melalui Identity Platform tidak didukung dengan autentikasi ulang, karena resource yang memerlukan autentikasi ulang tidak dapat diakses.