กำหนดค่าแอปที่เชื่อมต่อกับ Direct Trust

ตั้งแต่ Tableau Server เวอร์ชัน 2022.1 เป็นต้นไป แอปที่เชื่อมต่อ Tableau จะช่วยสร้างประสบการณ์การตรวจสอบสิทธิที่ราบรื่นและปลอดภัย โดยลดความยุ่งยากให้ความสัมพันธ์ที่เชื่อถือได้อย่างชัดเจนระหว่างไซต์ Tableau Server และแอปพลิเคชันภายนอก

หมายเหตุ:

  • ฟังก์ชันของแอปที่เชื่อมต่อโดยไม่มี UI สำหรับ Tableau Server จะสามารถใช้งานได้ใน Tableau Server เวอร์ชัน 2021.4 ผ่านเมธอดของแอปที่เชื่อมต่อ(ลิงก์จะเปิดในหน้าต่างใหม่)ใน REST API ของ Tableau
  • หากต้องการเปิดใช้งานการฝังผ่านแอปที่เชื่อมต่อ จะต้องกำหนดค่า Tableau Server เพื่อใช้ SSL สำหรับการใช้งานผ่าน HTTP
  • เพื่อให้โทเค็นเซสชันใช้งานได้ นาฬิกาของแอปพลิเคชันภายนอกและเซิร์ฟเวอร์ที่โฮสต์แอปพลิเคชันภายนอกต้องตั้งค่าเป็นเวลาสากลเชิงพิกัด (UTC) แอปที่เชื่อมต่อจะไม่ได้รับความเชื่อถือหากนาฬิกาใดนาฬิกาหนึ่งใช้มาตรฐานอื่น

แอปที่เชื่อมต่อของ Tableau ทำงานอย่างไรโดยความเชื่อถือโดยตรง

ความสัมพันธ์ที่เชื่อถือได้ระหว่างไซต์ Tableau Server และแอปพลิเคชันภายนอกจะสร้างขึ้นผ่านโทเค็นการตรวจสอบสิทธิในมาตรฐาน JSON Web Token (JWT) ซึ่งจะใช้ข้อมูลลับที่ใช้ร่วมกันซึ่งจัดเตรียมโดยแอปที่เชื่อมต่อ Tableau และลงนามโดยแอปพลิเคชันภายนอกของคุณ

คอมโพเนนต์หลักของแอปที่เชื่อมต่อ

คอมโพเนนต์ต่อไปนี้ของแอปที่เชื่อมต่อจะทำงานร่วมกับ JWT ในแอปพลิเคชันภายนอกของคุณเพื่อตรวจสอบสิทธิผู้ใช้และแสดงเนื้อหาแบบฝัง

  • ข้อมูลลับ: คือคีย์ที่แชร์โดย Tableau และแอปพลิเคชันภายนอกของคุณ โดยจะนำไปใช้ในลายเซ็นที่สร้าง JWT ต้องใช้ข้อมูลลับเมื่อใช้แอปที่เชื่อมต่อเพื่อการฝังการตรวจสอบสิทธิ์หรือการตรวจสอบสิทธิ์ของ REST API สามารถสร้างข้อมูลลับขึ้นได้ในแอปที่เชื่อมต่อ โดยจะไม่หมดอายุ และยังคงใช้ได้จนกว่าจะถูกลบ
  • รายการโดเมนที่อนุญาต (เฉพาะการฝังเวิร์กโฟลว์เท่านั้น) คุณสามารถระบุรายการโดเมนที่อนุญาตได้ในแอปที่เชื่อมต่อแต่ละรายการ เนื้อหา Tableau แบบฝังผ่านแอปที่เชื่อมต่อนั้นจะได้รับอนุญาตภายใต้โดเมนที่ระบุเท่านั้น ซึ่งช่วยให้มั่นใจว่าเนื้อหาจะถูกเปิดเผยภายใต้โดเมนที่มีการรักษาความปลอดภัยและได้รับการอนุมัติจากธุรกิจของคุณ
  • ระดับการเข้าถึง (เฉพาะการฝังเวิร์กโฟลว์เท่านั้น) คุณสามารถระบุเนื้อหาที่จะฝังผ่านแอปที่เชื่อมต่อได้โดยการเชื่อมโยงแอปที่เชื่อมต่อกับหนึ่งหรือทุกโปรเจกต์ หากคุณระบุหนึ่งโปรเจกต์ เฉพาะเนื้อหาในโปรเจกต์ที่เลือกเท่านั้นที่สามารถฝังผ่านแอปที่เชื่อมต่อได้ หากต้องการระบุหลายโปรเจกต์ คุณต้องใช้ REST API ของ Tableau

เวิร์กโฟลว์ของแอปที่เชื่อมต่อ

การฝังเวิร์กโฟลว์

แผนภูมิด้านล่างจะแสดงวิธีการทำงานของการตรวจสอบสิทธิระหว่างแอปพลิเคชันภายนอกของคุณ (เว็บเซิร์ฟเวอร์และหน้าเว็บ) และแอปที่เชื่อมต่อของ Tableau

