Setelan admin - Autentikasi OpenID Connect

Perusahaan menggunakan penyedia OpenID Connect (OP) yang berbeda untuk berkoordinasi dengan OpenID Connect (misalnya, Okta atau OneLogin). Istilah yang digunakan dalam petunjuk penyiapan berikut dan di UI Looker mungkin tidak sama persis dengan istilah yang digunakan oleh OP Anda.

Halaman OpenID Connect di bagian Autentikasi pada menu Admin memungkinkan Anda mengonfigurasi Looker untuk mengautentikasi pengguna menggunakan protokol OpenID Connect. Halaman ini menjelaskan proses tersebut dan menyertakan petunjuk untuk menautkan grup OpenID Connect ke peran dan izin Looker.

Pertimbangan perencanaan

  • Pertimbangkan untuk menggunakan opsi Login Alternatif untuk Pengguna Tertentu guna mengizinkan admin Looker mengakses Looker tanpa OpenID Connect.
  • Jangan nonaktifkan autentikasi OpenID Connect saat Anda login ke Looker menggunakan OpenID Connect, kecuali jika Anda telah menyiapkan login akun alternatif. Jika tidak, Anda dapat kehilangan akses ke aplikasi.
  • Looker dapat memigrasikan akun yang ada ke OpenID Connect menggunakan alamat email yang berasal dari penyiapan email dan sandi saat ini, LDAP, SAML, atau Google Auth. Anda dapat mengonfigurasinya dalam proses penyiapan.
  • Looker hanya mendukung autentikasi OpenID Connect menggunakan Alur Kode Otorisasi OpenID Connect. Alur kode lainnya tidak didukung.
  • Spesifikasi OpenID Connect menyertakan mekanisme Discovery opsional. Looker tidak mendukung mekanisme ini — jadi Anda harus memberikan URL eksplisit di bagian OpenID Connect Auth Settings, seperti yang dijelaskan dalam Mengonfigurasi setelan autentikasi OpenID Connect.

Menyiapkan OpenID Connect

Untuk menyiapkan koneksi antara Looker dan OpenID Connect, lakukan tugas berikut:

  1. Berikan URL Looker Anda ke Penyedia OpenID Connect (OP).
  2. Dapatkan informasi yang diperlukan dari OP Anda.

Menyiapkan Looker di OP

Penyedia OpenID Connect (OP) Anda akan memerlukan URL instance Looker Anda. OP Anda mungkin menyebutnya URI Pengalihan atau URI Pengalihan Login, di antara nama lainnya. Di situs OP, berikan URL tempat Anda biasanya mengakses instance Looker di browser, diikuti dengan /openidconnect. Contohnya, https://instance_name.looker.com/openidconnect

Mendapatkan informasi dari OP

Untuk mengonfigurasi Looker untuk autentikasi OpenID Connect, Anda memerlukan informasi berikut dari OP:

  • ID klien dan rahasia klien. Informasi ini biasanya diberikan oleh OP di situsnya saat Anda mengonfigurasi URI Pengalihan.
  • Selama proses autentikasi OpenID Connect, Looker akan terhubung ke tiga endpoint yang berbeda, yaitu endpoint Autentikasi, endpoint Token ID, dan endpoint Informasi Pengguna. Anda memerlukan URL yang digunakan OP untuk setiap endpoint ini.
  • Setiap OP akan memberikan informasi pengguna dalam kumpulan yang disebut cakupan. Anda perlu mengetahui nama cakupan yang digunakan OP Anda. OpenID Connect memerlukan cakupan openid, tetapi OP Anda kemungkinan akan menyertakan cakupan lain, seperti email, profile, dan groups.
  • Di OpenID Connect, atribut yang menyimpan data pengguna disebut klaim. Anda perlu mengetahui klaim yang diteruskan OP ke Looker untuk memberikan informasi pengguna yang Anda inginkan di instance Looker. Looker memerlukan klaim yang berisi informasi email dan nama, tetapi jika Anda memiliki atribut pengguna lainnya, seperti zona waktu atau departemen, Looker juga harus mengidentifikasi klaim mana yang berisi informasi tersebut. Klaim dapat disertakan dalam respons dari endpoint Informasi Pengguna atau endpoint Token ID. Looker dapat memetakan klaim yang ditampilkan oleh salah satu endpoint ke atribut pengguna Looker.

