Keamanan tingkat baris untuk pelihat sematan

Misalnya, anggaplah developer X memiliki aplikasi web untuk klien mereka. Klien login ke aplikasi menggunakan kredensial mereka sendiri dan dapat melihat data penjualan untuk toko yang berbeda. Setiap klien memiliki akses ke daftar toko yang berbeda. Developer ingin menyematkan dasbor Looker Studio di aplikasi mereka, sehingga saat klien login, klien hanya melihat data penjualan untuk toko yang aksesnya mereka miliki. Klien tidak perlu login ke Akun Google mereka agar proses ini dapat berfungsi.

Solusi yang diusulkan mengharuskan developer membuat Konektor Komunitas, meneruskan token melalui URL sematan, lalu memfilter data berdasarkan token.

Persyaratan

  • Pembaca dasbor akan login ke aplikasi pihak ketiga.
  • Aplikasi harus meneruskan token unik ke dasbor Looker Studio melalui URL sematan. Token dapat digunakan untuk mencari informasi filter atau mengenkripsi informasi filter di dalamnya.
  • Konektor Komunitas harus dapat mengonversi token menjadi nilai filter.

Batasan

  • Jika Anda adalah pelanggan G Suite dan administrator telah menonaktifkan berbagi file Drive ke “Siapa saja yang memiliki Link”, Anda tidak akan dapat membagikan laporan kepada pengguna di luar organisasi.

Solusi

Selesaikan semua langkah berikut untuk menerapkan solusi.

Buat token pengguna di aplikasi web

Buat token unik untuk setiap pengguna yang login di aplikasi web Anda.Anda akan meneruskan token ini ke dasbor tersemat pada langkah berikutnya.

Anda harus menggunakan token untuk memfilter data yang relevan. Opsinya meliputi:

  • Buat endpoint API yang menampilkan data yang difilter atau informasi pengguna untuk token tertentu.
  • Enkripsi informasi pengguna dalam token agar dapat didekripsi nanti di konektor.

Membuat Konektor Komunitas baru

Tinjau Cara Kerja Konektor Komunitas dan selesaikan Codelab Konektor Komunitas untuk memulai. Gunakan Alat pengembangan lokal untuk membuat konektor guna mempercepat dan mempermudah proses pengembangan.

Tulis kode konektor

  1. getConfig() harus menampilkan minimal satu item konfigurasi. Link ini akan digunakan untuk mengambil token dari parameter URL sematan.

    function getConfig(request) {
      var cc = DataStudioApp.createCommunityConnector();
      var config = cc.getConfig();
    
      config
          .newTextInput()
          .setId('token')
          .setName('Enter user token');
    
      // TODO: Add additional config values if applicable for your connector
    
      config.setDateRangeRequired(false);
      config.setIsSteppedConfig(false);
    
      return config.build();
    }
    
  2. getData() akan memiliki akses ke token melalui objek request.configParams. Gunakan token untuk mengambil data yang difilter atau memfilter data yang diambil yang sudah ada.
    Dengan mengikuti contoh di atas, tokennya adalah request.configParams.token. Di getData(), token diteruskan ke endpoint REST API untuk mendapatkan daftar ID Toko. ID Toko ini kemudian digunakan untuk membuat kueri SQL yang akan mengambil data penjualan.

    var STORE_ID_API = 'https://www.example.com/api/storeid';
    var QUERY_STRING_PREFIX = "SELECT StoreName, Sales from stores"
    
    function getData(request) {
      var token = request.configParams.token;
    
      var storeIds = getStoreIdList(token);
      var queryString = constructQueryString(storeIds);
      var fetchedData = fetchData(queryString);
    
      // rest of getData() implementation
    }
    
    function getStoreIdList(token) {
      var url = STORE_ID_API;
      var response = UrlFetchApp.fetch(url);
      var parsedResponse = JSON.parse(response);
      return parsedResponse.storeIds;
    }
    
    function constructQueryString(storeIds) {
      var storeIdString = storeIds.join(',');
      var queryString = QUERY_STRING_PREFIX
                        + ' WHERE storeId in ('
                        + storeIdString
                        + ')';
      return queryString;
    }
    

Membuat dasbor

  1. Pahami cara kerja deployment dan versi untuk konektor.
  2. Buat deployment produksi untuk konektor.
  3. Gunakan link Deployment produksi untuk membuat sumber data dan laporan di Looker Studio.
  4. Untuk parameter konfigurasi token, Izinkan pembaca laporan mengubah parameter value.
  5. Bagikan dasbor kepada pengguna yang dipilih atau dengan “Siapa saja yang memiliki link”.
  6. Aktifkan penyematan untuk laporan.

Menyematkan dasbor di platform Anda

  1. Pahami cara kerja Parameter URL Laporan.
  2. Teruskan nilai token yang dibuat secara dinamis menggunakan parameter URL ke laporan Looker Studio tersemat.
    URL sematan Anda akan terlihat seperti ini:
    `https://lookerstudio.google.com/embed/reporting/REPORT_ID/page/PAGE_ID?config=%7B%22ds0%22%3A%7B%22token%22%3A%22TOKEN_VALUE%22%7D%7D

Rekomendasi

  • Sebaiknya Anda membuat token berjangka pendek.
  • Pastikan dasbor tidak membocorkan informasi apa pun yang dilihat menggunakan token yang tidak valid.