การเอกสารสำหรับใบรับรอง Snowflake ใช้ใบรับรองเหล่านี้เพื่อรับรอง Snowflake ใน n8n ซึ่งเป็นแพลตฟอร์มอัตโนมัติการทำงาน
คุณสามารถใช้ credentials เหล่านี้เพื่อตรวจสอบสิทธิ์ node ต่อไปนี้:
ข้อกำหนดเบื้องต้น
สร้างก เกล็ดหิมะ บัญชี
วิธีการรับรองความถูกต้องที่รองรับ
ทรัพยากรที่เกี่ยวข้อง
อ้างถึง Snowflake API รายละเอียด และ คำอธิบาย SQL Command สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการ
พื้นที่การกำหนดค่าทั่วไป
วิธีการการรับรองทั้งสองต้องใช้พื้นที่ต่อไปนี้:
- อ Account ชื่อ: ชื่อบัญชีของคุณคือเส้นตัวอักษรที่ตั้งอยู่ระหว่าง
https://และsnowflakecomputing.comใน URL ของ Snowflake ของคุณ ตัวอย่างเช่นถ้า URL ของบัญชี Snowflake ของคุณเป็นhttps://abc.eu-central-1.snowflakecomputing.comจากนั้นชื่อบัญชีของคุณคือabc.eu-central-1. - A Database : ป้อนชื่อของ ฐานข้อมูล การรับรองควรเชื่อมต่อกับ
- A Warehouse : ใส่ชื่อของตัวกำหนดค่าเสมือน เคล็ดลับ ใช้สำหรับเซสชั่นหลังจากเชื่อมต่อ n8n ใช้สต็อกนี้สำหรับการดำเนินการสอบถามข้อมูลโหลดและอื่น ๆ
- A Schema : ป้อน แผนที่ คุณต้องการใช้หลังจากเชื่อมต่อ
- A Role : เข้าสู่ระบบรักษาความปลอดภัย บทบาท คุณต้องการใช้หลังจากเชื่อมต่อ
- Client Session Keep Alive : โดยเริ่มต้นการเชื่อมต่อลูกค้ามักจะหมดอายุสามหรือสี่ชั่วโมงหลังจากการดำเนินการการสอบถามล่าสุด การตั้งค่านี้จะตั้งค่าการสอบถาม
clientSessionKeepAliveparameter to true: เซิร์ฟเวอร์จะรักษาการเชื่อมต่อของลูกค้าอยู่ตลอดเวลาแม้ว่าการเชื่อมต่อไม่ดำเนินการคำถามใด ๆ
อ้างถึง การประชุมคำสั่ง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าเหล่านี้
การรับรองรหัสผ่าน
นอกเหนือจาก พื้นที่การกำหนดค่าทั่วไป , การรับรองรหัสผ่านต้อง:
- A Username
- A Password
การรับรอง Key-Pair
การรับรองคู่หลักให้ความปลอดภัยที่เพิ่มขึ้นเป็นทางเลือกสำหรับการรับรองด้วยรหัสผ่าน วิธีนี้ใช้คู่หลักสาธารณะและส่วนตัวสำหรับการรับรอง
นอกเหนือจาก พื้นที่การกำหนดค่าทั่วไป , การรับรอง Key-pair ต้องการ:
- A Username : ผู้ใช้ Snowflake ที่มีกุญแจสาธารณะที่กำหนดไว้
- A Private Key : หลักส่วนตัวในรูปแบบ PEM (PKCS#8) นี่ควรจะเป็นเนื้อหาเต็มของไฟล์หลักส่วนตัวของคุณรวมถึง
-----BEGIN ENCRYPTED PRIVATE KEY-----และ-----END ENCRYPTED PRIVATE KEY-----ผู้จัดจำหน่าย (หรือ-----BEGIN PRIVATE KEY-----และ-----END PRIVATE KEY-----สำหรับคีย์ที่ไม่ได้เข้ารหัส) - A Passphrase (ตัวเลือก): หากคีย์ส่วนตัวของคุณถูกเข้ารหัสให้เข้าสู่รหัสผ่านที่ใช้ในการเข้ารหัสคีย์ส่วนตัว หากคุณใช้คีย์ส่วนตัวที่ไม่ได้เข้ารหัส
อ้างถึง Snowflake Key-pair การรับรองเอกสาร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและกำหนดค่าคู่หลัก
ใช้ OAuth2 การรับรอง
การรับรอง OAuth2 ใช้ตัวรับรองที่แยกต่างหาก Snowflake OAuth2 API การรับรองและต้องการการรวมการรักษาความปลอดภัย OAuth ที่ติดตั้งใน Snowflake ก่อน
การใช้ ACCOUNTADMIN บทบาทหรือบทบาทที่มี CREATE INTEGRATION อนุญาตให้ดำเนินการต่อไปนี้ใน Snowflake:
CREATE SECURITY INTEGRATION n8n_oauth_integration
TYPE = OAUTH
ENABLED = TRUE
OAUTH_CLIENT = CUSTOM
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
OAUTH_REDIRECT_URI = '<your-redirect-url>'
OAUTH_ALLOW_NON_TLS_REDIRECT_URI = TRUE
OAUTH_ISSUE_REFRESH_TOKENS = TRUE
OAUTH_REFRESH_TOKEN_VALIDITY = 7776000
OAUTH_USE_SECONDARY_ROLES = IMPLICIT
OAUTH_ENFORCE_PKCE = TRUE;
แทนที่ <your-redirect-url> กับ OAuth Redirect URL แสดงไว้บน n8n การรับรอง หากคุณเชื่อมต่อผ่าน HTTPS คุณสามารถลบ OAUTH_ALLOW_NON_TLS_REDIRECT_URI สาย
จากนั้นรับ ID ของลูกค้าและความลับ:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('N8N_OAUTH_INTEGRATION');
เกี่ยวกับ Snowflake OAuth สำหรับลูกค้าที่กำหนดเอง เอกสารประกอบสำหรับข้อมูลเพิ่มเติม
นอกเหนือจากฟิลด์การกำหนดค่าทั่วไปยกเว้น Role , การรับรอง OAuth2 ต้องการ:
- A Client ID และ Client Secret : จากการรวมการรักษาความปลอดภัยที่คุณสร้างขึ้นข้างต้น
เพื่อค้นหาค่าบัญชี, Warehouse และ Schema ของคุณได้อย่างรวดเร็ว เลือกชื่อผู้ใช้ของคุณใน Snowflake ไปยัง Account จากนั้นเลือก View Account Details สำหรับบัญชีที่คุณต้องการใช้ เลือก Config File และเลือกของคุณ Warehouse และ Schema เพื่อดูรายละเอียดการเชื่อมต่อที่คุณต้องการ
เลือก Connect my account ใน n8n เพื่อเริ่มต้นการไหลของ OAuth2 n8n แนะนำคุณไปยัง Snowflake เพื่อลงชื่อเข้าสู่ระบบและอนุญาตแอปแล้ว แนะนำกลับด้วย token
การรับรอง OAuth2 ไม่มีการแยก Role แทนที่ n8n ต้องการบทบาทเป็นส่วนหนึ่งของช่วง OAuth refresh_token session:role:SYSADMIN ดังนั้นผู้ใช้ Snowflake จะต้องมี SYSADMIN บทบาทที่ได้รับ หากผู้ใช้มีบทบาทที่แตกต่างกันหรือคุณต้องการบทบาทเพิ่มเติมเปิด Custom Scopes ก่อนที่จะเชื่อมต่อและแก้ไข Enabled Scopes , แทนที่ session:role:SYSADMIN ด้วย session:role:<your-role> สำหรับบทบาทที่ได้รับให้แก่ผู้ใช้ โปรดจำไว้ว่าการลบข้อบกพร่องแบบกำหนดเองอาจทำให้คุ่มหยุดทำงานอย่างถูกต้อง