แผนภาพแสดงโฟลว์ของข้อมูลระหว่างหน้าเว็บ แอปพลิเคชันภายนอก และ Tableau

  1. ผู้ใช้ไปที่หน้าเว็บ: เมื่อผู้ใช้ไปที่เนื้อหาแบบฝังบนหน้าเว็บ หน้าเว็บจะส่งคำขอ GET ไปยังแอปพลิเคชันภายนอกของคุณเพื่อเรียก HTML บนหน้าเว็บนั้น
  2. แอปพลิเคชันภายนอกสร้างโทเค็นการตรวจสอบสิทธิ์: แอปพลิเคชันภายนอกจะสร้าง JWT ซึ่งประกอบด้วยข้อมูลลับจากแอปที่เชื่อมต่อกัน (ดูข้อกำหนดเพิ่มเติมของ JWT ที่ขั้นตอนที่ 3 ด้านล่าง) และขอบเขตการเข้าถึงของผู้ใช้สำหรับเนื้อหาแบบฝัง ข้อมูลลับนี้จะลงนามโดยแอปพลิเคชันภายนอกและใช้สำหรับการตรวจสอบความสัมพันธ์ที่เชื่อถือได้ในขั้นตอนต่อไป
  3. แอปพลิเคชันภายนอกตอบสนองด้วยโทเค็นการตรวจสอบสิทธิ์: แอปพลิเคชันภายนอกจะตอบสนองต่อหน้าด้วย JWT ใน URL ของเนื้อหาแบบฝังซึ่งเรียกโดยหน้าเว็บ
  4. หน้าเว็บร้องขอเนื้อหาจาก Tableau: เมื่อมีการโหลดเนื้อหาแบบฝัง หน้าเว็บจะเรียก URL ของเนื้อหาแบบฝัง ซึ่งจะส่งคำขอ GET ไปยัง Tableau
  5. Tableau ตรวจสอบความถูกต้องของโทเค็น: Tableau จะได้รับ JWT และยืนยันความสัมพันธ์ที่เชื่อถือได้กับแอปพลิเคชันภายนอก โดยระบุแอปที่เชื่อมต่อและข้อมูลลับที่ใช้ร่วมกันที่ใช้ใน JWT จากนั้น Tableau จะสร้างเซสชันสำหรับผู้ใช้ เซสชันไม่เพียงแต่ปฏิบัติตามขอบเขตการฝังที่กำหนดไว้ใน JWT แต่ยังรวมถึงข้อจำกัดที่ระบุในแอปที่เชื่อมต่อ ซึ่งรวมถึงโดเมนที่อนุญาตและโครงการที่อนุญาตอีกด้วย
  6. Tableau จะแสดงเนื้อหาตามบริบทการฝังที่จำกัด: เนื้อหาแบบฝังจะโหลดเมื่อหน้าดังกล่าวอยู่ในรายชื่อโดเมนที่อนุญาตและเนื้อหาได้รับการเผยแพร่ไปยังโปรเจกต์ที่ได้รับอนุญาต (หากมี) ผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์แล้วจะสามารถโต้ตอบกับเนื้อหาแบบฝังตามขอบเขตที่กำหนดไว้ใน JWT เท่านั้น

การสร้างแอปที่เชื่อมต่อ

ขั้นตอนที่ 1: สร้างแอปที่เชื่อมต่อ

สร้างแอปที่เชื่อมต่อจากหน้าการตั้งค่าของ Tableau Server

  1. ในฐานะผู้ดูแลเซิร์ฟเวอร์ ให้เข้าสู่ระบบ Tableau Server
  2. จากแผงด้านซ้าย ให้เลือก การตั้งค่า > แอปที่เชื่อมต่อ
  3. เลือกปุ่มลูกศรดรอปดาวน์ของ “แอปที่เชื่อมต่อใหม่” และเลือก Direct Trust (เชื่อถือโดยตรง)

    หมายเหตุ: หากคุณใช้ Tableau Server 2023.3 หรือเก่ากว่า ให้เลือกปุ่มแอปที่เชื่อมต่อใหม่

  4. ในกล่องโต้ตอบ “สร้างแอปที่เชื่อมต่อ” ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้:
    • สำหรับ เวิร์กโฟลว์การให้สิทธิ์ REST API (รวมถึงเวิร์กโฟลว์ API เมตาดาต้าที่ใช้ REST API ในการตรวจสอบสิทธิ์) ให้ป้อนชื่อแอปที่เชื่อมต่อในกล่องข้อความ ป้อนชื่อแอปที่เชื่อมต่อและเลือกปุ่มสร้าง

      หมายเหตุ คุณสามารถเพิกเฉยระดับสิทธิ์เข้าถึงและรายการที่อนุญาตของโดเมนได้ในระหว่างการกำหนดค่าแอปที่เชื่อมต่อสำหรับการให้สิทธิ์ของ REST API และ API เมตาดาต้า

    • ทำตามขั้นตอนต่อไปนี้สำหรับ การฝังเวิร์กโฟลว์
      1. ในกล่องข้อความ “ชื่อแอปที่เชื่อมต่อ” ให้ป้อนชื่อสำหรับแอปที่เชื่อมต่อ
      2. จากเมนูดรอปดาวน์ “ใช้กับ” ให้เลือก All project (โปรเจกต์ทั้งหมด) หรือ Only one project (โปรเจกต์เดียวเท่านั้น) เพื่อควบคุมว่ามุมมองหรือเมตริกใดบ้างที่สามารถฝังได้ หากคุณเลือกตัวเลือก "โปรเจ็กต์เดียวเท่านั้น" ให้เลือกโปรเจ็กต์ที่ต้องการกำหนดขอบเขตโดยเฉพาะ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกทั้งสองนี้ โปรดดูที่ระดับการเข้าถึง (เฉพาะการฝังเวิร์กโฟลว์เท่านั้น).

        หมายเหตุ: 

      3. ในรายการโดเมนที่อนุญาต ให้ระบุโดเมนโดยใช้กฎที่อธิบายไว้ใน การจัดรูปแบบโดเมน ด้านล่างเพื่อควบคุมตำแหน่งที่สามารถฝังมุมมองหรือเมตริกได้

        สำคัญ: เราขอแนะนำให้ใช้รายการที่อนุญาตของโดเมนเป็นแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยเพื่อให้แน่ใจว่าเนื้อหา Tableau จะฝังอยู่ในตำแหน่งที่คุณอนุญาตเท่านั้น

      4. เมื่อเสร็จแล้ว ให้เลือกปุ่มสร้าง

        แบบฟอร์มสำหรับสร้างแอปที่เชื่อมต่อ ซึ่งรวมถึงฟิลด์สำหรับชื่อแอป ระดับการเข้าถึง และรายการที่อนุญาตของโดเมน

  5. ถัดจากชื่อแอปที่เชื่อมต่อ ให้เลือกเมนูการดำเนินการ แล้วเลือกเปิดใช้งาน เพื่อความปลอดภัย แอปที่เชื่อมต่อจะถูกตั้งค่าให้ปิดใช้งานตามค่าเริ่มต้นเมื่อสร้างขึ้น

    กล่องโต้ตอบเปิดใช้งาน แก้ไข หรือลบแอปที่เชื่อมต่อ

  6. จดบันทึก ID ของแอปที่เชื่อมต่อหรือที่เรียกว่า ID ไคลเอ็นต์ เพื่อใช้ในขั้นตอนที่ 3 ด้านล่าง

    ID ไคลเอ็นต์ของคุณและปุ่ม “คัดลอก”