Banyak OP memberikan informasi tentang cara mengonfigurasi OpenID Connect dalam bentuk dokumen penemuan, yang memungkinkan Anda mengumpulkan beberapa atau semua informasi yang diperlukan untuk mengonfigurasi Looker untuk OpenID Connect. Jika tidak memiliki akses ke dokumen penemuan, Anda harus mendapatkan informasi yang diperlukan dari OP atau tim autentikasi internal.

Bagian berikut adalah dari contoh dokumen penemuan:

{
  "issuer": "https://accounts.google.com",
  "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
  "token_endpoint": "https://www.googleapis.com/oauth2/v4/token",
  "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo",
  "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke",
  "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
  "response_types_supported": [
    "code",
    "token",
    "id_token",
    "code token"
    "code id_token",
    "token id_token",
    "code token id_token",
    "none"
  ],
  "subject_types_supported": [
    "public"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "scopes_supported": [
    "openid",
    "email",
    "profile"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_post",
    "client_secret_basic"
  ],
  "claims_supported": [
    "aud",
    "email",
    "email_verified",
    "exp",
    "family_name",
    "given_name",
    "iat",
    "iss",
    "locale",
    "name",
    "picture",
    "sub"
  ],

Mengonfigurasi setelan autentikasi OpenID Connect

Gunakan informasi konfigurasi yang Anda peroleh dari dokumen penemuan OP, OP, atau tim autentikasi internal Anda untuk memasukkan setelan koneksi di kolom berikut:

ID: ID klien yang unik untuk instance Looker Anda. Ini harus disediakan oleh OP Anda.

Rahasia: Kunci rahasia klien yang unik untuk instance Looker Anda. Ini harus disediakan oleh OP Anda.

Penerbit: URL aman yang mengidentifikasi OP Anda.

Audiens: ID yang menunjukkan kepada OP siapa klien Anda. ID ini sering kali sama dengan nilai ID, tetapi mungkin juga nilai yang berbeda.

Authorization URL: URL OP tempat urutan autentikasi dimulai. Sering disebut authorization_endpoint dalam dokumen penemuan.

URL Token: URL tempat Looker mengambil token OAuth setelah Looker diberi otorisasi. Sering disebut token_endpoint dalam dokumen penemuan.

URL Info Pengguna: URL tempat Looker akan mengambil informasi pengguna yang mendetail. Sering disebut userinfo_endpoint dalam dokumen penemuan.

Cakupan: Daftar cakupan yang dipisahkan koma yang digunakan oleh OP untuk memberikan informasi pengguna ke Looker. Anda harus menyertakan cakupan openid dan cakupan apa pun yang menyertakan informasi yang diperlukan Looker, yang mencakup alamat email, nama pengguna, dan atribut pengguna apa pun yang dikonfigurasi di instance Looker Anda.

Mengonfigurasi setelan atribut pengguna

Di bagian ini, Anda akan memetakan klaim OP ke atribut pengguna Looker.

Di bagian Setelan Atribut Pengguna, masukkan nama klaim OP Anda yang berisi informasi yang sesuai untuk setiap kolom. Hal ini memberi tahu Looker cara memetakan klaim tersebut ke informasi pengguna Looker pada waktu login. Looker tidak terlalu memperhatikan cara pembuatan klaim, yang penting adalah informasi klaim yang dimasukkan di sini cocok dengan cara klaim ditentukan di OP Anda.

Klaim standar

Looker memerlukan nama pengguna dan informasi email untuk autentikasi pengguna. Masukkan informasi klaim yang sesuai untuk OP Anda di bagian ini:

Klaim Email: Klaim yang digunakan OP Anda untuk alamat email pengguna, seperti email.

Klaim Nama Depan: Klaim yang digunakan OP Anda untuk nama depan pengguna, seperti given_name.

Klaim Nama Belakang: Klaim yang digunakan OP Anda untuk nama belakang pengguna, seperti family_name.

Perhatikan bahwa beberapa OP menggunakan satu klaim untuk nama, bukan memisahkan nama depan dan belakang. Jika demikian halnya dengan OP Anda, masukkan klaim yang menyimpan nama di kolom First Name Claim dan Last Name Claim. Untuk setiap pengguna, Looker akan menggunakan konten hingga spasi pertama sebagai Nama Depan dan semua yang ada setelahnya sebagai Nama Belakang.

Penyambungan atribut

Atau, Anda dapat menggunakan data dalam klaim OpenID Connect untuk otomatis mengisi nilai di atribut pengguna Looker saat pengguna login. Misalnya, jika telah mengonfigurasi OpenID Connect untuk membuat koneksi khusus pengguna ke database, Anda dapat menyambungkan klaim OpenID Connect dengan atribut pengguna Looker untuk membuat koneksi database khusus pengguna di Looker.

Untuk menyambungkan klaim dengan atribut pengguna Looker yang sesuai:

  1. Masukkan klaim seperti yang diidentifikasi oleh OP Anda di kolom Claim dan atribut pengguna Looker yang ingin Anda pasangkan di kolom Looker User Attributes.
  2. Centang Wajib jika Anda ingin memblokir login oleh akun pengguna yang tidak memiliki nilai di kolom klaim tersebut.
  3. Klik + dan ulangi langkah-langkah ini untuk menambahkan lebih banyak pasangan klaim dan atribut.

Perhatikan bahwa beberapa OP dapat memiliki klaim "bertingkat". Contoh:

"zoneinfo": "America/Los Angeles",
"phone_number": "555-1235",
"address": {
  "street_address": "1234 Main Street",
  "locality": "Anyton",
  "region": "IL",
  "postal_code": "60609",
  "country": "US"
},

Pada contoh sebelumnya, klaim locality disusun bertingkat dalam klaim address. Untuk klaim bertingkat, tentukan klaim induk dan bertingkat, yang dipisahkan dengan karakter garis miring ( / ). Untuk mengonfigurasi Looker untuk klaim locality dalam contoh, Anda harus memasukkan address/locality.

Grup dan peran

Anda memiliki opsi untuk membuat grup yang mencerminkan grup OpenID Connect yang dikelola secara eksternal, lalu menetapkan peran Looker kepada pengguna berdasarkan grup OpenID Connect yang dicerminkan. Saat Anda membuat perubahan pada keanggotaan grup OpenID Connect, perubahan tersebut akan otomatis diterapkan ke konfigurasi grup Looker

Dengan mencerminkan grup OpenID Connect, Anda dapat menggunakan direktori OpenID Connect yang ditentukan secara eksternal untuk mengelola grup dan pengguna Looker. Dengan demikian, Anda dapat mengelola langganan grup untuk beberapa alat software as a service (SaaS), seperti Looker, di satu tempat.

Jika Anda mengaktifkan Mirror OpenID Connect Groups, Looker akan membuat satu grup Looker untuk setiap grup OpenID Connect yang diperkenalkan ke dalam sistem. Grup Looker tersebut dapat dilihat di halaman Grup di bagian Admin di Looker. Grup dapat digunakan untuk menetapkan peran kepada anggota grup, menetapkan kontrol akses konten, dan menetapkan atribut pengguna.

Grup dan peran default

Secara default, tombol Mirror OpenID Connect Groups nonaktif. Dalam hal ini, Anda dapat menetapkan grup default untuk pengguna OpenID Connect baru. Di kolom New User Groups dan New User Roles, masukkan nama grup atau peran Looker yang ingin Anda tetapkan kepada pengguna Looker baru saat mereka pertama kali login ke Looker:

Grup dan peran ini diterapkan kepada pengguna baru saat login pertama mereka. Kebijakan ini tidak diterapkan pada pengguna yang sudah ada, dan tidak diterapkan kembali jika dihapus dari pengguna setelah login awal.

Mengaktifkan grup OpenID Connect duplikat

Untuk mencerminkan grup OpenID Connect dalam Looker, aktifkan tombol Mirror OpenID Connect Groups:

Klaim Grup: Masukkan klaim yang digunakan OP Anda untuk menyimpan nama grup. Looker akan membuat satu grup Looker untuk setiap grup OpenID Connect yang diperkenalkan ke sistem oleh klaim Grup. Grup Looker tersebut dapat dilihat di halaman Grup di bagian Admin di Looker. Grup dapat digunakan untuk menetapkan kontrol akses konten dan menetapkan atribut pengguna.

Nama Grup / Peran / Nama Grup OpenID Connect yang Diinginkan: Kumpulan kolom ini memungkinkan Anda menetapkan nama grup kustom dan satu atau beberapa peran yang ditetapkan ke grup OpenID Connect yang sesuai di Looker:

  1. Masukkan nama grup OpenID Connect di kolom OpenID Connect Group Name. Pengguna OpenID Connect yang disertakan dalam grup OpenID Connect akan ditambahkan ke grup yang dicerminkan dalam Looker.

  2. Masukkan nama kustom untuk grup yang dicerminkan di kolom Nama Kustom. Ini adalah nama yang akan ditampilkan di halaman Grup di bagian Admin Looker.

  3. Di kolom di sebelah kanan kolom Nama Kustom, pilih satu atau beberapa peran Looker yang akan ditetapkan kepada setiap pengguna dalam grup.

  4. Klik + untuk menambahkan kumpulan kolom tambahan guna mengonfigurasi grup yang dicerminkan tambahan. Jika Anda memiliki beberapa grup yang dikonfigurasi dan ingin menghapus konfigurasi untuk grup, klik X di samping kumpulan kolom grup tersebut.

Jika Anda mengedit grup yang dicerminkan yang sebelumnya dikonfigurasi di layar ini, konfigurasi grup akan berubah, tetapi grup itu sendiri akan tetap utuh. Misalnya, Anda dapat mengubah nama kustom grup, yang akan mengubah tampilan grup di halaman Grup Looker, tetapi tidak akan mengubah peran dan anggota grup yang ditetapkan. Mengubah ID Grup OpenID Connect akan mempertahankan nama dan peran grup, tetapi anggota grup akan ditetapkan ulang berdasarkan pengguna yang merupakan anggota grup OpenID Connect eksternal yang memiliki ID grup OpenID Connect baru.

Jika Anda menghapus grup di halaman ini, grup tersebut tidak akan lagi dicerminkan di Looker dan anggotanya tidak akan lagi memiliki peran di Looker yang ditetapkan kepada mereka melalui grup tersebut.

Setiap hasil edit yang dilakukan pada grup yang dicerminkan akan diterapkan kepada pengguna grup tersebut saat mereka login lagi ke Looker.

Pengelolaan peran lanjutan

Jika Anda telah mengaktifkan tombol Mirror OpenID Connect Groups, Looker akan menampilkan setelan ini. Opsi di bagian ini menentukan seberapa fleksibel admin Looker saat mengonfigurasi grup dan pengguna Looker yang telah dicerminkan dari OpenID Connect.

Misalnya, jika Anda ingin konfigurasi pengguna dan grup Looker benar-benar cocok dengan konfigurasi OpenID Connect, aktifkan opsi ini. Jika ketiga opsi pertama diaktifkan, admin Looker tidak dapat mengubah keanggotaan grup yang dicerminkan dan hanya dapat menetapkan peran kepada pengguna melalui grup yang dicerminkan OpenID Connect.

Jika Anda ingin memiliki fleksibilitas lebih untuk menyesuaikan grup lebih lanjut dalam Looker, nonaktifkan opsi ini. Grup Looker Anda akan tetap mencerminkan konfigurasi OpenID Connect, tetapi Anda dapat melakukan pengelolaan grup dan pengguna tambahan dalam Looker, seperti menambahkan pengguna OpenID Connect ke grup khusus Looker atau menetapkan peran Looker langsung ke pengguna OpenID Connect.

Untuk instance Looker baru, atau instance yang tidak memiliki grup yang dicerminkan yang telah dikonfigurasi sebelumnya, opsi ini dinonaktifkan secara default.

Untuk instance Looker yang ada yang telah mengonfigurasi grup yang dicerminkan, opsi ini diaktifkan secara default.

Bagian Advanced Role Management berisi opsi berikut:

Prevent Individual OpenID Connect Users from Receiving Direct Roles: Mengaktifkan opsi ini akan mencegah admin Looker menetapkan peran Looker secara langsung kepada pengguna OpenID Connect. Pengguna OpenID Connect hanya akan menerima peran melalui keanggotaan grup mereka. Jika pengguna OpenID Connect diizinkan untuk menjadi anggota grup Looker bawaan (bukan yang dicerminkan), mereka tetap dapat mewarisi peran dari grup OpenID Connect yang dicerminkan dan dari grup Looker bawaan. Setiap pengguna OpenID Connect yang sebelumnya diberi peran secara langsung akan memiliki peran tersebut dihapus saat mereka login lagi.

Jika opsi ini nonaktif, admin Looker dapat menetapkan peran Looker langsung kepada pengguna OpenID Connect seolah-olah mereka adalah pengguna yang dikonfigurasi langsung di Looker.

Cegah Keanggotaan Langsung di Grup non-OpenID Connect: Mengaktifkan opsi ini akan mencegah admin Looker menambahkan pengguna OpenID Connect secara langsung ke grup Looker bawaan. Jika grup OpenID Connect yang dicerminkan diizinkan menjadi anggota grup Looker bawaan, pengguna OpenID Connect dapat mempertahankan keanggotaan di grup Looker induk. Semua pengguna OpenID Connect yang sebelumnya ditetapkan ke grup Looker bawaan akan dihapus dari grup tersebut saat mereka login lagi.

Jika opsi ini dinonaktifkan, admin Looker dapat menambahkan pengguna OpenID Connect langsung ke grup Looker bawaan.

Prevent Role Inheritance from non-OpenID Connect Groups: Mengaktifkan opsi ini akan mencegah anggota grup OpenID Connect yang dicerminkan mewarisi peran dari grup Looker bawaan. Setiap pengguna OpenID Connect yang sebelumnya mewarisi peran dari grup Looker induk akan kehilangan peran tersebut saat login berikutnya.

Jika opsi ini nonaktif, grup OpenID Connect yang dicerminkan atau pengguna OpenID Connect yang ditambahkan sebagai anggota grup Looker bawaan akan mewarisi peran yang ditetapkan ke grup Looker induk.

Auth Requires Role: Jika opsi ini aktif, pengguna OpenID Connect harus memiliki peran yang ditetapkan. Semua pengguna OpenID Connect yang tidak memiliki peran yang ditetapkan tidak akan dapat login ke Looker sama sekali.

Jika opsi ini nonaktif, pengguna OpenID Connect dapat mengautentikasi ke Looker meskipun mereka tidak memiliki peran yang ditetapkan. Pengguna tanpa peran yang ditetapkan tidak akan dapat melihat data atau melakukan tindakan apa pun di Looker, tetapi mereka akan dapat login ke Looker.

Menonaktifkan grup OpenID Connect duplikat

Jika Anda ingin berhenti mencerminkan grup OpenID Connect dalam Looker, nonaktifkan tombol Mirror OpenID Connect Groups. Semua grup OpenID Connect mirror kosong akan dihapus.

Grup OpenID Connect duplikat yang tidak kosong akan tetap tersedia untuk digunakan dalam pengelolaan konten dan pembuatan peran. Namun, pengguna tidak dapat ditambahkan ke atau dihapus dari grup OpenID Connect duplikat.

Mengonfigurasi opsi migrasi

Seperti yang dijelaskan di bagian ini, Looker merekomendasikan agar Anda mengaktifkan Login Alternatif dan memberikan strategi penggabungan untuk pengguna lama.

Login alternatif untuk pengguna yang ditentukan

Login email dan sandi Looker selalu dinonaktifkan untuk pengguna reguler saat autentikasi OpenID Connect diaktifkan. Opsi Login Alternatif untuk Pengguna Tertentu memungkinkan login berbasis email alternatif menggunakan /login/email untuk admin dan untuk pengguna tertentu dengan izin login_special_email.

Mengaktifkannya berguna sebagai penggantian selama penyiapan OpenID Connect jika masalah konfigurasi OpenID Connect terjadi nanti, atau jika Anda perlu mendukung beberapa pengguna yang tidak memiliki akun di direktori OpenID Connect.

Menentukan metode yang digunakan untuk menggabungkan pengguna OpenID Connect ke akun Looker

Di kolom Gabungkan Pengguna Menggunakan, tentukan metode yang akan digunakan untuk menggabungkan login Open ID Connect pertama kali ke akun pengguna yang ada. Anda dapat menggabungkan pengguna dari sistem berikut:

  • Email/Sandi Looker (tidak tersedia untuk Looker (Google Cloud core))
  • Google
  • LDAP (tidak tersedia untuk Looker (Google Cloud core))
  • SAML

Jika memiliki beberapa sistem autentikasi, Anda dapat menentukan lebih dari satu sistem yang akan digabungkan di kolom ini. Looker akan mencari pengguna dari sistem yang tercantum sesuai urutan yang ditentukan. Misalnya, Anda membuat beberapa pengguna menggunakan email/sandi Looker, lalu mengaktifkan LDAP, dan sekarang Anda ingin menggunakan OpenID Connect. Pada contoh sebelumnya, Looker akan menggabungkan berdasarkan email dan sandi terlebih dahulu, lalu LDAP.

Saat pengguna login untuk pertama kalinya dengan OpenID Connect, opsi ini akan menghubungkan pengguna ke akun yang sudah ada dengan menemukan akun yang memiliki alamat email yang cocok. Jika tidak ada akun untuk pengguna, akun pengguna baru akan dibuat.

Menyambungkan pengguna saat menggunakan Looker (Google Cloud core)

Saat Anda menggunakan Looker (inti Google Cloud) dan OpenID Connect, penggabungan akan berfungsi seperti yang dijelaskan di bagian sebelumnya. Namun, hal ini hanya dapat dilakukan jika salah satu dari dua kondisi berikut terpenuhi:

  • Kondisi 1: Pengguna melakukan autentikasi ke Looker (inti Google Cloud) menggunakan identitas Google mereka melalui protokol OpenID Connect.
  • Kondisi 2: Sebelum memilih opsi penggabungan, Anda telah menyelesaikan dua langkah berikut:

    1. Identitas pengguna yang digabungkan di Google Cloud menggunakan Cloud Identity.
    2. Siapkan autentikasi OAuth sebagai metode autentikasi cadangan menggunakan pengguna gabungan.

Jika penyiapan tidak memenuhi salah satu dari dua kondisi ini, opsi Gabungkan Pengguna Menggunakan tidak akan tersedia.

Saat menggabungkan, Looker akan menelusuri data pengguna yang memiliki alamat email yang sama persis.

Menguji autentikasi pengguna

Saat menentukan konfigurasi ini, klik tombol Test untuk menguji konfigurasi OpenID Connect Anda.

Pengujian akan mengalihkan ke endpoint dan akan membuka tab browser baru. Tab ini menampilkan:

  • Apakah Looker dapat berkomunikasi dengan berbagai endpoint dan memvalidasi
  • Rekaman aktivitas respons endpoint autentikasi
  • Info pengguna yang diperoleh Looker dari endpoint info pengguna
  • Versi token ID yang didekode dan versi mentah yang diterima

Anda dapat menggunakan pengujian ini untuk memverifikasi bahwa informasi yang diterima dari berbagai endpoint sudah benar, dan untuk memecahkan masalah error.

Tips:

  • Anda dapat menjalankan pengujian ini kapan saja, meskipun OpenID Connect dikonfigurasi sebagian. Menjalankan pengujian dapat membantu selama konfigurasi untuk melihat parameter mana yang memerlukan konfigurasi.
  • Pengujian menggunakan setelan yang dimasukkan di halaman OpenID Connect Authentication, meskipun setelan tersebut belum disimpan. Pengujian ini tidak akan memengaruhi atau mengubah setelan apa pun di halaman tersebut.

Menyimpan dan menerapkan setelan

Setelah Anda selesai memasukkan informasi, dan semua pengujian lulus, centang Saya telah mengonfirmasi konfigurasi di atas dan ingin mengaktifkan penerapannya secara global, lalu klik Perbarui Setelan untuk menyimpan.