กำหนดค่า OAuth สำหรับการเชื่อมต่อ Snowflake

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

  • สำหรับ Tableau ทุกเวอร์ชันจนถึงและรวมถึงเวอร์ชัน 2024.1 ตัวเชื่อมต่อ Tableau Snowflake ตามค่าเริ่มต้นจะใช้พร็อกซี OAuth ที่โฮสต์ใน AWS (GALOP) ซึ่งใช้ ID ไคลเอ็นต์ทั่วไปและข้อมูลลับ
  • ตั้งแต่ Tableau 2020.4 เป็นต้นไป คุณสามารถเลือกกำหนดค่า Tableau Server เพื่อใช้บริการ OAuth ใหม่ที่ทำงานในตำแหน่งเดียวกันกับอินสแตนซ์ของ Tableau ซึ่งจำเป็นต้องระบุรหัสไคลเอ็นต์และข้อมูลลับของคุณเอง ซึ่งเรียกว่า OAuth ที่กำหนดเอง
  • ตั้งแต่เวอร์ชัน 2024.2 เป็นต้นไป พร็อกซี GALOP จะถูกเลิกใช้งาน และคำแนะนำด้านล่างสำหรับการตั้งค่า OAuth ที่กำหนดเองจะเป็นที่จำเป็นเนื่องจากขณะนี้จะใช้บริการ OAuth ในเครื่องสำหรับการตรวจสอบสิทธิ์
  • สำหรับ Tableau Desktop และ Tableau Cloud ตั้งแต่เวอร์ชัน 2024.3 ขึ้นไป คุณสามารถกำหนดค่า IdP บุคคลที่สาม (OAuth ภายนอก) สำหรับ Snowflake ได้ หากต้องการข้อมูลเพิ่มเติม โปรดดู OAuth ภายนอกสำหรับ Snowflake

ประโยชน์ที่ได้รับจาก OAuth ที่กำหนดเอง ได้แก่

  • ความปลอดภัยที่ปรับปรุง

  • คุณสามารถใช้ OAuth ในสภาพแวดล้อมแบบแยกที่ไม่สามารถเชื่อมต่อกับ OAuth Proxy (GALOP)

  • คุณไม่จำเป็นต้องแสดงรายการที่อยู่ IP ของ GALOP อย่างปลอดภัยเพื่อเรียกใช้โฟลว์ OAuth ใน AWS PrivateLink หรือ Azure Private Link VPC

ลงทะเบียนไคลเอ็นต์ OAuth กับ Snowflake

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

หลังจากลงทะเบียนเสร็จ คุณจะใช้พารามิเตอร์ Snowflake ต่อไปนี้เพื่อกำหนดค่า Tableau Server:

  • URL ของอินสแตนซ์บัญชี
  • ID ไคลเอ็นต์
  • ข้อมูลลับของไคลเอ็นต์
  • URL เปลี่ยนเส้นทาง

หมายเหตุ: URL การเปลี่ยนเส้นทางจะเหมือนกันเมื่อป้อนทั้งด้าน Snowflake และ Tableau รูปแบบมีดังนี้
https://your_server_url.com/auth/add_oauth_token
ตัวอย่างเช่น https://example.com/auth/add_oauth_token

ตัวเลือกที่ 1: กำหนดค่า OAuth สำหรับการเชื่อมต่อ Snowflake โดยใช้ TSM

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