ขั้นตอนที่ 2: สร้างข้อมูลลับ

คุณสามารถสร้างข้อมูลลับได้ทั้งหมดสองอย่างสำหรับแต่ละแอปที่เชื่อมต่อ ข้อมูลลับที่สองสามารถใช้เพื่อวัตถุประสงค์ในการหมุนเวียนข้อมูลลับเพื่อช่วยป้องกันปัญหาในกรณีที่ข้อมูลลับมีช่องโหว่ได้

  1. ในหน้ารายละเอียดของแอปที่เชื่อมต่อที่คุณสร้างในขั้นตอนที่ 1 ให้เลือกปุ่มสร้างข้อมูลลับใหม่
  2. จดบันทึก ID ข้อมูลลับและค่าข้อมูลลับเพื่อใช้ในขั้นตอนที่ 3 ด้านล่าง

    วันที่สร้าง, ID และค่าของการดำเนินการ

ขั้นตอนที่ 3: กำหนดค่า JWT

หลังจากที่สร้างข้อมูลลับแล้ว คุณต้องเปิดใช้แอปพลิเคชันภายนอกเพื่อส่ง JWT ที่ถูกต้อง JWT เป็นมาตรฐานที่ใช้ในการถ่ายโอนข้อมูลระหว่างสองฝ่ายอย่างปลอดภัย JWT จะได้รับการลงนามโดยแอปพลิเคชันภายนอกของคุณเพื่อส่งข้อมูลไปยัง Tableau Server อย่างปลอดภัย JWT จะอ้างอิงถึงแอปที่เชื่อมต่อ ผู้ใช้ที่สร้างเซสชัน และระดับสิทธิ์การเข้าถึงที่ผู้ใช้ควรมี

