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

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

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

วิธีการทำงานของแอปที่เชื่อมต่อ

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

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

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

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

หมายเหตุ: เพื่อให้โทเค็นเซสชันใช้งานได้ นาฬิกาของแอปพลิเคชันภายนอกและเซิร์ฟเวอร์ที่โฮสต์แอปพลิเคชันภายนอกต้องตั้งค่าเป็นเวลาสากลเชิงพิกัด (UTC) แอปที่เชื่อมต่อจะไม่ได้รับความเชื่อถือหากนาฬิกาใดนาฬิกาหนึ่งใช้มาตรฐานอื่น

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

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

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

  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 Cloud

  1. ในฐานะผู้ดูแลไซต์ ให้เข้าสู่ระบบ Tableau Cloud

  2. จากแผงด้านซ้าย ให้เลือก การตั้งค่า > แอปที่เชื่อมต่อ

  3. คลิกปุ่มลูกศรดรอปดาวน์ของ “แอปที่เชื่อมต่อใหม่” และเลือก Direct Trust (เชื่อถือโดยตรง)

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

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

    2. ทำตามขั้นตอนต่อไปนี้สำหรับ การฝังเวิร์กโฟลว์

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

        หมายเหตุ: 

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

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

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

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

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

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

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

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

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

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

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

  • ID แอปที่เชื่อมต่อหรือที่เรียกว่า ID ไคลเอ็นต์จากขั้นตอนที่ 1
  • จะมีการสร้าง ID ข้อมูลลับและค่าข้อมูลลับขึ้นในขั้นตอนที่ 2

  • การอ้างสิทธิ์ที่ลงทะเบียนและส่วนหัว:

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

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

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

    "tableau:views:embed"
    "tableau:views:embed_authoring"
    "tableau:metrics:embed" (เลิกใช้แล้วในเดือนตุลาคม 2023 (Tableau 2023.3))
    tableau:ask_data:embed” (เลิกใช้ในเดือนกุมภาพันธ์ 2024 (Tableau 2024.1))

    หมายเหตุ:

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

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

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

    https://tableau.com/odaสิทธิ์เข้าถึงแบบออนดีมานด์ - อ้างสิทธิ์ (เปิดใช้งานความสามารถ)สำหรับการฝังเวิร์กโฟลว์เท่านั้น

    ค่าต้องเป็น "true" และต้องระบุกลุ่ม Tableau Cloud หนึ่งกลุ่มขึ้นไป (ดูแถวถัดไป) หากต้องการข้อมูลเพิ่มเติม โปรดดูส่วนสิทธิ์เข้าถึงแบบออนดีมานด์ (เวิร์กโฟลว์แบบฝังเท่านั้น)ด้านล่าง

    https://tableau.com/groupsสิทธิ์เข้าถึงแบบออนดีมานด์ - อ้างสิทธิ์ (ระบุชื่อกลุ่ม)สำหรับการฝังเวิร์กโฟลว์เท่านั้น

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

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

    คุณสามารถรวมแอตทริบิวต์ผู้ใช้ใน 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 = "user@domain.com";
	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("https://tableau.com/oda", "true")
		.claim("https://tableau.com/groups", "Contractors", "Team C")
		.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"],
		"https://tableau.com/oda":"true",
		"https://tableau.com/groups": ["Contractors", "Team C"],
		"Region": "East"
	},
		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 Cloud

  2. จากแผงด้านซ้าย ให้เลือก การตั้งค่า > แอปที่เชื่อมต่อ

  3. เลือกกล่องทำเครื่องหมายถัดจากแอปที่เชื่อมต่อที่คุณต้องการจัดการ และทำอย่างใดอย่างหนึ่งต่อไปนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

รายการโดเมนที่อนุญาตของแอปที่เชื่อมต่อช่วยให้คุณสามารถจำกัดการเข้าถึงเนื้อหา 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
ไม่มีโดเมน[ไม่มีโดเมน]การเข้าถึงเนื้อหาแบบฝังถูกบล็อก

สิทธิ์เข้าถึงแบบออนดีมานด์ (เวิร์กโฟลว์แบบฝังเท่านั้น)

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

สิทธิ์เข้าถึงแบบออนดีมานด์ทำงานอย่างไร

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

ข้อกำหนดเบื้องต้น

เกณฑ์ต่อไปนี้จะต้องเป็นจริงเพื่อเปิดใช้งานสิทธิ์เข้าถึงแบบออนดีมานด์สำหรับเนื้อหาแบบฝัง:

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

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

เปิดใช้งานความสามารถของสิทธิ์เข้าถึงแบบออนดีมานด์

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

คุณยังสามารถเปิดใช้งานความสามารถนี้ได้โดยใช้ Tableau REST API หากต้องการข้อมูลเพิ่มเติม โปรดดูวิธีการสร้างกลุ่ม(ลิงก์จะเปิดในหน้าต่างใหม่)และอัปเดตกลุ่ม(ลิงก์จะเปิดในหน้าต่างใหม่)ในความช่วยเหลือของ Tableau REST API

ความสามารถเมื่อเปิดใช้งานสิทธิ์เข้าถึงแบบออนดีมานด์

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

ตรวจสอบสิทธิ์เข้าถึงแบบออนดีมานด์

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

ข้อจำกัด

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

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

หมายเหตุ: ตั้งแต่กุมภาพันธ์ 2024 (Tableau 2024.1) เป็นต้นไป คำขอ REST API ของ Tableau สามารถสร้างได้ในฐานะผู้ใช้ที่มีสิทธิ์เข้าถึงแบบออนดีมานด์

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

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

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

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

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

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

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