กำหนดค่าแอปที่เชื่อมต่อกับ 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

  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. เมื่อเสร็จแล้ว ให้คลิกปุ่ม Create (สร้าง)

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

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

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

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

  1. ในหน้ารายละเอียดของแอปที่เชื่อมต่อที่คุณสร้างในขั้นตอนที่ 1 ให้คลิกปุ่ม Generate New Secret (สร้างข้อมูลลับใหม่)

  2. จดบันทึก ID ข้อมูลลับและค่าข้อมูลลับเพื่อใช้ในขั้นตอนที่ 3 ด้านล่าง

ขั้นตอนที่ 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

    https://tableau.com/groups สำหรับการฝังเวิร์กโฟลว์เท่านั้น

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

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)
		
		
		.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 แล้วเปิดใช้งานสิทธิ์เข้าถึงกลุ่มและเนื้อหาที่สิทธิ์ขึ้นอยู่กับกลุ่มเหล่านั้น

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

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

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

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

    <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 ยกเลิกความสามารถในการฝังเมตริก)

แก้ปัญหา

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

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