Autentikasi ulang IAP

Autentikasi ulang IAP memungkinkan pemilik atau Google Cloud administrator layanan dan aplikasi mewajibkan pengguna akhir yang telah diautentikasi untuk melakukan autentikasi ulang setelah waktu yang ditentukan saat mengakses layanan atau aplikasi yang dilindungi IAP dan membatasi durasi pengguna dapat mengakses layanan atau aplikasi yang dilindungi IAP sebelum autentikasi diperlukan.

Autentikasi ulang (atau, autentikasi ulang) IAP dirancang untuk menerapkan kebijakan autentikasi ulang untuk layanan dan aplikasi (atau, aplikasi) yang dilindungi IAP. Dengan menggunakan layanan ini, Anda dapat menerapkan kebijakan autentikasi ulang untuk layanan dan aplikasi penting yang menangani informasi rahasia. Misalnya, Anda dapat menentukan bahwa pengguna yang mengakses aplikasi HR penting 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: Pengguna akhir melakukan autentikasi ulang menggunakan kredensial login mereka.

  • Kunci aman: Pengguna akhir melakukan autentikasi ulang menggunakan kunci keamanan yang dikonfigurasi.

  • Faktor kedua yang terdaftar: Pengguna akhir melakukan autentikasi ulang menggunakan salah satu faktor kedua yang terdaftar.

Untuk mengetahui informasi selengkapnya, lihat IapSettings.

Menyiapkan kebijakan autentikasi ulang

reauthSettings disertakan sebagai bagian dari IapSettings dan dapat ditetapkan pada jenis resource apa pun dalam hierarki resource. Anda dapat menetapkan reauthSettings di level organisasi, folder, project, atau layanan untuk menerapkan batasan. Misalnya, Anda dapat membatasi durasi sesi hingga maksimum satu jam untuk semua aplikasi dalam 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, maka, saat mengevaluasi setelan autentikasi ulang pada resource level lebih rendah, seperti folder, kedua setelan tersebut akan digabungkan. Jika resource tingkat bawah tidak memiliki setelan autentikasi ulang, hasil penggabungan adalah setelan tidak kosong dari resource tingkat atas. Jika tidak, penggabungan akan mengambil durasi sesi yang lebih singkat dan metode autentikasi ulang dengan prioritas lebih tinggi di antara kedua resource. Jenis kebijakan gabungan yang dihasilkan ditetapkan ke MINIMUM.

  • Default: Jika jenis kebijakan ditetapkan sebagai DEFAULT pada resource, seperti organisasi, maka saat mengevaluasi setelan autentikasi ulang pada resource level lebih rendah, seperti folder, setelan resource level lebih rendah akan digunakan jika dikonfigurasi; jika tidak, setelan autentikasi ulang resource level lebih tinggi akan diterapkan.

Untuk kedua jenis kebijakan, proses evaluasi diulang untuk menentukan reauthSettings untuk layanan atau aplikasi target. reauthSettings yang efektif di tingkat mana pun ditentukan sebagai berikut:

  • Pewarisan: Setelan dari resource tingkat yang lebih tinggi digabungkan dengan setelan resource tingkat yang lebih rendah.

  • Aturan penggabungan: Jika resource tingkat yang lebih rendah tidak memiliki setelan autentikasi ulang tertentu, resource tersebut akan mewarisi setelan dari tingkat yang lebih tinggi.

    Jika kedua level memiliki reauthSettings, hasil gabungan akan menggunakan hal berikut:

    • Durasi sesi yang lebih singkat.

    • Metode autentikasi ulang dengan prioritas yang lebih tinggi.

    • Prioritasnya adalah Secure key (tertinggi), Enrolled second factors (sedang), dan Login (terendah).

  • Jenis kebijakan yang dihasilkan: Jenis kebijakan setelan gabungan adalah MINIMUM.

Contoh berikut menunjukkan setelan sebelum dan sesudah evaluasi. Selama evaluasi, reauthSettings folder dan organisasi digabungkan, sehingga jenis kebijakan folder berubah menjadi MINIMUM. Setelan gabungan tersebut 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 ini, jika jenis kebijakan setiap resource ditetapkan ke DEFAULT, reauthSettings layanan atau aplikasi akan digunakan.

MaxAge

Gunakan parameter maxAge untuk menentukan seberapa sering 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 300 detik, atau lima menit.

Untuk menetapkan kebijakan autentikasi ulang, selesaikan langkah-langkah berikut.

Konsol

  1. Buka halaman IAP.
    Buka halaman Identity-Aware Proxy

  2. Pilih project, lalu pilih resource yang ingin Anda tetapkan kebijakan autentikasi ulangnya.

  3. Buka Setelan untuk resource dan di bagian Kebijakan autentikasi ulang, pilih Konfigurasi autentikasi ulang.

  4. 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 pada semua resource jenis web dalam sebuah project, jalankan perintah berikut:

gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=iap_web

Untuk menetapkan kebijakan autentikasi ulang pada layanan App Engine dalam sebuah 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, atau folder.

  • SERVICE: Nama layanan. Ini bersifat opsional jika resource-type ditetapkan ke compute atau app-engine.

  • VERSION: Nama versi. Hal ini tidak berlaku untuk jenis resource compute dan bersifat opsional untuk jenis resource app-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 berikutnya.

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 diperbarui.

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 autentikasi ulang yang sering untuk aplikasi di domain yang sama, cookie ditetapkan di domain pribadi level teratas dan valid untuk seluruh domain 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 itu adalah domain pribadi tingkat teratas. Aplikasi dari domain pribadi tingkat atas yang sama, seperti bar.example.com, menggunakan kredensial autentikasi ulang yang sama dan tidak meminta pengguna untuk melakukan autentikasi ulang selama kredensial tersebut valid.

Untuk URL seperti myapp.appspot.com, appspot.com adalah domain publik, sehingga domain pribadi tingkat teratasnya 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 dapat mengautentikasi ulang pengguna karena resource yang memerlukan autentikasi ulang tidak dapat diakses oleh aplikasi ini.

  • Akun layanan dan IAP-TCP dikecualikan dari persyaratan autentikasi ulang.

  • Autentikasi ulang tidak berfungsi dengan jenis anggota Identity and Access Management allUsers.

  • Identitas eksternal, seperti OAuth dan SAML, tidak didukung dengan autentikasi ulang.

  • Identitas Workforce Identity Federation tidak didukung untuk autentikasi ulang IAP.