
ที่มาภาพ: Unknown Source
วิธีตั้งค่า Azure OpenAI Service เพื่อสร้างแชทบอทใน Microsoft Teams อย่างปลอดภัย
⚡ สรุป 30 วิ
การสร้างแชทบอทบน Microsoft Teams ด้วย Azure OpenAI Service ต้องผสานหลายส่วนเข้าด้วยกัน ทั้งการจัดสรรทรัพยากรใน Azure การตั้งค่า Bot registration และการกำหนดสิทธิ์ให้ปลอดภัย บทความนี้จะพาคุณผ่านขั้นตอน…
Overview (Overview)
การสร้างแชทบอทบน Microsoft Teams ด้วย Azure OpenAI Service ต้องผสานหลายส่วนเข้าด้วยกัน ทั้งการจัดสรรทรัพยากรใน Azure การตั้งค่า Bot registration และการกำหนดสิทธิ์ให้ปลอดภัย บทความนี้จะพาคุณผ่านขั้นตอนสำคัญแบบสแกนเร็ว เพียงไม่กี่นาทีคุณก็พร้อมใช้งานบอทที่ตอบสนองด้วยโมเดล AI ล่าสุด
ความต้องการเบื้องต้น (Prerequisites)
เพื่อเริ่มต้นได้อย่างราบรื่น ควรตรวจสอบว่ามีสิ่งต่อไปนี้ครบแล้ว
- บัญชี Azure ที่มีสิทธิ์ผู้ดูแล (Owner) หรือ Contributor
- Microsoft 365 tenant พร้อมการเข้าถึง Microsoft Teams admin center
- Azure subscription รองรับการเปิดใช้ Azure OpenAI Service (ต้องขออนุมัติจาก Microsoft ก่อน)
- Visual Studio Code หรือ IDE ที่รองรับ PowerShell/CLI สำหรับทดสอบ
**Tip: หากเป็นครั้งแรกที่ใช้งาน Azure OpenAI ให้สมัครทดลองฟรีและรอการยืนยันจากทีมขายก่อนทำขั้นตอนต่อไป
สร้าง Resource ของ Azure OpenAI Service (Create Azure OpenAI Service)
- **ขั้นตอนที่ 1: เปิด Azure Portal คลิก “Create a resource” ค้นหา “Azure OpenAI”.
- **ขั้นตอนที่ 2: กำหนดค่าเบื้องต้น
- Subscription, Resource Group (สร้างใหม่หรือใช้เดิม)
- Region ที่รองรับ (เช่น East US หรือ Southeast Asia)
- ชื่อ resource (ต้องไม่ซ้ำ)
- **ขั้นตอนที่ 3: ตรวจสอบ “Pricing tier” ให้เลือกแบบ Standard หรือ Enterprise ตามความต้องการใช้งาน
- **ขั้นตอนที่ 4: กด “Review + create” รอให้การปรับใช้เสร็จสิ้น
**Tip: เลือก Region ใกล้กับผู้ใช้ Teams เพื่อ ลด latency ของคำตอบ AI
ตั้งค่าการยืนยันตัวตนอย่างปลอดภัย (Secure Authentication)
| วิธี | ความปลอดภัย | การจัดการ | เหมาะสำหรับ |
|---|---|---|---|
| Managed Identity | สูง (ไม่มีคีย์) | Azure จะดูแล token ให้โดยอัตโนมัติ | แอปที่รันบน Azure (Function, App Service) |
| Service Principal + Secret | ปานกลาง (ต้องจัดการ secret) | ต้องสร้างและเก็บ secret อย่างปลอดภัย | แอปนอก Azure หรือ CI/CD pipelines |
- **ขั้นตอนที่ 1: เปิด “Managed Identity” บน Azure Function / Web App ที่จะเป็นตัวรับข้อความจาก Teams
- ขั้นตอนที่ 2: ให้ Managed Identity มีบทบาท Cognitive Services OpenAI Contributor** บน resource ของ Azure OpenAI (IAM Add role assignment)
- **ขั้นตอนที่ 3: หากใช้ Service Principal ให้สร้างใน Azure AD เพิ่ม secret กำหนดสิทธิ์ตามข้อ 2
ลงทะเบียน Bot ใน Microsoft Teams (Bot Registration)
- ไปที่ Microsoft Azure Portal “Azure Bot” “Create”
- ตั้งค่าเบื้องต้น
- Bot name, Azure subscription, Resource group (ใช้เดียวกับ OpenAI)
- เลือก “Messaging endpoint” ชั่วคราวเป็น `https://<your-app>.azurewebsites.net/api/messages`
- เปิด “Microsoft Teams” ในช่อง Channels บันทึกการเปลี่ยนแปลง
**Tip: อย่าลืมเปิด “Calling & Meeting” หากบอทต้องทำงานร่วมกับ meeting หรือ voice call
เชื่อมต่อ Bot กับ Azure OpenAI Service (Connect Bot to OpenAI)
- ในโฟลเดอร์โปรเจคของ Bot (เช่น Node.js, C#) ติดตั้ง SDK ของ @azure/openai**
- ตั้งค่า environment variables
```text OPENAI_ENDPOINT=https://<your-openai-resource>.openai.azure.com/ OPENAI_DEPLOYMENT_NAME=gpt-35-turbo # หรือโมเดลที่ต้องการ AZURE_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx AZURE_CLIENT_ID=<ManagedIdentityClientId> # หากใช้ Managed Identity ```
- ตัวอย่างโค้ดเรียก API
```csharp var credential = new DefaultAzureCredential(); var client = new OpenAIClient(new Uri(Environment.GetEnvironmentVariable("OPENAI_ENDPOINT")), credential); var response = await client.GetChatCompletionsAsync( deploymentOrModelName: Environment.GetEnvironmentVariable("OPENAI_DEPLOYMENT_NAME"), new ChatCompletionsOptions() { Messages = { new ChatMessage(ChatRole.System, "You are a helpful Teams assistant.") }, MaxTokens = 150 }); ```
- ส่งผลลัพธ์กลับไปยัง Teams ผ่าน Bot Framework
ตั้งค่าการควบคุมการเข้าถึง (Access Control) (Access Control)
- เปิด “Azure AD App Registration” ของ Bot เพิ่ม API permissions
- `Chat.ReadWrite` สำหรับ Teams chat
- `User.Read` เพื่อดึงข้อมูลผู้ใช้ (หากต้องการ personalize)
- ให้ admin consent ทุก permission เพื่อลดขั้นตอนขออนุญาตจากผู้ใช้แต่ละคน
**Tip: ใช้ “Application permissions” แทน “Delegated permissions” หากบอททำงานแบบ background โดยไม่ต้องอ้างอิง user context
ทดสอบและเผยแพร่ (Testing & Deployment)
- เริ่มต้นแอปบน Azure (App Service หรือ Function) ตรวจสอบว่า endpoint สามารถรับ POST จาก Bot Framework ได้
- เปิด Teams พิมพ์ `@<bot-name> hello` เพื่อตรวจสอบการตอบสนอง
- หากเจอข้อผิดพลาด ให้ตรวจสอบ Log ของ Application Insights ที่เชื่อมต่อกับ Azure OpenAI
เมื่อทดสอบผ่านแล้ว สามารถทำขั้นตอน Publish ผ่าน Azure DevOps หรือ GitHub Actions เพื่อ deploy อย่างต่อเนื่อง (CI/CD)
เคล็ดลับเพิ่มเติม (Tips)
- ใช้ Prompt Engineering ปรับคำสั่งให้โมเดลตอบอย่างแม่นยำ เช่น ระบุรูปแบบ JSON ที่ต้องการใน prompt > - ตั้งค่า Rate limiting บน Azure OpenAI เพื่อป้องกันการใช้เกินโควต้าโดยไม่ตั้งใจ > - เปิด Application Insights เพื่อติดตาม latency ของ AI response และปรับขนาด (scale) ตามความต้องการ
สรุป (Summary)
- ตั้งค่า Azure OpenAI Service, ให้ Managed Identity หรือ Service Principal มีสิทธิ์ที่จำเป็น
- ลงทะเบียน Bot ใน Azure เปิด Channel Teams
- เชื่อมต่อ Bot Framework กับ OpenAI SDK ผ่าน credential ที่ปลอดภัย
- กำหนด API permissions และทำการ consent เพื่อให้บอทเข้าถึง Teams อย่างเต็มรูปแบบ
- ทดสอบใน Teams, ปรับ Prompt ให้แม่นยำ แล้วเปิดใช้งานผ่าน CI/CD
**สิ่งที่ควรจำ: ความปลอดภัยเริ่มจากการใช้ Managed Identity แทนคีย์, การกำหนดบทบาทให้ตรงตามความต้องการ, และตรวจสอบ log อย่างสม่ำเสมอเพื่อป้องกันการโจมตีหรือการใช้งานเกินขอบเขต.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีตั้งค่า Azure OpenAI Service เพื่อสร้างแชทบอทใน Microsoft Teams อย่างปลอดภัย
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 24 กรกฎาคม 2569 เวลา 10:51



