Friday, October 18, 2019

Trusted Ticket Authentication with Tableau Server

Artikel ini menjelaskan bagaimana otentikasi tepercaya Tableau menyediakan Sistem Masuk Tunggal (SSO) untuk analisis tertanam dalam aplikasi pihak ketiga.
Dengan fokus Tableau baru-baru ini pada Embedded Analytics, kami mendapatkan banyak pertanyaan tentang cara mengaktifkan pengalaman pengguna yang mulus dan titik # 1 adalah otentikasi. Apa persyaratan server tablo untuk menggunakan otentikasi tepercaya Tableau? Bagaimana saya mengikat otentikasi Tableau Server dengan sistem otentikasi yang sudah saya miliki di aplikasi saya? Melakukan ini dengan benar tidak hanya penting untuk kegunaan aplikasi Anda tetapi juga keamanan, untuk memastikan bahwa pengguna melihat dashboard dan data yang benar. Tiket tepercaya adalah metode utama untuk otentikasi tepercaya Tableau. Bahkan jika Anda menggunakan SAML untuk aplikasi Anda, kemungkinan besar Anda juga akan menerapkan tiket tepercaya.

Pemirsa yang Dimaksud dan Pengetahuan yang Diperlukan

Artikel ini ditujukan untuk pengembang yang mencoba menanamkan visualisasi Tableau Server ke dalam aplikasi pihak ketiga dan mengikatnya dengan mekanisme otentikasi mereka yang ada. Mengikuti konsep-konsep tersebut membutuhkan pengetahuan kerja untuk membangun aplikasi berbasis web. Berita baiknya adalah jika Anda sudah memiliki aplikasi yang sudah ada dengan mekanisme otentikasi yang berfungsi, kemungkinan Anda memiliki semua latar belakang yang Anda butuhkan.

Apa itu Tiket Tepercaya?

Tiket tepercaya adalah token sekali pakai yang memberikan akses ke dasbor Tableau tertentu menggunakan browser web. Setelah pengguna memiliki tiket, ia memiliki jumlah waktu yang tetap untuk menebus tiket itu (tiga menit secara default). Tidak perlu merahasiakan tiket selama atau setelah penggunaan karena tiket Tableau yang tepercaya tidak dapat digunakan kembali. Tableau Server harus dikonfigurasikan untuk memungkinkan server tertentu (atau sekumpulan server) untuk menghasilkan tiket atas namanya. Server-server ini kadang-kadang disebut sebagai Broker Tiket dan masuk daftar putih di Tableau Server (karenanya bagian yang dipercaya ).

Gambaran

Dokumentasi Tableau memberikan ikhtisar yang baik tentang proses di sini , dan Bryant Howell - seorang insinyur penjualan di Tableau - memiliki artikel yang bagus tentang Tableau Dan Lihat . Berikut ini adalah ikhtisar dari proses otentikasi tepercaya ion Tableau dari perspektif arsitektur web standar menggunakan Aplikasi Halaman Tunggal (SPA).
Berikut adalah langkah-langkah umum untuk menggunakan otentikasi tepercaya Tableau:
  1. Pengguna memuat halaman yang berisi dashboard Tableau tertanam.
  2. Front-end memanggil back-end untuk mendapatkan tiket tepercaya.
  3. Server back-end mengirimkan permintaan POST ke Tableau Server untuk mendapatkan tiket tepercaya.
  4. Tableau Server merespons dengan tiket.
  5. Bagian belakang mengembalikan tiket ke bagian depan.
  6. Tebus tiket dan tampilkan dasbor Tableau.

1. Pengguna memuat halaman yang berisi dashboard tertanam Tableau.

Halaman ini memuat konten yang diinginkan melalui URL yang dimodifikasi dari tombol Bagikan di dasbor tertanam di Tableau Server.