JWT ที่ถูกต้องจะประกอบด้วยข้อมูลต่อไปนี้

  • ID แอปที่เชื่อมต่อหรือที่เรียกว่า ID ไคลเอ็นต์จากขั้นตอนที่ 1
  • จะมีการสร้าง ID ข้อมูลลับและค่าข้อมูลลับขึ้นในขั้นตอนที่ 2
  • การอ้างสิทธิ์ที่ลงทะเบียนและส่วนหัว:
    การอ้างสิทธิ์ชื่อคำอธิบายหรือค่าที่ต้องการ
    "kid"ID ข้อมูลลับจำเป็น (ในส่วนหัว) ตัวระบุคีย์ลับของแอปที่เชื่อมต่อ
    "iss"ผู้ออกจำเป็น (ในส่วนหัว) URI ของผู้ออกที่ไม่ซ้ำกันซึ่งระบุแอปที่เชื่อมต่อที่เชื่อถือได้และคีย์การลงนาม
    "alg"อัลกอริทึมจำเป็น (ในส่วนหัว) อัลกอริทึมการลงนาม JWT รองรับเฉพาะ HS256 เท่านั้น
    "sub"หัวข้อชื่อผู้ใช้ ของผู้ใช้ Tableau Server ที่ผ่านการตรวจสอบสิทธิ์
    "aud"กลุ่มเป้าหมายค่าจะต้องเป็น: "tableau"
    "exp"เวลาหมดอายุJWT ที่ใช้ได้จะต้องยังไม่หมดอายุ เวลาหมดอายุ (ใน UTC) ของ JWT ต้องอยู่ภายในช่วงเวลาที่ใช้ได้สูงสุดซึ่งกำหนดค่าไว้ สามารถกำหนดค่าช่วงเวลาที่ใช้ได้สูงสุดได้โดยใช้คำสั่ง tsm vizportal.oauth.connected_apps.max_expiration_period_in_minutes
    "jti"ID ของ JWTจำเป็นต้องใช้เพื่อการอ้างสิทธิ์ การอ้างสิทธิ์ ID JWT จะมีตัวระบุที่ไม่ซ้ำกันสำหรับ JWT และคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
    "scp"

    สำคัญ: ห้ามใช้ "scope "

    การกำหนดขอบเขตค่าที่รองรับสำหรับการฝังเวิร์กโฟลว์ ได้แก่

    "tableau:views:embed"
    "tableau:views:embed_authoring" เพิ่มใน Tableau Server 2022.3
    "tableau:metrics:embed" (เลิกใช้แล้วใน Tableau Server 2023.3)
    tableau:ask_data:embed” (เพิ่มใน Tableau Server 2023.1)

    หมายเหตุ:

    • ต้องส่งผ่านค่าเป็นประเภทรายการ
    • สำหรับ tableau:views:embed และ tableau:views:embed_authoring ขอบเขตจะเป็นไปตามสิทธิ์ของผู้ใช้ที่กำหนดค่าไว้แล้วใน Tableau Server และอนุญาตให้ผู้ใช้โต้ตอบกับเครื่องมือในมุมมองแบบฝังได้ หากมีให้ใช้ในแบบมุมมองดั้งเดิม
    • เราขอแนะนำให้ใช้โค้ดฝังที่ไม่รวมพารามิเตอร์ของแถบเครื่องมือ หากต้องการข้อมูลเพิ่มเติม โปรดดูปัญหาที่ทราบแล้ว (เฉพาะการฝังเวิร์กโฟลว์เท่านั้น)ด้านล่าง

    สำหรับเวิร์กโฟลว์ของการตรวจสอบสิทธิ์ REST API โปรดดูเมธอด REST API ที่รองรับการรับรองสิทธิ์ของ JWT

    สำหรับเวิร์กโฟลว์ API เมตาดาต้าที่ใช้ REST API สำหรับการตรวจสอบสิทธิ์ขอบเขตเดียวที่รองรับคือ tableau:content:read

    สำหรับเวิร์กโฟลว์บริการข้อมูล VizQL ที่ใช้ REST API สำหรับการตรวจสอบสิทธิ์ ขอบเขตเดียวที่รองรับคือ tableau:viz_data_service:read

    https://tableau.com/groupsการเป็นสมาชิกกลุ่มแบบไดนามิกสำหรับการฝังเวิร์กโฟลว์เท่านั้น

    ค่าจะต้องตรงกับชื่อของกลุ่มตั้งแต่หนึ่งกลุ่มขึ้นไปใน Tableau Server หากต้องการข้อมูลเพิ่มเติม โปรดดูส่วนการเป็นสมาชิกกลุ่มแบบไดนามิก (เวิร์กโฟลว์แบบฝังเท่านั้น)ด้านล่าง

    (แอตทริบิวต์ของผู้ใช้)(ค่าแอตทริบิวต์ของผู้ใช้)สำหรับการฝังเวิร์กโฟลว์เท่านั้น

    เริ่มตั้งแต่Tableau Server 2025.1 คุณสามารถรวมแอตทริบิวต์ของผู้ใช้ใน JWT ได้ จากนั้น เมื่อใช้ฟังก์ชันแอตทริบิวต์ของผู้ใช้ในเนื้อหาแบบฝัง Tableau จะตรวจสอบบริบทของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์และกำหนดว่าข้อมูลใดที่สามารถแสดงในขณะรันไทม์ได้

    หมายเหตุ:

JWT ตัวอย่าง

นี่คือตัวอย่าง JWT ในทั้งภาษา Java และ Python ตัวอย่าง Java และ Python จะใช้ไลบรารี nimbus-jose-jwt และไลบรารี PyJWT ตามลำดับ

Java

import com.nimbusds.jose.*;
import com.nimbusds.jose.crypto.*;
import com.nimbusds.jwt.*;

import java.util.*;

...

String secret = "secretvalue";
	String kid = "connectedAppSecretId";
	String clientId = "connectedAppClientId";
	List<String> scopes = new
ArrayList<>(Arrays.asList("tableau:views:embed"));
	String username = "username";
	JWSSigner signer = new MACSigner(secret);
	JWSHeader header = new
JWSHeader.Builder(JWSAlgorithm.HS256).keyID(kid).customParam("iss", clientId).build();
	JWTClaimsSet claimsSet = new JWTClaimsSet.Builder()
		.issuer(clientId)
		.expirationTime(new Date(new Date().getTime() + 60 * 1000)) //expires in 1 minute
		.jwtID(UUID.randomUUID().toString())
		.audience("tableau")
		.subject("username")
		.claim("scp", scopes)
		
		
		.claim("Region", "East")
		.build();
	SignedJWT signedJWT = new SignedJWT(header, claimsSet);
	signedJWT.sign(signer);
	model.addAttribute("token", signedJWT.serialize());

Python

import jwt