หมายเหตุ: ตัวเลือกการกำหนดค่านี้ใช้งานไม่ได้บน Tableau Cloud

  1. (เวอร์ชัน 2024.1 และก่อนหน้า) ในคอมพิวเตอร์ Tableau Server ให้เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดใช้งานบริการ OAuth บน Snowflake

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    หมายเหตุ: สำหรับเวอร์ชัน 2024.2 ขึ้นไป ให้ข้ามขั้นตอนที่ 1 ไม่ว่าจะใช้การเชื่อมต่อส่วนตัวของ Snowflake หรือไม่ก็ตาม

  2. คัดลอก วาง และปรับแต่งคำสั่งต่อไปนี้ในตัวแก้ไขข้อความ:

    หมายเหตุ: หากคุณกำลังทำการเปลี่ยนแปลงการกำหนดค่าเหล่านี้ใน Tableau Server 2021.1 ขึ้นไป โปรดทราบว่ารูปแบบของค่า oauth.snowflake.client มีการเปลี่ยนแปลง

    tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"

    คีย์ oauth.snowflake.clients จะเป็นอาร์เรย์รูปแบบคู่คีย์ องค์ประกอบแต่ละอย่างในคู่คีย์จะต้องอยู่ภายในเครื่องหมายคำพูดคู่ โดยต่องเอสเคปเครื่องหมายคำพูดคู่ด้วยรูปแบบ \"

    หากต้องการระบุ URL ของอินสแตนซ์บัญชีหลายรายการ ให้แยกไคลเอ็นต์ Oauth แต่ละรายการที่อยู่ในวงเล็บ ({}) ด้วยเครื่องหมายจุลภาค (,) เหมือนในตัวอย่างนี้

    tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string1\",\"oauth.snowflake.client_secret\":\"client_secret_string1\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" },{\"oauth.snowflake.instance_url\":\"https://account2.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string2\",\"oauth.snowflake.client_secret\":\"client_secret_string2\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"

    แทนที่ค่าของแต่ละคีย์ตามที่ระบุไว้ด้านล่าง

    • URL ของอินสแตนซ์บัญชี:oauth.snowflake.instance_url
    • ID ไคลเอ็นต์: oauth.snowflake.client_id
    • ข้อมูลลับของไคลเอ็นต์: oauth.snowflake.client_secret
    • URL เปลี่ยนเส้นทาง: oauth.snowflake.redirect_uri

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

    คัดลอกคำสั่งลงใน TSM CLI แล้วเรียกใช้คำสั่ง

  3. ป้อนคำสั่งต่อไปนี้เพื่อให้การเปลี่ยนแปลงมีผล

    tsm pending-changes apply

    หากการเปลี่ยนแปลงที่รอดำเนินการจำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์ คำสั่ง pending-changes apply จะแสดงข้อความแจ้งเพื่อแจ้งให้คุณทราบว่าจะรีสตาร์ท โดยข้อความแจ้งนี้จะปรากฏขึ้นแม้ว่าเซิร์ฟเวอร์จะหยุดทำงาน แต่ในกรณีนี้จะไม่มีการรีสตาร์ท คุณสามารถระงับข้อความแจ้งได้โดยใช้ตัวเลือก --ignore-prompt แต่การดำเนินการนี้จะไม่เปลี่ยนลักษณะการรีสตาร์ท หากการเปลี่ยนแปลงไม่จำเป็นต้องใช้การรีสตาร์ท ระบบจะปรับใช้การเปลี่ยนแปลงนั้นโดยไม่มีข้อความแจ้ง หากต้องการข้อมูลเพิ่มเติม โปรดดู tsm pending-changes apply

ตัวเลือกที่ 2: กำหนดค่า OAuth สำหรับการเชื่อมต่อ Snowflake ตามไซต์

หมายเหตุ: ตัวเลือกนี้ใช้ได้กับ Tableau Cloud ตั้งแต่เวอร์ชัน 2024.2 เป็นต้นไป

คุณสามารถกำหนดค่าไคลเอ็นต์ Snowflake OAuth ที่กำหนดเองได้ที่ระดับไซต์โดยใช้ Tableau Server UI

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

เมื่อกำหนดค่าไคลเอนต์ OAuth แล้วนั้น การกำหนดค่าระดับไซต์จะมีความสำคัญเหนือการกำหนดค่าฝั่งเซิร์ฟเวอร์ใดๆ และข้อมูลเข้าสู่ระบบ OAuth ใหม่ทั้งหมดที่สร้างจะใช้ไคลเอ็นต์ OAuth ตามค่าเริ่มต้น ไม่จำเป็นต้องรีสตาร์ท Tableau Server เพื่อให้การกำหนดค่าทำงาน

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

1: เตรียม ID ไคลเอ็นต์ของ OAuth, ข้อมูลลับของไคลเอ็นต์ และ URL การเปลี่ยนเส้นทาง

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

  • ID ไคลเอ็นต์ OAuth และข้อมูลลับของไคลเอ็นต์: ก่อนอื่น ให้ลงทะเบียนไคลเอ็นต์ OAuth กับผู้ให้ข้อมูล (ตัวเชื่อมต่อ) เพื่อรับ ID ไคลเอ็นต์และข้อมูลความลับที่สร้างสำหรับ Tableau Server

  • URL เปลี่ยนเส้นทาง โปรดตรวจสอบ URL เปลี่ยนเส้นทางที่ถูกต้อง คุณจะต้องใช้สิ่งนี้ระหว่างกระบวนการลงทะเบียนในขั้นตอนที่ 2 ด้านล่าง

    https://<your_server_name>.com/auth/add_oauth_token

    ตัวอย่างเช่น https://example.com/auth/add_oauth_token

2: ลงทะเบียน ID ไคลเอ็นต์ของ OAuth และข้อมูลลับของไคลเอ็นต์

ปฏิบัติตามขั้นตอนที่อธิบายด้านล่างเพื่อลงทะเบียนไคลเอ็นต์ OAuth ไปยังไซต์

  1. (เวอร์ชัน 2024.1 และก่อนหน้า) ในคอมพิวเตอร์ Tableau Server ให้เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดใช้งานบริการ OAuth บน Snowflake

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    หมายเหตุ: สำหรับเวอร์ชัน 2024.2 ขึ้นไป ให้ข้ามขั้นตอนที่ 1 ไม่ว่าจะใช้การเชื่อมต่อส่วนตัวของ Snowflake หรือไม่ก็ตาม

  2. ลงชื่อเข้าใช้ Tableau Server ของคุณโดยใช้ข้อมูลเข้าสู่ระบบในฐานะผู้ดูแลและไปยังหน้าการตั้งค่า

  3. ภายใต้ "รีจิสทรีไคลเอ็นต์ OAuth" ให้คลิกปุ่ม เพิ่มไคลเอ็นต์ OAuth

  4. ป้อนข้อมูลที่จำเป็น รวมถึงข้อมูลจาก ขั้นตอนที่ 1 ด้านบน:

    1. สำหรับประเภทการเชื่อมต่อ ให้เลือกตัวเชื่อมต่อที่มีไคลเอ็นต์ OAuth แบบกำหนดเองที่คุณต้องการกำหนดค่า

    2. URL อินสแตนซ์ OAuth จำเป็นต้องมีหากมีการลงทะเบียนไคลเอ็นต์ OAuth หลายรายการ หากไม่เช่นนั้นก็เป็นทางเลือก

    3. สำหรับ ID ไคลเอ็นต์ ข้อมูลลับของไคลเอ็นต์ และ URL การเปลี่ยนเส้นทาง ให้ป้อนข้อมูลที่คุณเตรียมไว้ใน ขั้นตอนที่ 1 ด้านบน

    4. คลิกปุ่ม เพิ่มไคลเอ็นต์ OAuth เพื่อทำขั้นตอนการลงทะเบียนให้เสร็จสิ้น

  5. (ไม่บังคับ) ดำเนินการขั้นตอนที่ 3 อีกครั้งสำหรับตัวเชื่อมต่อที่รองรับทั้งหมด

  6. คลิกปุ่ม บันทึก ที่ด้านล่างหรือด้านบนของหน้าการตั้งค่าเพื่อบันทึกการเปลี่ยนแปลง

3: ยืนยันความถูกต้องและอัปเดตข้อมูลเข้าสู่ระบบที่บันทึกไว้

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

  1. ไปยังหน้าการตั้งค่าบัญชีของฉัน

  2. ภายใต้ ข้อมูลเข้าสู่ระบบที่บันทึกไว้สำหรับแหล่งข้อมูล ให้ทำดังต่อไปนี้:

    1. คลิก ลบ ถัดจากข้อมูลเข้าสู่ระบบที่บันทึกไว้สำหรับตัวเชื่อมต่อที่มีไคลเอ็นต์ OAuth ที่กำหนดเองซึ่งคุณกำหนดค่าไว้ใน ขั้นตอนที่ 2 ด้านบน

    2. ถัดจากชื่อของตัวเชื่อมต่อ ให้คลิกเพิ่ม และไปตามการแจ้งเตือนไปยัง 1) เชื่อมต่อกับไคลเอ็นต์ OAuth แบบกำหนดเองที่กำหนดค่าไว้ในขั้นตอนที่ 2 ด้านบนและ 2) บ้นทึกข้อมูลเข้าสู่ระบบล่าสุด

4: แจ้งเตือนผู้ใช้เพื่ออัปเดตข้อมูลเข้าสู่ระบบที่บันทึกไว้

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

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