Ada dua opsi, Kode Embed dan Tautan , yang masing-masing berisi URL. Ini pada dasarnya menjalankan fungsi yang sama, tetapi ada satu hal yang perlu diperhatikan: Jika Anda menggunakan kerangka web front-end, maka kode embed mungkin tidak berfungsi. Alasannya adalah bahwa kerangka kerja tersebut tidak mengeksekusi tag <script> yang dimuat secara dinamis dan itu terjadi berdasarkan kasus per kasus. Misalnya, AngularJS dengan jqLite tidak berfungsi, tetapi AngularJS dengan jQuery lengkap tidak berfungsi. Jika ragu, gunakan tautan yang mudah dilakukan dalam kerangka front-end karena menyediakan pengikatan data.
Tautan yang diperoleh dari tombol bagikan akan terlihat seperti:
https://tableau.example.com/views/Regional/GlobalTemperatures?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
Tautan tidak hanya menentukan tampilan apa yang akan dimuat tetapi juga cara menampilkannya. Anda dapat menemukan opsi tampilan yang dijelaskan di sini .
Tautan yang digunakan dengan tiket untuk Tableau otentikasi tepercaya terlihat seperti ini:
https://tableau.example.com/trusted/{ticket}/views/Regional/GlobalTemperatures?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
di mana {tiket} diganti dengan tiket tepercaya aktual (diperoleh di bawah). URL ini diperoleh dari URL dialog dengan hanya menambahkan informasi jalur dengan / trust / {ticket}.

2. Panggilan front-end ke server back-end, yaitu broker tiket, untuk mendapatkan tiket tepercaya.

Panggilan ini dilakukan dengan cara standar front-end berbicara ke back-end dan sepenuhnya tergantung pada aplikasi. Jika Anda memiliki aplikasi yang sudah ada, mekanisme ini telah ditentukan dan dapat digunakan (Jujur saja, ini adalah RESTful API).

3. Server back-end mengirimkan permintaan POST ke Tableau Server untuk mendapatkan tiket tepercaya.

Titik akhir server Anda memulai permintaan POST yang berisi nama pengguna dan secara opsional situs sebagai data application / x-www-form-urlencoded ke Tableau Server. Dalam hal ini, titik akhir server Anda bertindak sebagai klien HTTP untuk Tableau. Permintaan akan terlihat seperti ini (tetapi Anda kemungkinan akan menggunakan pustaka klien HTTP standar yang menangani detail):
     username = matt & target_site = contoh
CATATAN: Ini adalah langkah penting dalam proses otentikasi tepercaya Tableau. Tableau Server dikonfigurasi untuk mempercayai aplikasi broker tiket Anda secara eksplisit dan meyakini pengguna yang Anda tentukan. Sangat penting bagi Anda untuk memetakan pengguna lokal Anda ke pengguna Tableau Server dengan benar. Tiket yang dihasilkan dapat digunakan untuk melihat dasbor mana pun yang memiliki akses pengguna. Pikirkan tentang membagikan tiket untuk pengguna SDM secara tidak benar; tidak ada batasan untuk kesalahan apa pun karena kesalahan konfigurasi.
Praktik terbaik adalah menggunakan pemetaan identitas, jika memungkinkan. Jika login pengguna aplikasi Anda adalah matt maka buatlah nama pengguna Tableau Server mereka juga menjadi matt. Metode ini membuat penyediaan langsung dan mengurangi kemungkinan kesalahan. Seharusnya ada alasan yang sangat kuat untuk tidak mengkonfigurasi sistem Anda dengan cara ini.

4. Tableau Server merespons dengan tiket

Badan respons POST ini berisi tiket atau -1 jika terjadi kesalahan dalam proses otentikasi tepercaya Tableau. Dalam kasus terakhir, Server Tableau tidak mengembalikan informasi tambahan mengapa (walaupun server log memberikan lebih banyak informasi). Kesalahan ini bisa berupa apa saja dari nama pengguna atau situs yang tidak valid hingga tiket tepercaya yang tidak diatur dengan benar di Tableau Server.
Jika panggilan berhasil, hasilnya terlihat seperti:
 1Js-q1jGTxO0RllpcrtPag ==: vMJkJuzL06CLBHINVQ4ChBDu
