กำหนดค่า 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
(เวอร์ชัน 2024.1 และก่อนหน้า) ในคอมพิวเตอร์ Tableau Server ให้เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดใช้งานบริการ OAuth บน Snowflake
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
หมายเหตุ: สำหรับเวอร์ชัน 2024.2 ขึ้นไป ให้ข้ามขั้นตอนที่ 1 ไม่ว่าจะใช้การเชื่อมต่อส่วนตัวของ Snowflake หรือไม่ก็ตาม
คัดลอก วาง และปรับแต่งคำสั่งต่อไปนี้ในตัวแก้ไขข้อความ:
หมายเหตุ: หากคุณกำลังทำการเปลี่ยนแปลงการกำหนดค่าเหล่านี้ใน 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 แล้วเรียกใช้คำสั่ง
- URL ของอินสแตนซ์บัญชี:
ป้อนคำสั่งต่อไปนี้เพื่อให้การเปลี่ยนแปลงมีผล
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 ไปยังไซต์
(เวอร์ชัน 2024.1 และก่อนหน้า) ในคอมพิวเตอร์ Tableau Server ให้เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดใช้งานบริการ OAuth บน Snowflake
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
หมายเหตุ: สำหรับเวอร์ชัน 2024.2 ขึ้นไป ให้ข้ามขั้นตอนที่ 1 ไม่ว่าจะใช้การเชื่อมต่อส่วนตัวของ Snowflake หรือไม่ก็ตาม
ลงชื่อเข้าใช้ Tableau Server ของคุณโดยใช้ข้อมูลเข้าสู่ระบบในฐานะผู้ดูแลและไปยังหน้าการตั้งค่า
ภายใต้ "รีจิสทรีไคลเอ็นต์ OAuth" ให้คลิกปุ่ม เพิ่มไคลเอ็นต์ OAuth
ป้อนข้อมูลที่จำเป็น รวมถึงข้อมูลจาก ขั้นตอนที่ 1 ด้านบน:
สำหรับประเภทการเชื่อมต่อ ให้เลือกตัวเชื่อมต่อที่มีไคลเอ็นต์ OAuth แบบกำหนดเองที่คุณต้องการกำหนดค่า
URL อินสแตนซ์ OAuth จำเป็นต้องมีหากมีการลงทะเบียนไคลเอ็นต์ OAuth หลายรายการ หากไม่เช่นนั้นก็เป็นทางเลือก
สำหรับ ID ไคลเอ็นต์ ข้อมูลลับของไคลเอ็นต์ และ URL การเปลี่ยนเส้นทาง ให้ป้อนข้อมูลที่คุณเตรียมไว้ใน ขั้นตอนที่ 1 ด้านบน
คลิกปุ่ม เพิ่มไคลเอ็นต์ OAuth เพื่อทำขั้นตอนการลงทะเบียนให้เสร็จสิ้น
(ไม่บังคับ) ดำเนินการขั้นตอนที่ 3 อีกครั้งสำหรับตัวเชื่อมต่อที่รองรับทั้งหมด
- คลิกปุ่ม บันทึก ที่ด้านล่างหรือด้านบนของหน้าการตั้งค่าเพื่อบันทึกการเปลี่ยนแปลง
3: ยืนยันความถูกต้องและอัปเดตข้อมูลเข้าสู่ระบบที่บันทึกไว้
เพื่อให้แน่ใจว่าจะเป็นการเข้าถึงข้อมูลที่ไม่ถูกรบกวน คุณ (และผู้ใช้ไซต์ของคุณ) จะต้องลบข้อมูลเข้าสู่ระบบที่บันทึกไว้ก่อนหน้าและเพิ่มข้อมูลเข้ามาอีกครั้งเพื่อใช้ไคลเอ็นต์ OAuth แบบกำหนดเองสำหรับไซต์
ไปยังหน้าการตั้งค่าบัญชีของฉัน
ภายใต้ ข้อมูลเข้าสู่ระบบที่บันทึกไว้สำหรับแหล่งข้อมูล ให้ทำดังต่อไปนี้:
คลิก ลบ ถัดจากข้อมูลเข้าสู่ระบบที่บันทึกไว้สำหรับตัวเชื่อมต่อที่มีไคลเอ็นต์ OAuth ที่กำหนดเองซึ่งคุณกำหนดค่าไว้ใน ขั้นตอนที่ 2 ด้านบน
ถัดจากชื่อของตัวเชื่อมต่อ ให้คลิกเพิ่ม และไปตามการแจ้งเตือนไปยัง 1) เชื่อมต่อกับไคลเอ็นต์ OAuth แบบกำหนดเองที่กำหนดค่าไว้ในขั้นตอนที่ 2 ด้านบนและ 2) บ้นทึกข้อมูลเข้าสู่ระบบล่าสุด
4: แจ้งเตือนผู้ใช้เพื่ออัปเดตข้อมูลเข้าสู่ระบบที่บันทึกไว้
โปรดแน่ใจว่าคุณได้แจ้งให้ผู้ใช้ไซต์ของคุณอัปเดตข้อมูลเข้าสู่ระบบที่บันทึกไว้สำหรับตัวเชื่อมต่อที่มีไคลเอ็นต์ OAuth ที่กำหนดเองซึ่งคุณกำหนดค่าไว้ใน ขั้นตอนที่ 2 ด้านบน ผู้ใช้ไซต์สามารถใช้ขั้นตอนที่อธิบายไว้ในอัปเดตข้อมูลเข้าสู่ระบบที่บันทึกไว้เพื่ออัปเดตข้อมูลเข้าสู่ระบบที่บันทึกไว้