token = jwt.encode(
	{
		"iss": connectedAppClientId,
		"exp": datetime.datetime.utcnow() + datetime.timedelta(minutes=5),
		"jti": str(uuid.uuid4()),
		"aud": "tableau",
		"sub": user,
		"scp": ["tableau:views:embed", "tableau:metrics:embed"]
		        
	},
		connectedAppSecretKey,
		algorithm = "HS256",
		headers = {
		'kid': connectedAppSecretId,
		'iss': connectedAppClientId
        }
  )

หลังจากที่คุณกำหนดค่า JWT แล้ว ระบบจะสร้างโทเค็นขึ้นเมื่อแอปพลิเคชันภายนอกของคุณเรียกใช้โค้ด

ขั้นตอนที่ 4 การฝังในขั้นตอนต่อไป

สำหรับการฝังเวิร์กโฟลว์

หลังจากที่กำหนดค่า JWT แล้ว คุณจะต้องเพิ่มโค้ดฝังลงในแอปพลิเคชันภายนอกของคุณ ตรวจสอบว่าคุณรวม JWT ที่ถูกต้องซึ่งคุณได้กำหนดค่าไว้ในขั้นตอนที่ 3 ด้านบน โดยรวมไว้ในคอมโพเนนต์เว็บที่แอปพลิเคชันภายนอกเรียกใช้

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการฝังเนื้อหา Tableau ให้ดูอย่างใดอย่างหนึ่งหรือทั้งสองอย่างต่อไปนี้

หมายเหตุ: เพื่อให้ผู้ใช้ทำการตรวจสอบสิทธิ์ได้สำเร็จเมื่อเข้าถึงเนื้อหาที่ฝังไว้ เบราว์เซอร์ต้องได้รับการกำหนดค่าให้อนุญาตคุกกี้ของบุคคลที่สาม

เวิร์กโฟลว์ของการตรวจสอบสิทธิ์ของ REST API

หลังจากกำหนดค่า JWT แล้ว คุณต้องเพิ่ม JWT ที่ถูกต้องลงในคำขอเข้าสู่ระบบ REST API สำหรับการเข้าถึงที่ได้รับอนุญาต หากต้องการข้อมูลเพิ่มเติม โปรดดูขอบเขตการเข้าถึงสำหรับแอปที่เชื่อมต่อ

สำหรับเวิร์กโฟลว์ API เมตาดาต้า

หลังจากกำหนดค่า JWT แล้ว คุณต้องเพิ่ม JWT ที่ถูกต้องลงในคำขอเข้าสู่ระบบ REST API หากต้องการข้อมูลเพิ่มเติม โปรดดูขอบเขตการเข้าถึงสำหรับแอปที่เชื่อมต่อ

การจัดการแอปที่เชื่อมต่อ

หน้าแอปที่เชื่อมต่อเป็นที่ที่คุณสามารถจัดการแอปที่เชื่อมต่อทั้งหมดสำหรับไซต์ของคุณ คุณสามารถทำงานต่างๆ เช่น การสร้าง การลบ และการปิดใช้งานแอปที่เชื่อมต่อ รวมทั้งเพิกถอนหรือสร้างข้อมูลลับใหม่ได้ หากข้อมูลลับที่มีอยู่มีช่องโหว่

  1. ในฐานะผู้ดูแลเซิร์ฟเวอร์ ให้เข้าสู่ระบบ Tableau Server
  2. จากแผงด้านซ้าย ให้เลือก การตั้งค่า > แอปที่เชื่อมต่อ
  3. เลือกกล่องทำเครื่องหมายถัดจากแอปที่เชื่อมต่อที่คุณต้องการจัดการ และทำอย่างใดอย่างหนึ่งต่อไปนี้
    • สร้างข้อมูลลับใหม่ ตามไทม์ไลน์การหมุนเวียนที่ระบุโดยนโยบายด้านความปลอดภัยขององค์กรของคุณ หากต้องการสร้างข้อมูลลับเพิ่มเติม ให้คลิกที่ชื่อแอปที่เชื่อมต่อแล้วคลิกปุ่ม สร้างข้อมูลลับใหม่ แอปที่เชื่อมต่อสามารถมีข้อมูลลับได้สูงสุดสองรายการ ข้อมูลลับทั้งสองสามารถเปิดใช้งานพร้อมกันได้ โดยจะไม่หมดอายุ และยังคงใช้ได้จนกว่าจะถูกลบ
    • ดูรายละเอียดแอปที่เชื่อมต่อ โดยเลือกชื่อแอปที่เชื่อมต่อเพื่อดูว่าแอปที่เชื่อมต่อถูกสร้างขึ้นเมื่อใด, ID, ขอบเขตของโปรเจกต์และโดเมน รวมถึงข้อมูลลับของแอป
    • เปลี่ยนขอบเขตของโปรเจกต์หรือโดเมน ในเมนู “การดำเนินการ” ให้เลือกแก้ไข ทำการเปลี่ยนแปลง แล้วเลือกอัปเดต

      หมายเหตุ: หากคุณเปลี่ยนขอบเขตโปรเจกต์หรือโดเมน และเนื้อหาแบบฝังไม่มีอยู่ในโปรเจกต์ใหม่หรือโดเมนใหม่ มุมมองหรือเมตริกแบบฝังจะไม่สามารถแสดงได้ และผู้ใช้จะเห็นข้อผิดพลาดเมื่อเข้าถึงเนื้อหาแบบฝังดังกล่าว

    • ลบข้อมูลลับ โดยการเลือกชื่อของแอปที่เชื่อมต่อ ในหน้าของแอปที่เชื่อมต่อ ให้คลิก การดำเนินการ ถัดจากข้อมูลลับ แล้วเลือก ลบ ในกล่องโต้ตอบการยืนยัน ให้เลือก ลบ อีกครั้ง

      หมายเหตุ: หากแอปพลิเคชันภายนอกใช้ข้อมูลลับของแอปที่เชื่อมต่ออยู่ มุมมองหรือเมตริกแบบฝังจะไม่สามารถแสดงได้หลังจากลบข้อมูลลับแล้ว หากต้องการข้อมูลเพิ่มเติม โปรดดูผลของการปิดการใช้งานหรือลบแอปที่เชื่อมต่อหรือการลบข้อมูลลับด้านล่าง

    • ปิดใช้งานแอปที่เชื่อมต่อ ในเมนู “การดำเนินการ” ให้เลือก Disable (ปิดใช้งาน) หากแอปพลิเคชันภายนอกใช้แอปที่เชื่อมต่ออยู่ มุมมองหรือเมตริกแบบฝังจะไม่สามารถแสดงได้หลังจากที่แอปที่เชื่อมต่อถูกปิดใช้งาน หากต้องการข้อมูลเพิ่มเติม โปรดดูผลของการปิดการใช้งานหรือลบแอปที่เชื่อมต่อหรือการลบข้อมูลลับด้านล่าง

    แบบฟอร์มที่แสดงรหัสไคลเอ็นต์ที่สร้างแบบสุ่มสองรหัส