Di atas adalah respons tiket tepercaya nyata dari Tableau Server nyata, tetapi karena ini adalah tiket sekali pakai, aman untuk ditampilkan secara publik. Jawabannya adalah teks / polos tanpa pengkodean tambahan sehingga seluruh tubuh adalah tiket.

5. Back-end mengembalikan tiket ke front-end.

Bagian belakang merespons permintaan yang dimulai pada # 2 di atas. Jarang ada kebutuhan (mungkin selain dari logging) untuk server melakukan apa pun dengan tiket yang dihasilkan. Karena tiket tepercaya hanya berguna sekali dan untuk waktu yang terbatas, tidak ada gunanya menyimpannya.

6. Tebus tiket dan tampilkan dasbor

Front-end menebus tiket tepercaya secara langsung dengan Tableau Server untuk menampilkan dasbor kepada pengguna akhir. Dasbor dapat ditampilkan dengan <iframe> sederhana atau menggunakan Javascript API (yang secara dinamis menambahkan <iframe> ke DOM).
 <iframe src="https://tableau.example.com/trusted/{ticket}/views/Regional/GlobalTemperatures?iframeSizedToWindow=true&amp;:embed=y&amp;:showAppBanner=false&amp;:display_count=no&amp;:showVizHome=no"> </iframe> 
Atribut src adalah URL yang dimodifikasi dari tombol Bagikan, dan parameter tiket menggunakan pengikatan data kerangka kerja. Menggunakan iframe - atau menggunakan mekanisme lain - browser kemudian memuat dasbor secara otomatis, dan pengguna dapat berinteraksi dengannya seperti yang diharapkan. Aplikasi Anda tidak perlu melakukan hal lain sampai pengguna meninggalkan atau memuat ulang halaman.

Provisi

Tugas yang paling kelebihan ketika melakukan scoping proyek pengembangan analytics tertanam adalah penyediaan. Harus ada proses di tempat untuk manajemen pengguna baik di Tableau maupun aplikasi Anda. Ketika Anda menambahkan pengguna ke aplikasi Anda, akankah mereka secara otomatis memiliki akses ke analisis Tableau atau apakah itu fitur tambahan? Setelah Anda menentukan bahwa pengguna harus memiliki akses Tableau, bagaimana akses itu diberikan?
Pendekatan yang disarankan adalah bahwa area administrasi aplikasi Anda diperluas untuk menangani secara otomatis penyediaan pengguna di Tableau Server menggunakan REST API. Proses ini memastikan bahwa kedua sistem secara otomatis tetap sinkron. Jika kedua sistem tidak sinkron, titik akhir tiket tepercaya akan mengembalikan -1 yang mengakibatkan kesalahan penelusuran yang sulit atau lebih buruk, otorisasi akan salah.

Pergi ke Produksi

Satu persyaratan yang dihasilkan dari langkah # 6 adalah bahwa pengguna menebus tiket tepercaya dapat terhubung ke Server Tableau secara langsung. Jika pengguna Anda bukan bagian dari organisasi Anda dan tidak duduk di belakang firewall Anda, itu berarti membuat Tableau Server dapat diakses dari internet . Praktik terbaik Tableau bukanlah membuka Tableau Server ke internet secara langsung, tetapi sebaliknya menggunakan proxy terbalik untuk akses ke jaringan internal yang dilindungi. Topik proyek terbalik atau gateway internet jauh di luar cakupan artikel ini, tetapi tidak perlu dikatakan, Anda memerlukannya.

Kesimpulan

Artikel ini memberikan gambaran umum tentang otentikasi tepercaya Tableau dan menunjukkan beberapa potensi jebakan yang tidak segera terlihat dari dokumentasi bantuan online Tableau. Artikel selanjutnya dalam seri ini akan menulis beberapa kode.

No comments:

Post a Comment