এম্বেড করা দর্শকদের জন্য সারি-স্তরের নিরাপত্তা

উদাহরণ স্বরূপ, ধরা যাক ডেভেলপার X এর ক্লায়েন্টদের জন্য একটি ওয়েব অ্যাপ্লিকেশন রয়েছে। ক্লায়েন্টরা তাদের নিজস্ব শংসাপত্র ব্যবহার করে অ্যাপে লগ ইন করে এবং বিভিন্ন স্টোরের বিক্রয় ডেটা দেখতে পারে। প্রতিটি ক্লায়েন্ট স্টোরের একটি ভিন্ন তালিকা অ্যাক্সেস করতে পারে. বিকাশকারী তাদের অ্যাপ্লিকেশনে একটি লুকার স্টুডিও ড্যাশবোর্ড এম্বেড করতে চান যাতে কোনও ক্লায়েন্ট লগ ইন করলে, ক্লায়েন্ট তাদের অ্যাক্সেস থাকা স্টোরগুলির জন্য শুধুমাত্র বিক্রয় ডেটা দেখতে পায়। এই প্রক্রিয়াটি কাজ করার জন্য গ্রাহকদের তাদের Google অ্যাকাউন্টে লগ ইন করতে হবে না।

প্রস্তাবিত সমাধানের জন্য ডেভেলপারকে কমিউনিটি কানেক্টর তৈরি করতে হবে, এম্বেড ইউআরএলের মাধ্যমে একটি টোকেন পাস করতে হবে এবং তারপর টোকেনের উপর ভিত্তি করে ডেটা ফিল্টার করতে হবে।

প্রয়োজনীয়তা

  • ড্যাশবোর্ড দর্শকরা তৃতীয় পক্ষের অ্যাপ্লিকেশনে লগ ইন করবেন।
  • অ্যাপ্লিকেশনটিকে এম্বেড URL এর মাধ্যমে লুকার স্টুডিও ড্যাশবোর্ডে একটি অনন্য টোকেন পাস করা উচিত। টোকেনটি হয় ফিল্টার তথ্য খুঁজতে ব্যবহার করা যেতে পারে বা ফিল্টার তথ্যের মধ্যে এনক্রিপ্ট করা থাকতে পারে।
  • কমিউনিটি সংযোগকারী টোকেনটিকে ফিল্টার মানগুলিতে রূপান্তর করতে সক্ষম হওয়া উচিত।

সীমাবদ্ধতা

  • আপনি যদি একজন G Suite গ্রাহক হন এবং আপনার অ্যাডমিনিস্ট্রেটর "Anyone with a Link" এর সাথে ড্রাইভ ফাইল শেয়ার করা অক্ষম করে থাকেন, তাহলে আপনি আপনার প্রতিষ্ঠানের বাইরের ব্যবহারকারীদের সাথে প্রতিবেদনটি শেয়ার করতে পারবেন না।

সমাধান

সমাধানটি বাস্তবায়ন করতে নিম্নলিখিত সমস্ত পদক্ষেপগুলি সম্পূর্ণ করুন।

ওয়েব অ্যাপে ব্যবহারকারীর টোকেন তৈরি করুন

আপনার ওয়েব অ্যাপ্লিকেশনে প্রতিটি লগ-ইন ব্যবহারকারীর জন্য একটি অনন্য টোকেন তৈরি করুন৷ আপনি পরবর্তী ধাপে এমবেডেড ড্যাশবোর্ডে এই টোকেনটি প্রেরণ করবেন৷

প্রাসঙ্গিক ডেটা ফিল্টার করতে আপনার টোকেন ব্যবহার করা উচিত। বিকল্প অন্তর্ভুক্ত:

  • একটি API এন্ডপয়েন্ট তৈরি করুন যা একটি নির্দিষ্ট টোকেনের জন্য ফিল্টার করা ডেটা বা ব্যবহারকারীর তথ্য প্রদান করে।
  • টোকেনে ব্যবহারকারীর তথ্য এনক্রিপ্ট করুন যাতে এটি সংযোগকারীতে পরে ডিক্রিপ্ট করা যায়।

একটি নতুন সম্প্রদায় সংযোগকারী তৈরি করুন৷

কমিউনিটি কানেক্টর কিভাবে কাজ করে তা পর্যালোচনা করুন এবং শুরু করতে কমিউনিটি কানেক্টর কোডল্যাব সম্পূর্ণ করুন। একটি দ্রুত এবং সহজ উন্নয়ন প্রক্রিয়ার জন্য সংযোগকারী তৈরি করতে স্থানীয় উন্নয়ন টুলিং ব্যবহার করুন।

সংযোগকারী কোড লিখুন

  1. getConfig() অন্তত একটি কনফিগার আইটেম ফেরত দেওয়া উচিত। এটি এম্বেড URL এর প্যারামিটার থেকে একটি টোকেন ক্যাপচার করতে ব্যবহার করা হবে।

    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() কাছে request.configParams অবজেক্টের মাধ্যমে টোকেনে অ্যাক্সেস থাকবে। ফিল্টার করা ডেটা আনতে বা বিদ্যমান আনা ডেটা ফিল্টার করতে টোকেন ব্যবহার করুন।
    উপরের উদাহরণ অনুসরণ করে, টোকেনটি হবে request.configParams.tokengetData() এ, স্টোর আইডির একটি তালিকা পেতে টোকেনটি একটি REST API এন্ড-পয়েন্টে পাঠানো হয়। এই স্টোর আইডিগুলি বিক্রয় ডেটা আনার জন্য SQL কোয়েরি তৈরি করতে ব্যবহৃত হয়।

    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;
    }
    

ড্যাশবোর্ড তৈরি করুন

  1. সংযোগকারীর জন্য স্থাপনা এবং সংস্করণগুলি কীভাবে কাজ করে তা বুঝুন।
  2. সংযোগকারীর জন্য একটি উত্পাদন স্থাপনা তৈরি করুন
  3. লুকার স্টুডিওতে একটি ডেটা উত্স এবং একটি প্রতিবেদন তৈরি করতে উত্পাদন স্থাপনার লিঙ্কটি ব্যবহার করুন৷
  4. token কনফিগারেশন প্যারামিটারের জন্য, রিপোর্ট দর্শকদের প্যারামিটার মান পরিবর্তন করার অনুমতি দিন
  5. নির্বাচিত ব্যবহারকারীদের সাথে বা "লিঙ্ক সহ যে কেউ" এর সাথে ড্যাশবোর্ড ভাগ করুন
  6. প্রতিবেদনের জন্য এম্বেডিং সক্ষম করুন

আপনার প্ল্যাটফর্মে ড্যাশবোর্ড এম্বেড করুন

  1. রিপোর্ট URL প্যারামিটার কিভাবে কাজ করে তা বুঝুন।
  2. এম্বেডেড লুকার স্টুডিও রিপোর্টে ইউআরএল প্যারামিটার ব্যবহার করে গতিশীলভাবে জেনারেট করা টোকেন মান পাস করুন।
    আপনার এম্বেড ইউআরএল এর মতো দেখাবে:
    `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

সুপারিশ

  • আপনার একটি স্বল্পকালীন টোকেন তৈরি করা উচিত।
  • নিশ্চিত করুন যে ড্যাশবোর্ডটি একটি অবৈধ টোকেনের সাথে দেখা কোনো তথ্য ফাঁস করে না।