ผลของการปิดการใช้งานหรือลบแอปที่เชื่อมต่อหรือการลบข้อมูลลับ

แอปที่เชื่อมต่อจะต้องเปิดใช้งานอยู่และมีการสร้างข้อมูลลับแล้วเพื่อแสดงเนื้อหาที่ถูกฝังแก่ผู้ใช้ของคุณหรือเพื่อเปิดใช้งานการเข้าถึง REST API หากมีแอปที่เชื่อมต่อที่ใช้ในแอปพลิเคชันภายนอกของคุณและถูกปิดใช้งานหรือถูกลบไปแล้ว หรือข้อมูลลับของแอปที่เชื่อมต่อถูกลบหรือถูกแทนที่ไปแล้ว ผู้ใช้จะได้รับข้อผิดพลาด 403

เพื่อหลีกเลี่ยงปัญหานี้ โปรดตรวจสอบว่าได้เปิดใช้งานแอปที่เชื่อมต่อ และตรวจสอบว่า JWT ใช้ ID และค่าข้อมูลลับที่ถูกต้อง

ระดับการเข้าถึง (เฉพาะการฝังเวิร์กโฟลว์เท่านั้น)

คุณสามารถเลือกโปรเจกต์ประเภทหนึ่งจากสองตัวเลือกได้ในขณะที่กำหนดค่าระดับการเข้าถึงของแอปที่เชื่อมต่อ ระดับการเข้าถึงจะควบคุมเนื้อหาที่สามารถฝังได้

  • โปรเจกต์ทั้งหมด: ตัวเลือกนี้ช่วยให้สามารถฝังเนื้อหาในโปรเจกต์ทั้งหมดได้
  • โปรเจกต์เดียวเท่านั้น: ตัวเลือกนี้ทำให้สามารถฝังเนื้อหาในโปรเจกต์ที่ระบุเท่านั้น หากโปรเจกต์ที่ระบุมีโปรเจกต์ที่ซ้อนกันอยู่ ระบบจะไม่เปิดใช้งานการฝังเนื้อหาในโปรเจกต์ที่ซ้อนกันเหล่านั้น

เกี่ยวกับหลายโปรเจกต์

ตั้งแต่ Tableau Server 2024.2 เป็นต้นไป คุณสามารถเปิดใช้งานเนื้อหาในหลายโปรเจกต์สำหรับแอปที่เชื่อมต่อได้โดยใช้ REST API ของ Tableau เท่านั้น หากต้องการระบุโปรเจกต์ ให้ใช้ “ID โปรเจกต์” ในเมธอดสร้างแอปที่เชื่อมต่อ(ลิงก์จะเปิดในหน้าต่างใหม่)หรืออัปเดตแอปที่เชื่อมต่อ(ลิงก์จะเปิดในหน้าต่างใหม่)

หมายเหตุ: เมื่อมีการกำหนดค่าหลายโปรเจกต์สำหรับแอปที่เชื่อมต่อของคุณ Tableau จะแสดงหลายโปรเจกต์สำหรับระดับการเข้าถึงของแอปที่เชื่อมต่อ หากคุณเลือกโปรเจกต์เดียวเท่านั้นหรือทุกโปรเจกต์ และอัปเดตแอปที่เชื่อมต่อ ตัวเลือก “หลายโปรเจกต์” จะไม่แสดงอีกต่อไป หากคุณต้องการกำหนดค่าแอปที่เชื่อมต่อสำหรับหลายโปรเจกต์อีกครั้ง คุณต้องใช้ REST API

