เอกสารประกอบสำหรับ credentials Databricks ใช้ credentials เหล่านี้เพื่อตรวจสอบสิทธิ์ Databricks ใน n8n ซึ่งเป็นแพลตฟอร์ม workflow อัตโนมัติ
คุณสามารถใช้ credentials เหล่านี้เพื่อตรวจสอบสิทธิ์ node ต่อไปนี้:
- Databricks
- Databricks Chat Model (OAuth2 เท่านั้น)
- Databricks Genie MCP server (OAuth2 ที่มีการเข้าสู่ระบบของผู้ใช้เท่านั้น)
- Databricks Trigger
ข้อกำหนดเบื้องต้น
- A ดาต้าบริคส์ พื้นที่ทำงานบน AWS, Azure หรือ GCP
- สำหรับ OAuth2 ที่มีการเข้าสู่ระบบของผู้ใช้: ผู้ดูแลระบบบัญชี Databricks ที่สามารถสร้างการเชื่อมต่อแอป OAuth ที่กำหนดเองในคอนโซลบัญชี
- สำหรับ OAuth2 ที่มีหลักการบริการ: ผู้ดูแลระบบ Databricks ที่สามารถสร้างหลักการบริการและสร้างความลับ OAuth ได้
- ที่ สิทธิพิเศษ ความต้องการข้อมูลประจำตัวในการตรวจสอบสิทธิ์สำหรับการดำเนินการที่คุณต้องการเรียกใช้
วิธีการรับรองความถูกต้องที่รองรับ
- token การเข้าถึงส่วนบุคคล : token เชื่อมโยงกับผู้ใช้ Databricks หนึ่งราย รองรับโดย node Databricks เท่านั้น
- OAuth2 พร้อมการเข้าสู่ระบบของผู้ใช้ : ข้อมูลประจำตัวเชื่อมต่อโดยการลงชื่อเข้าใช้บัญชี Databricks ในเบราว์เซอร์ การดำเนินการทำงานโดยได้รับอนุญาตจากผู้ใช้นั้นและปรากฏในบันทึกการตรวจสอบของ Databricks ภายใต้ข้อมูลระบุตัวตนของพวกเขา ผู้ใช้แต่ละคนสามารถสร้างข้อมูลประจำตัวของตนเองเพื่อรัน workflow ภายใต้บัญชีของตนเองได้ Databricks แนะนำสิ่งนี้สำหรับการใช้งานแบบโต้ตอบและเข้าร่วม
- OAuth2 พร้อมบริการหลัก : n8n รับรองความถูกต้องเป็นบริการหลักด้วยรหัสไคลเอ็นต์และความลับ โดยที่ผู้ใช้ไม่ต้องดำเนินการใดๆ Databricks แนะนำสิ่งนี้สำหรับสถานการณ์ที่ไม่ต้องดูแล เช่น ขั้นตอนการผลิตอัตโนมัติเต็มรูปแบบ
สิทธิ์ Databricks ที่จำเป็น
ข้อมูลประจำตัวที่ข้อมูลประจำตัวรับรองความถูกต้องเป็น (ผู้ใช้ที่ลงชื่อเข้าใช้หรือผู้ให้บริการหลัก) ต้องการสิทธิ์เหล่านี้ใน Databricks ขึ้นอยู่กับการดำเนินการที่คุณเรียกใช้:
| การดำเนินงาน | สิทธิ์ที่จำเป็น |
|---|---|
| ทั้งหมด | ที่ การเข้าถึงพื้นที่ทำงาน (Workspace access) สิทธิ |
| Databricks SQL (ดำเนินการค้นหา) | ที่ การเข้าถึง Databricks SQL (Databricks SQL access) สิทธิและ CAN USE บนคลังสินค้า SQL |
| งาน (รับ, รับรัน, รับ output รัน) | CAN VIEW ในงาน |
| งาน (วิ่ง) | CAN MANAGE RUN ในงาน |
| การอ่านหรือการเขียนข้อมูล Unity Catalog | USE CATALOG บนแค็ตตาล็อก USE SCHEMA บนสคีมาและ SELECT บนโต๊ะหรือมุมมองที่คุณสอบถาม ฟังก์ชั่นและรุ่นก็ต้องการเช่นกัน EXECUTE |
| Genie (การทำงานของ node Databricks และเซิร์ฟเวอร์ Genie MCP) | CAN RUN บนพื้นที่ Genie และ CAN USE บนคลังสินค้า SQL |
| การแสดงโมเดล (จุดสิ้นสุดแบบสอบถาม) | CAN QUERY บนปลายทางการให้บริการ |
| บริการโมเดล Unity AI Gateway (โมเดล Databricks Chat) | USE CATALOG และ USE SCHEMA บนแค็ตตาล็อกและสคีมาที่ให้บริการโมเดล และ EXECUTE ในการบริการโมเดล ทุน Databricks EXECUTE บน system.ai บริการแก่ผู้ใช้ทุกคนตามค่าเริ่มต้น |
| การดูงานหรือไปป์ไลน์ (Databricks Trigger) | CAN VIEW ในงานหรือไปป์ไลน์ |
หลักการบริการใหม่เริ่มต้นโดยไม่มีสิทธิพิเศษ (New service principals start with no privileges)
บริการหลักที่สร้างขึ้นใหม่ไม่มีสิทธิ์ ดังนั้นการดำเนินการครั้งแรกจึงล้มเหลวโดยมีข้อผิดพลาดเกี่ยวกับสิทธิ์ที่ตั้งชื่อสิทธิ์ที่ขาดหายไป กำหนดสิทธิ์ข้างต้นก่อนเรียกใช้ workflow
อ้างถึง สิทธิ์ของ Databricks , รายการควบคุมการเข้าถึง และ สิทธิพิเศษของ Unity Catalog สำหรับข้อมูลเพิ่มเติม
ทรัพยากรที่เกี่ยวข้อง
อ้างถึง เอกสารการรับรองความถูกต้องของ Databricks สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการ
การใช้ token การเข้าถึงส่วนบุคคล
ในการกำหนดค่า credentials นี้ คุณจะต้อง:
- A Host : URL ของพื้นที่ทำงาน Databricks ของคุณ (เช่น
https://adb-1234567890123456.7.azuredatabricks.net). - A Access Token : token การเข้าถึงส่วนบุคคลที่สร้างขึ้นในพื้นที่ทำงาน Databricks ของคุณ
หากต้องการสร้าง token การเข้าถึงส่วนบุคคล:
- ในพื้นที่ทำงาน Databricks ของคุณ ให้เลือกชื่อผู้ใช้ของคุณที่มุมขวาบน จากนั้นเลือก Settings.
- เลือก Developer.
- ต่อไป token การเข้าถึง (Access tokens) ให้เลือก Manage.
- เลือก สร้าง token ใหม่ (Generate new token).
- ระบุหรือไม่ก็ได้ Comment เพื่อระบุ token จากนั้นเลือก Generate.
- คัดลอก token และบันทึกไว้ในที่ที่ปลอดภัย คุณจะไม่สามารถดู token ได้อีกหลังจากปิดกล่องโต้ตอบนี้
- ป้อน token เป็น Access Token ใน credentials n8n ของคุณ
รูปแบบ token (Token format)
token การเข้าถึงส่วนบุคคลเริ่มต้นด้วย dapi ตัวอย่างเช่น dapi1234abcd5678efgh.
อ้างถึง การรับรองความถูกต้อง token การเข้าถึงส่วนบุคคลของ Databricks สำหรับข้อมูลเพิ่มเติม
การใช้ OAuth2 กับการเข้าสู่ระบบของผู้ใช้
วิธีการนี้ใช้โฟลว์ Databricks OAuth ระหว่างผู้ใช้กับเครื่อง (U2M) คุณเชื่อมต่อ credentials โดยลงชื่อเข้าใช้ Databricks ในเบราว์เซอร์ของคุณ และการดำเนินการต่างๆ ดำเนินไปโดยได้รับอนุญาตจากคุณ ข้อมูลประจำตัวที่แชร์จะทำงานในฐานะผู้ใช้ที่เชื่อมต่อ ดังนั้นให้สร้างข้อมูลประจำตัวแยกต่างหากสำหรับข้อมูลประจำตัวที่แยกจากกัน
ในการกำหนดค่า credentials นี้ คุณจะต้อง:
- A Host : URL ของพื้นที่ทำงาน Databricks ของคุณ (เช่น
https://adb-1234567890123456.7.azuredatabricks.net). - A Client ID และ Client Secret : จากการเชื่อมต่อแอป OAuth ที่กำหนดเอง ผู้ดูแลระบบบัญชี Databricks สร้างขึ้นในคอนโซลบัญชี
มีสามขั้นตอนในการตั้งค่า credentials นี้:
- สร้างการเชื่อมต่อแอป OAuth ที่กำหนดเองใน Databricks .
- ไม่จำเป็น กำหนดค่าอายุการใช้งาน token .
- ตั้งค่าข้อมูลประจำตัวใน n8n .
จำเป็นต้องเข้าถึงคอนโซลบัญชี (Account console access required)
การสร้างการเชื่อมต่อแอป OAuth แบบกำหนดเองต้องใช้คอนโซลบัญชี Databricks Databricks Free Edition ไม่รวมการเข้าถึงคอนโซลบัญชี ดังนั้นในพื้นที่ทำงาน Free Edition ให้ใช้ บริการหลัก หรือก token การเข้าถึงส่วนบุคคล แทน
สร้างการเชื่อมต่อแอป OAuth ที่กำหนดเอง (Create a custom OAuth app connection)
ผู้ดูแลบัญชี Databricks จำเป็นต้องทำตามขั้นตอนเหล่านี้:
- ใน n8n ให้เปิด credentials Databricks และคัดลอกไฟล์ OAuth Redirect URL (มีรูปแบบ.
https://<your-n8n-instance>/rest/oauth2-credential/callback). - เข้าสู่ระบบคอนโซลบัญชี Databricks สำหรับคลาวด์ของคุณ ( AWS , สีฟ้า หรือ จีซีพี ) และเลือก Settings ไอคอนในแถบด้านข้าง
- บน การเชื่อมต่อแอพ (App connections) แท็บ ให้เลือก เพิ่มการเชื่อมต่อ (Add connection).
- ป้อนชื่อสำหรับการเชื่อมต่อ เป็นต้น
n8n. - เพิ่ม OAuth Redirect URL คุณคัดลอกจาก n8n เป็น URL การเปลี่ยนเส้นทาง
- เลือกขอบเขตการเข้าถึงที่ต้องการในการเชื่อมต่อ ที่ Databricks node และ Databricks Chat Model ความต้องการ node All APIs . หากการเชื่อมต่อให้บริการเฉพาะการ Databricks Genie MCP server ให้เลือก
genieแทน: การเชื่อมต่อไม่สามารถเข้าถึง Databricks API อื่น ๆ ได้ และผู้ใช้ยินยอมที่จะให้สิทธิ์ที่แคบลง Databricks อนุญาตโดยอัตโนมัติoffline_accessขอบเขตที่ n8n จำเป็นต้องเชื่อมต่ออยู่ ในการทดสอบของ n8n All APIs ยังครอบคลุมไปถึงgenieขอบเขต; หากการเชื่อมต่อไทล์ล้มเหลวโดยมีข้อผิดพลาดเกี่ยวกับขอบเขต เพิ่มgenieขอบเขต . - เปิดใช้งานการสร้างความลับไคลเอ็นต์ n8n เป็นลูกค้าที่เป็นความลับ ดังนั้นจึงจำเป็นต้องมีความลับ
- บันทึกการเชื่อมต่อ จากนั้นคัดลอกไฟล์ Client ID และ Client Secret . Databricks แสดงความลับเพียงครั้งเดียว
แบ่งปันรหัสไคลเอ็นต์และข้อมูลลับกับผู้ใช้ n8n ที่จะสร้าง credentials ผู้ใช้ทั้งหมดใช้การเชื่อมต่อแอป OAuth เดียวกันซ้ำ แต่ผู้ใช้แต่ละคนจะสร้างและเชื่อมต่อข้อมูลประจำตัว n8n ของตนเองเพื่อทำงานด้วยข้อมูลประจำตัวของตนเอง
อ้างถึง เปิดหรือปิดใช้งานแอปพลิเคชัน OAuth ของพันธมิตร สำหรับข้อมูลเพิ่มเติม
เพิ่มขอบเขต Genie สำหรับเซิร์ฟเวอร์ Genie MCP (Add the genie scope for the Genie MCP server)
ที่ Databricks Genie MCP server ไทล์ร้องขอ genie และ offline_access ขอบเขต ในการทดสอบของ n8n การเชื่อมต่อแอปด้วย All APIs ตอบสนองคำขอโดยไม่มีความชัดเจน genie ขอบเขต ในบัญชีที่ไม่มี ผู้ใช้จะเห็นข้อผิดพลาดนี้เมื่อเลือก Connect my account บนกระเบื้อง:
access_denied: Scopes 'genie' are not assigned to the client <client-id>
เพื่อแก้ไข ผู้ดูแลระบบบัญชี Databricks จะเพิ่ม genie ขอบเขตการเชื่อมต่อแอป หากหน้าการเชื่อมต่อในคอนโซลบัญชีเสนอ genie ใน เพิ่มขอบเขต (Add scope) เครื่องมือเลือก เพิ่มไว้ที่นั่น มิฉะนั้นให้ใช้ Databricks CLI รับรองความถูกต้องกับบัญชี การอัปเดต CLI จะแทนที่รายการขอบเขตทั้งหมด ดังนั้นให้รวมทุกขอบเขตที่แอปต้องการด้วย การเชื่อมต่อแอปเดียวที่ให้บริการ node Databricks, node Databricks Chat Model และเซิร์ฟเวอร์ Genie MCP ต้องการทั้งสามอย่าง:
databricks account custom-app-integration update <integration-id> \
--json '{"scopes": ["all-apis", "genie", "offline_access"]}'
ค้นหา <integration-id> ด้วย databricks account custom-app-integration list หรือในหน้ารายละเอียดของการเชื่อมต่อในคอนโซลบัญชี อ้างถึง อัปเดตการรวมแอป OAuth ที่กำหนดเอง สำหรับการอ้างอิง API
หน้าจอยินยอมของ Databricks จะแสดงขอบเขตที่กำหนดให้กับการเชื่อมต่อแอป ไม่ใช่คำขอ n8n ที่ตั้งค่าให้แคบลง ผู้ใช้ที่เชื่อมต่อเซิร์ฟเวอร์ Genie MCP ผ่านไฟล์ All APIs แอพดู All APIs บนหน้าจอยินยอม แม้ว่า token ที่ n8n จะได้รับจะมีการกำหนดขอบเขตไว้ก็ตาม genie offline_access.
หากการเชื่อมต่อแอพให้บริการเฉพาะเซิร์ฟเวอร์ Genie MCP ให้ตั้งค่าขอบเขตเป็น ["genie", "offline_access"] แทน จากนั้นผู้ใช้จะเห็นและยินยอมให้มีการอนุญาตที่แคบลง ลูกค้ายังไม่สามารถเข้าถึง Databricks API อื่นๆ ได้
กำหนดค่าอายุการใช้งาน token (Configure token lifetimes)
นโยบายการเข้าถึง token ของการเชื่อมต่อแอปควบคุมระยะเวลาการเชื่อมต่อของผู้ใช้กับ n8n จะยังคงใช้งานได้:
- token การเข้าถึง TTL (Access token TTL) : token การเข้าถึงแต่ละรายการจะคงอยู่นานเท่าใด ค่าเริ่มต้นคือ 60 นาที n8n จะต่ออายุ token การเข้าถึงที่หมดอายุโดยอัตโนมัติโดยใช้ token การรีเฟรช เพื่อให้คุณสามารถคงค่าเริ่มต้นไว้ได้
- รีเฟรช token TTL (Refresh token TTL) : token การรีเฟรชจะอยู่ได้นานแค่ไหน ค่าเริ่มต้นคือ 10080 นาที (7 วัน) สูงสุด 129600 นาที (90 วัน) เมื่อ token การรีเฟรชหมดอายุ credentials จะหยุดทำงานจนกว่าผู้ใช้จะเปิดใน n8n และลงชื่อเข้าใช้อีกครั้ง
ผู้ดูแลบัญชี Databricks ยังสามารถตั้งค่าอายุการใช้งานเซสชันที่แน่นอนและ token การรีเฟรชแบบใช้ครั้งเดียวผ่านทาง API บัญชีหรือ CLI . อายุการใช้งานเซสชันที่แน่นอนจะสิ้นสุดเซสชันเมื่อถึงกำหนด แม้ว่า token การรีเฟรชจะยังคงใช้งานได้ก็ตาม
อายุการใช้งานสั้นทำให้ผู้ใช้ต้องเชื่อมต่อใหม่ (Short lifetimes force users to reconnect)
token การรีเฟรชที่สั้น TTL หรืออายุการใช้งานเซสชันสัมบูรณ์หมายความว่าผู้ใช้จะต้องเปิดข้อมูลประจำตัวอีกครั้งเป็นระยะๆ ใน n8n และลงชื่อเข้าใช้อีกครั้ง และ workflow ที่ใช้ credentials จะล้มเหลวในระหว่างนี้ สำหรับ credentials ที่เรียกใช้ workflow ตามกำหนดการ ให้ตั้งค่าอายุการใช้งานที่เพียงพอหรือใช้ บริการหลัก แทน
ตั้งค่าข้อมูลประจำตัวใน n8n (Set up the credential in n8n)
- ป้อน URL ของพื้นที่ทำงานของคุณเป็น Host.
- ชุด Grant Type ถึง Authorization Code (User).
- ป้อน Client ID และ Client Secret จากการเชื่อมต่อแอป OAuth ที่กำหนดเอง
- เลือก Connect my account และลงชื่อเข้าใช้ด้วยบัญชี Databricks ของคุณ
โดยค่าเริ่มต้น credentials จะร้องขอ all-apis และ offline_access ขอบเขต ที่ offline_access ขอบเขตทำให้การเชื่อมต่อคงอยู่นานเกินหนึ่งชั่วโมง ดังนั้นจึงรวมไว้เสมอ: หากคุณเปิดใช้งาน Custom Scopes และลบออกจากรายการ n8n จะเพิ่มกลับโดยอัตโนมัติ
การใช้ OAuth2 (บริการหลัก)
วิธีการนี้ใช้หลักการบริการ Databricks ที่มีโฟลว์ OAuth M2M (เครื่องต่อเครื่อง) เป็นแนวทางที่แนะนำสำหรับ workflow อัตโนมัติเนื่องจากไม่จำเป็นต้องมีการโต้ตอบจากผู้ใช้
ในการกำหนดค่า credentials นี้ คุณจะต้อง:
- A Host : URL ของพื้นที่ทำงาน Databricks ของคุณ (เช่น
https://adb-1234567890123456.7.azuredatabricks.net). - A Client ID : รหัสแอปพลิเคชันของบริการหลักของคุณ
- A Client Secret : ข้อมูลลับ OAuth ที่สร้างขึ้นสำหรับบริการหลัก
มีสองขั้นตอนในการตั้งค่า credentials นี้:
สร้างบริการหลักและข้อมูลลับ OAuth (Create a service principal and OAuth secret)
- ในคอนโซลบัญชี Databricks ให้เลือก การจัดการผู้ใช้ (User management).
- เลือก หลักการบริการ (Service principals) จากนั้นเลือก เพิ่มบริการหลัก (Add service principal).
- ป้อนชื่อสำหรับบริการหลักและเลือก Add.
- เปิดบริการหลักไปที่ Configuration แท็บ และให้สิทธิ์พื้นที่ทำงานที่ต้องการ
- ไปที่ Secrets แท็บแล้วเลือก สร้างความลับ (Generate secret).
- ตั้งค่าอายุการใช้งานของข้อมูลลับเป็นวัน (สูงสุด 730 วัน) จากนั้นเลือก Generate.
- คัดลอกที่แสดง Secret และ Client ID (เช่นเดียวกับรหัสแอปพลิเคชัน) ความลับจะปรากฏเพียงครั้งเดียว
การมอบหมายพื้นที่ทำงาน (Workspace assignment)
ต้องกำหนดบริการหลักให้กับพื้นที่ทำงานที่จะเข้าถึง ไปที่ Permissions และให้สิทธิ์การเข้าถึงแก่ผู้ใช้หรือกลุ่มที่จำเป็นเพื่อจัดการและใช้บริการหลัก
ข้อมูลลับ OAuth หมดอายุ (OAuth secrets expire)
ข้อมูลลับหลักของบริการมีอายุการใช้งานสูงสุด 730 วัน เมื่อข้อมูลลับหมดอายุ หนังสือรับรองจะหยุดทำงานและ workflow ที่ใช้ข้อมูลดังกล่าวจะล้มเหลว ติดตามวันหมดอายุ สร้างความลับใหม่ก่อนที่จะถึง และอัปเดต Client Secret ใน credentials n8n ของคุณ
อ้างถึง ให้สิทธิ์การเข้าถึงหลักของบริการไปยัง Databricks ด้วย OAuth สำหรับข้อมูลเพิ่มเติม
ตั้งค่า credentials OAuth2 (Set up the OAuth2 credential)
ใน credentials n8n ของคุณ:
- ชุด Authentication ถึง OAuth2 .
- ป้อน URL ของพื้นที่ทำงานของคุณเป็น Host.
- ชุด Grant Type ถึง Client Credentials (Service Principal) . นี่คือค่าเริ่มต้น
- ป้อน Client ID คุณคัดลอกมาจากบริการหลัก
- ป้อน Client Secret คุณสร้างขึ้น