กฎของรายการโดเมนที่อนุญาต (เฉพาะการฝังเวิร์กโฟลว์เท่านั้น)

รายการโดเมนที่อนุญาตของแอปที่เชื่อมต่อช่วยให้คุณสามารถจำกัดการเข้าถึงเนื้อหา Tableau แบบฝังสำหรับโดเมนทั้งหมดหรือบางโดเมน หรือยกเว้นบางโดเมนหรือบล็อกโดเมนทั้งหมดได้

สำคัญ: เราขอแนะนำให้ใช้รายการที่อนุญาตของโดเมนเป็นแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยเพื่อให้แน่ใจว่าเนื้อหา Tableau จะฝังอยู่ในตำแหน่งที่คุณอนุญาตเท่านั้น

ตัวเลือกโดเมน

คุณสามารถเลือกหนึ่งในสองตัวเลือกได้ เมื่อกำหนดค่ารายการที่อนุญาตของโดเมนของแอปที่เชื่อมต่อ ดังนี้

  • โดเมนทั้งหมด: ตัวเลือกนี้จะเปิดใช้งานการเข้าถึงเนื้อหาแบบฝังโดยไม่จำกัดในฐานะตัวเลือกเริ่มต้น
  • เฉพาะบางโดเดน: ตัวเลือกนี้ช่วยให้คุณสามารถกำหนดขอบเขตการเข้าถึงเนื้อหาแบบฝังได้ หากคุณใช้ตัวเลือกนี้ ให้ปฏิบัติตามกฎการจัดรูปแบบที่ระบุไว้ในส่วนต่อไปนี้ การจัดรูปแบบโดเมน

การจัดรูปแบบโดเมน

ในช่องข้อความรายการที่อนุญาตของโดเมน คุณสามารถป้อนโดเมนหนึ่งรายการขึ้นไปโดยใช้ตัวอย่างการจัดรูปแบบด้านล่าง

หมายเหตุ: กฎการจัดรูปแบบโดเมนยังจะมีผลเมื่อใช้เมธอดเชื่อมต่อแอป(ลิงก์จะเปิดในหน้าต่างใหม่)ใน REST API ของ Tableau อีกด้วย

ตัวอย่างการจัดรูปแบบตามสถานการณ์ทั่วไปมีดังนี้

หากต้องการระบุ...ตัวอย่างการเข้าถึงการฝัง
ช่วงของโดเมน*.myco.comเนื้อหาแบบฝังสามารถเข้าถึงได้จากโดเมนย่อยทั้งหมดภายใต้ myco.com
พอร์ตทั้งหมดmyco.com:*เนื้อหาแบบฝังสามารถเข้าถึงได้จากพอร์ตทั้งหมดใน myco.com
พอร์ตเฉพาะmyco.com:8080เนื้อหาแบบฝังสามารถเข้าถึงได้จากพอร์ต 8080 ใน myco.com เท่านั้น
โดเมนแยกกันหลายโดเมนmyco.com
events.myco.com
ops.myco.com

เนื้อหาแบบฝังสามารถเข้าถึงได้จากทั้งสามโดเมน

หมายเหตุ: เมื่อระบุหลายโดเมน ให้พิมพ์แต่ละโดเมนในบรรทัดใหม่หรือแยกโดเมนด้วยการเว้นวรรค สำหรับ REST API โดเมนจะต้องคั่นด้วยการเว้นวรรค

การรับส่งข้อมูลที่ปลอดภัยเท่านั้นhttps:เนื้อหาแบบฝังสามารถเข้าถึงได้อย่างปลอดภัย ไม่ว่าจะเป็นโดเมนอะไรก็ตาม
รักษาความปลอดภัยของการรับส่งข้อมูลไปยังพอร์ตทั้งหมดในช่วงโดเมนต่างๆhttps:*myco.com:*เนื้อหาแบบฝังสามารถเข้าถึงได้อย่างปลอดภัยจากพอร์ททั้งหมดในโดเมนย่อยภายใต้ myco.com
ไม่มีโดเมน[ไม่มีโดเมน]การเข้าถึงเนื้อหาแบบฝังถูกบล็อก

การเป็นสมาชิกกลุ่มแบบไดนามิก (เวิร์กโฟลว์แบบฝังเท่านั้น)

ตั้งแต่ Tableau Server 2024.2 หากมีการกำหนดค่าแอปที่เชื่อมต่อและเปิดใช้งานการตั้งค่าความสามารถ คุณจะสามารถควบคุมความเป็นสมาชิกกลุ่มแบบไดนามิกผ่านการอ้างสิทธิ์แบบกำหนดเองที่รวมอยู่ใน JWT ที่ส่งโดยแอปพลิเคชันภายนอก

เมื่อกำหนดค่า ในระหว่างการตรวจสอบสิทธิ์ผู้ใช้ แอปพลิเคชันภายนอกจะส่ง JWT ที่มีการอ้างสิทธิ์แบบกำหนดเองสองรายการสำหรับการเป็นสมาชิกกลุ่ม: กลุ่ม (https://tableau.com/groups) และชื่อกลุ่ม (เช่น “Group1” และ “Group2”) ที่จะยืนยันข้อมูลผู้ใช้ Tableau ตรวจสอบ JWT แล้วเปิดใช้งานสิทธิ์เข้าถึงกลุ่มและเนื้อหาที่สิทธิ์ขึ้นอยู่กับกลุ่มเหล่านั้น

หากต้องการข้อมูลเพิ่มเติม โปรดดู การเป็นสมาชิกกลุ่มแบบไดนามิกโดยใช้การยืนยัน

โทเค็นภายนอกสำหรับ SCIM

ตั้งแต่Tableau Server 2025.3 เป็นต้นไป คุณสามารถใช้แอปที่เชื่อมต่อของ Tableau กับโทเค็นที่ได้รับการจัดการภายนอกแทนการใช้โทเค็น SCIM ที่สร้างโดย Tableau เพื่อรองรับคำขอ SCIM ระหว่าง IdP ของคุณกับ Tableau Tableau Server ในการจัดสรรผู้ใช้และเวิร์กโฟลว์การซิงโครไนซ์กลุ่ม

หากต้องการใช้โทเค็นภายนอกสำหรับ SCIM จะต้องปฏิบัติตามข้อกำหนดดังต่อไปนี้

  1. แอปที่เชื่อมต่อของ Tableau ที่ได้รับการกำหนดค่าและเปิดใช้งานแล้ว หากต้องการข้อมูลเพิ่มเติม โปรดดูขั้นตอนที่ 1: สร้างแอปที่เชื่อมต่อ และขั้นตอนที่ 2: สร้างข้อมูลลับ

  2. JWT ที่ถูกต้องซึ่งประกอบด้วยขอบเขตต่อไปนี้:

    tableau:users:*
    tableau:groups:*

    หากต้องการข้อมูลเพิ่มเติม โปรดดูขั้นตอนที่ 3: กำหนดค่า JWT

  3. ความสามารถของ SCIM ที่เปิดใช้งานพร้อมการกำหนดค่าการตรวจสอบสิทธิ์ SAML ที่เกี่ยวข้อง และ IdP ที่กำหนดค่าไว้สำหรับ SCIM หากต้องการข้อมูลเพิ่มเติม โปรดดูเปิดใช้งาน SCIM - การใช้โทเค็นภายนอก

ปัญหาที่ทราบแล้ว (เฉพาะการฝังเวิร์กโฟลว์เท่านั้น)

มีปัญหาสองประการเมื่อใช้แอปที่เชื่อมต่อซึ่งจะได้รับการแก้ไขในเวอร์ชันในอนาคต

  • ฟีเจอร์ของแถบเครื่องมือ: เมื่อเนื้อหาที่ฝังมีพารามิเตอร์ของแถบเครื่องมือกำหนดไว้ ฟีเจอร์ของแถบเครื่องมือบางอย่างจะไม่ทำงาน หากต้องการแก้ไขปัญหานี้ เราขอแนะนำให้คุณซ่อนพารามิเตอร์แถบเครื่องมือดังตัวอย่างด้านล่าง

    <tableau-viz id='tab-viz' src='https://<your_server>/t/<your_site>/...'
    	toolbar='hidden'>
    </tableau-viz>

  • แหล่งข้อมูลที่เผยแพร่: แหล่งข้อมูลที่เผยแพร่ที่ตั้งค่าเป็น แจ้งผู้ใช้ สำหรับข้อมูลเข้าสู่ระบบฐานข้อมูลจะไม่แสดง หากต้องการแก้ไขปัญหานี้ หากเป็นไปได้ เราขอแนะนำให้เจ้าของแหล่งข้อมูลฝังข้อมูลเข้าสู่ระบบฐานข้อมูลแทน

  • มุมมองแบบฝังในหลายไซต์: ใน Tableau Server 2023.1 และก่อนหน้า การสลับระหว่างมุมมองในไซต์ต่างๆ ในเบราว์เซอร์เดียวกันทำให้เกิดข้อผิดพลาด 1008: ไม่สามารถดึงข้อมูลลับสำหรับเชื่อมต่อแอปได้ หากต้องการแก้ไขปัญหานี้ ให้อัปเกรดเป็น Tableau Server 2023.3 ขึ้นไป
  • ออบเจ็กต์สอบถามข้อมูลในแดชบอร์ดแบบฝัง: ระบบจะไม่โหลดออบเจ็กต์ “สอบถามข้อมูล” ในแดชบอร์ดแบบฝัง (ใน Tableau Server 2024.2 จะเลิกใช้ “สอบถามข้อมูล”)

  • เมตริกและรายการที่อนุญาตของโดเมน: ระบบจะแสดงมุมมองเมตริกแบบฝังแม้ว่าจะมีการจำกัดการเข้าถึงที่อาจระบุไว้ในรายการอนุญาตของโดเมนที่เป็นของแอปที่เชื่อมต่อ หมายเหตุ: ข้อมูลเมตริกที่เข้าถึงจากแถบเครื่องมือของมุมมองแบบฝังจะทำงานได้ปกติตามที่คาดไว้ (ใน Tableau Server 2023.3Tableau ยกเลิกความสามารถในการฝังเมตริก)

แก้ปัญหา

คุณสามารถอ้างอิงแก้ปัญหาแอปที่เชื่อมต่อกับ - ความเชื่อถือโดยตรงสำหรับข้อผิดพลาดที่อาจเกี่ยวข้องกับแอปที่เชื่อมต่อและขั้นตอนการแก้ไขปัญหาที่แนะนำ

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