راهاندازی Microsoft 365 برای محیط شما
دو روش برای اتصال Microsoft 365 به محیط AI-School شما وجود دارد. ابتدا مشخص کنید کدام مسیر برای سازمان شما مناسب است.
| مسیر | چه زمانی | کاری که انجام میدهید |
|---|---|---|
| برنامه مرکزی AI-School (پیشفرض) | اتصالهای شخصی با Outlook Mail، Outlook Calendar، Teams و SharePoint/OneDrive. | یک مدیر Entra مجوز سازمانی را از طریق اتصال Microsoft 365 میدهد. سپس یکپارچهسازیها را همانطور که در مرحله ۵ این مقاله آمده، فعال میکنید. نیازی به برنامه اختصاصی، client secret یا Identity Provider نیست. |
| برنامه Entra اختصاصی | میخواهید پوشههای SharePoint را بهصورت مرکزی در پایگاه دانش وارد کنید، کارکنان از قبل با Microsoft از طریق یک برنامه اختصاصی وارد میشوند، یا میخواهید خودتان برنامه را مدیریت کنید. | این مقاله را از مرحله ۱ دنبال کنید. |
اگر سازمان شما از قبل با Microsoft از طریق یک برنامه اختصاصی وارد میشود (فیلد Microsoft ID در محیط پر شده است)، همه اتصالها از همان برنامه اختصاصی استفاده میکنند. در این صورت مسیر مرکزی اعمال نمیشود.
برنامه Entra اختصاصی
با یک برنامه اختصاصی Microsoft Entra، سازمان شما میتواند از یک برنامه واحد برای ورود با Microsoft و برای Outlook، Teams و SharePoint استفاده کند. شما بهصورت مرکزی تعیین میکنید کدام یکپارچهسازیها و عملیات نوشتن در دسترس باشند. سپس کاربران فقط اتصالهای شخصی خود را در Preferences → Tools → Connections روشن یا خاموش میکنند.
یکپارچهسازیهای شخصی با مدلهای پشتیبانیشده OpenAI، Claude، Gemini و Mistral کار میکنند. مدل انتخابشده باید بتواند از tools استفاده کند. در اتصالهای شخصی، دسترسی مطابق با مجوزهای کاربرِ واردشده در Microsoft دنبال میشود. مجوز سازمانی همه کارکنان را بهطور خودکار وارد نمیکند و به AI دسترسی مستقل به همه mailboxها نمیدهد. پایگاه دانش SharePoint مرکزی از مجوزهای جداگانه برنامه و مجوزهای موجود پایگاه دانش استفاده میکند، همانطور که در ادامه این مقاله توضیح داده شده است.
چه چیزهایی لازم دارید؟
- یک سازمان Microsoft 365 با Microsoft Entra ID و حسابهایی که به خدمات موردنظر دسترسی دارند.
- مدیری که مجاز باشد یک برنامه ثبت کند و مجوز سازمانی برای مجوزهای انتخابشده Microsoft Graph را اعطا کند. فقط یک نقش Azure Subscription برای این کار کافی نیست؛ نقش Entra شما باید این مجوز را اجازه دهد.
- دسترسی مدیریتی در محیط AI مناسب برای فعالکردن یکپارچهسازیها.
- یک مدیر پلتفرم که بتواند Microsoft Identity Provider را برای این محیط AI در Google Cloud Identity Platform تنظیم کند.
- یک app registration در دایرکتوری Microsoft خودتان، با client secret و دو URL تغییرمسیرِ برند مربوطه.
ورود با Microsoft و دسترسی به دادههای Microsoft دو قابلیت جداگانه هستند. فقط داشتن یک ورود Microsoft که کار میکند به این معنا نیست که Outlook، Teams یا SharePoint هم تنظیم شدهاند.
۱. یک برنامه سازمانی ثبت کنید
مرکز مدیریت Microsoft Entra را باز کنید و به App registrations → New registration بروید. یک نام قابلتشخیص انتخاب کنید، مثلاً AI-School – نام سازمان شما. برای یک سازمان اختصاصی، Accounts in this organizational directory only (Single tenant) را انتخاب کنید.
این اطلاعات را از Overview ذخیره کنید:
| داده | برای چه چیزی؟ |
|---|---|
| Directory (tenant) ID | دایرکتوری Microsoft سازمان شما؛ این مقدار در فیلد Microsoft ID محیط AI قرار میگیرد. |
| Application (client) ID | برنامه ثبتشده؛ این مقدار در Microsoft Identity Provider قرار میگیرد. |
این دو ID متفاوت هستند. در Microsoft ID، client ID یا Firebase-tenant-ID را وارد نکنید.
۲. URLهای تغییرمسیر درست را تنظیم کنید
به Authentication → Add a platform → Web بروید. برای برند خودتان هر دو URL زیر را دقیقاً همانطور که نمایش داده شده اضافه کنید. اولی ورود را پردازش میکند؛ دومی رضایت برای یکپارچهسازیهای حساب کاری را پردازش میکند.
| برند | ورود با Microsoft | یکپارچهسازیهای حساب کاری |
|---|---|---|
| AI-School | https://ai-school-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-school-pro.cloudfunctions.net/completeConnectorOAuth |
| AI-Corporate | https://ai-corporate.firebaseapp.com/__/auth/handler | https://europe-west1-ai-corporate.cloudfunctions.net/completeConnectorOAuth |
| AI-Public | https://ai-public-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-public-pro.cloudfunctions.net/completeConnectorOAuth |
از URLهای برندی استفاده کنید که محیط شما روی آن اجرا میشود. نام سازمان یا tenant-ID خودتان لازم نیست در این URLها وارد شود. URL وبسایت، URL داشبورد و URL .web.app جایگزین این callbackها نمیشوند. آنها را بهصورت Web ثبت کنید، حتی اگر یکپارچهسازی را از داخل مرورگر استفاده میکنید. برای این کار لازم نیست implicit token issuance یا public-client-flow را فعال کنید.
۳. یک client secret بسازید و مجوزها را اختصاص دهید
به Certificates & secrets → Client secrets → New client secret بروید. یک مدتزمان مناسب انتخاب کنید و Value را بهمحض نمایش، بهطور امن ذخیره کنید. مقدار را از طریق کانال امن توافقشده برای مدیریت پلتفرم تحویل دهید؛ Secret ID همان client secret نیست. تاریخ انقضا را پیگیری کنید و secret را پیش از آن تاریخ، از جمله در Identity Provider، جایگزین کنید.
سپس به API permissions → Add a permission → Microsoft Graph → Delegated permissions بروید. فقط مجوزهایی را اضافه کنید که برای یکپارچهسازیها و اقداماتی که سازمان شما ارائه خواهد داد لازم هستند.
| یکپارچهسازی | مجوزهای خواندن | مجوزهای اضافی برای نوشتن |
|---|---|---|
| پروفایل / پایه | User.Read; فرایند ورود همچنین openid, profile, email و offline_access را درخواست میکند | ندارد |
| Outlook Mail | Mail.Read | پیشنویسها: Mail.ReadWrite. ارسال: Mail.Send. |
| Outlook Calendar | Calendars.Read | نوشتن: Calendars.ReadWrite. |
| Microsoft Teams | Chat.Read, ChannelMessage.Read.All | ارسال پست: Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send. |
| SharePoint / OneDrive | Sites.Read.All, Files.Read.All | این یکپارچهسازی حساب کاری در اینجا عملیات نوشتن ارائه نمیدهد. |
Mail.ReadWrite حق ارسال نمیدهد؛ برای آن بهطور جداگانه Mail.Send لازم است. ارسال در Teams فقط پیامهای متنی را در یک کانال انتخابی مینویسد، نه پیامهای چت خصوصی. برای این یکپارچهسازی از Delegated permissions استفاده کنید، نه Application permissions. حتی برای مجوزهایی که در نامشان All دارند، دسترسی delegated همچنان به دسترسی کاربر محدود میماند.
روی Grant admin consent for your organization کلیک کنید و بررسی کنید که مجوزهای انتخابشده بهعنوان granted نمایش داده شوند. به این ترتیب، کارکنان میتوانند از دسترسی تأییدشده بدون نیاز به اعطای مجوز سازمانی توسط خودشان استفاده کنند. بسته به سیاست شما، Microsoft ممکن است همچنان درخواست ورود، MFA یا رضایت دوباره کند.
۴. برنامه را در دو مکان به محیط AI متصل کنید
از مدیر پلتفرم بخواهید محیط درست را انتخاب کرده و این تنظیمات را انجام دهد:
- در Admin → Environment → Tenant: روش ورود Microsoft را فعال کنید و Directory (tenant) ID را در فیلد Microsoft ID وارد کنید.
- در Google Cloud → Identity Platform → tenant مربوطه → Identity providers → Microsoft: provider را فعال کنید و Application (client) ID و client secret Value همان برنامه Entra را وارد کنید.
Identity Provider به tenant مربوط به Firebase/Identity Platform محیط AI شما تعلق دارد، نه به سازمانی دیگر یا محیط عمومی Admin. یکپارچهسازی حساب کاری دوباره از برنامه همین provider استفاده میکند. client secret نباید در تنظیمات کاربر، پیامهای چت یا فیلدهای معمولی محیط قرار بگیرد.
نام سازمان، برند، Directory ID، client ID، مقدار secret، تاریخ انقضا و یکپارچهسازیها/مجوزهای موردنظر را از طریق کانال امن به مدیریت پلتفرم بدهید. فقط داشتن app ID کافی نیست.
۵. یکپارچهسازیها و عملیات نوشتن را فعال کنید
محیط مدیریتی سازمان خود را باز کنید → Tools → MCP. در Suite shortcuts یکپارچهسازی Microsoft 365 را روشن کنید. ردیفهای Microsoft نمایان میشوند؛ وقتی کل suite خاموش باشد، آن ردیفها پنهان میمانند.
برای هر یکپارچهسازی مشخص کنید که در دسترس باشد یا نه. در ستون Write actions جداگانه انتخاب کنید:
- Outlook Mail → Drafts: ایجاد و ویرایش پیشنویسها.
- Outlook Mail → Send: ارسال واقعی یک پیشنویس موجود.
- Outlook Calendar → Write: ایجاد و ویرایش قرارها.
- Microsoft Teams → Post: قرار دادن پیامهای متنی در یک کانال Teams انتخابی.
روی Save کلیک کنید. یک عملیات نوشتن فقط زمانی کار میکند که هم یکپارچهسازی و هم مجوز مدیریتی مربوطه روشن باشند، Microsoft مجوزهای لازم را اعطا کرده باشد و کاربر اتصال را بهصورت شخصی فعال کرده باشد. برای این کار، کاربر فرم مجوز نوشتن اضافی دریافت نمیکند.
تنظیمات باید توسط backend برند شما نیز پشتیبانی شوند. این افزونه نوشتن در ۷ اکتبر ۲۰۲۶ بهصورت هدفمند برای OnderwijsSupport روی AI-Corporate منتشر و آزمایش شده است. این بهطور خودکار به این معنا نیست که همان افزونه از قبل برای AI-School، AI-Public یا هر محیط دیگری هم آزاد شده باشد. در صورت نبود عملیات نوشتن، از مدیریت پلتفرم تأیید بخواهید.
۶. پیکربندی را بررسی کنید
از یک کاربر بخواهید روی محیط درست AI وارد شود و یکپارچهسازی موردنظر را طبق استفاده از یکپارچهسازیهای Microsoft فعال کند. بررسی کنید که Microsoft نام برنامه Entra اختصاصی شما را نمایش میدهد.
ابتدا یک پیشنویس قابلتشخیص و یک قرار بدون شرکتکننده را آزمایش کنید. آیتمهای ذخیرهشده را در Outlook بررسی کنید. سپس ارسال را با یک گیرنده آزمایشی توافقشده و Teams posting را در یک کانال آزمایشی توافقشده تست کنید. یک قرار با شرکتکنندگان میتواند دعوتنامه یا بهروزرسانی ارسال کند. یک دستور ارسالِ پذیرفتهشده هنوز به معنای تحویل تأییدشده نیست.
هنگام گسترش مجوزها، اتصال تلاش میکند توکنها را تازهسازی کند. اگر Microsoft دوباره ورود یا رضایت بخواهد، از کاربر بخواهید اتصال موجود را دوباره متصل کند. نیازی به ساخت برنامه دوم یا تنظیم کاربر جداگانه نیست.
عیبیابی
| مشکل | بررسی |
|---|---|
AADSTS50011 / عدم تطابق redirect | هر دو callback دقیقاً بهصورت Web و برای برند درست ثبت شده باشند. |
| هنگام رضایت، نام برنامه دیگری نمایش داده میشود | محیط درست AI، Directory ID و Microsoft Identity Provider مخصوص tenant را بررسی کنید؛ سپس دوباره متصل شوید. |
| ورود کار میکند، اما یکپارچهسازی نه | callback مربوط به connector، مجوزهای Graph و مجوز سازمانی را هم بررسی کنید. |
| خواندن ممکن است، نوشتن نه | مجوز مدیریتی، مجوز delegated مربوطه Graph، مجوز اعطاشده و در دسترس بودن backend را بررسی کنید. |
| client secret نامعتبر یا منقضی شده | Value را بررسی کنید، نه Secret ID؛ secret جدید را در Identity Provider هم بهروزرسانی کنید. |
| یکپارچهسازی برای کاربر دیده نمیشود | دسترسپذیری در Tools، مجوزهای کاربر برای اتصالها و محیط AI انتخابشده را بررسی کنید. |
اطلاعات بیشتر
- مدیریت Tools
- استفاده از یکپارچهسازیهای Microsoft
- Microsoft: ثبت یک برنامه
- Microsoft: URLهای تغییرمسیر
- Microsoft Graph: نمای کلی مجوزها
پایگاه دانش مرکزی SharePoint: تنظیم Microsoft
یک پوشه متصلشده بهصورت مرکزی از طریق برنامه سازمانی کار میکند، بدون اینکه هر کارمند یک اتصال شخصی SharePoint را فعال کند. برای این کار دو رضایت جداگانه لازم است: حق برنامهای Sites.Selected با admin consent، و یک grant از نوع read روی سایت SharePoint انتخابشده. فقط داشتن ورود Microsoft یا فقط admin consent کافی نیست.
۱. برنامه سازمانی را بررسی کنید
از همان single-tenant app registration که برای ورود با Microsoft در محیط AI خود استفاده میکنید، بهره ببرید. یک برنامه موجود را میتوان گسترش داد؛ نیازی به برنامه یکپارچهسازی دوم نیست. در Microsoft Entra → App registrations → برنامه شما → Overview، Directory (tenant) ID و Application (client) ID را بررسی کنید. در ادامه از client ID استفاده کنید، نه Object ID.
Directory ID باید در Admin → Environment → Tenant → Microsoft ID قرار داشته باشد. client ID و Value یک client secret معتبر باید در Microsoft Identity Provider دقیقاً همان محیط AI قرار بگیرند. این پیکربندی توسط مدیریت پلتفرم نگهداری میشود. secret منقضیشده همچنین واردات مرکزی را متوقف میکند؛ تاریخ انقضا را پیگیری کنید.
اتصال سرور مرکزی از client_credentials استفاده میکند و به URL تغییرمسیر اضافی نیاز ندارد. redirectهای Web موجود برای ورود و یکپارچهسازیهای شخصی حساب کاری همچنان لازم هستند؛ از URLهای مخصوص برند موجود در جدول بالاتر در این مقاله استفاده کنید.
۲. مجوز برنامهای را اضافه کنید و admin consent بدهید
- API permissions → Add a permission → Microsoft Graph → Application permissions را باز کنید.
- Sites.Selected را پیدا کنید، این مجوز را انتخاب کنید و روی Add permissions کلیک کنید.
- از یک مدیر مجاز Entra بخواهید Grant admin consent for your organization را انجام دهد.
- بررسی کنید که Sites.Selected با نوع Application بهعنوان granted نمایش داده شود.
مجوزهای delegated برای اتصالهای شخصی Outlook، Teams و SharePoint میتوانند روی همان برنامه باقی بمانند. آنها جایگزین مجوز برنامهای برای پایگاه دانش مرکزی نمیشوند. برای این واردات مرکزی، مجوزهای برنامهای Sites.Read.All، Sites.ReadWrite.All یا Sites.FullControl.All لازم نیست.
۳. دسترسی خواندن جداگانه برای سایت به برنامه بدهید
این عملیات مدیریتی را میتوان با Microsoft Graph Explorer انجام داد. از یک حساب مدیریتی در همان دایرکتوری Microsoft استفاده کنید، با نقش SharePoint Administrator یا نقش مدیریتی مناسب بالاتر و دسترسی به سایت مربوطه. یک نقش Azure Subscription یا فقط مالک بودن برنامه برای این کار کافی نیست.
- حساب مدیریتی را در Graph Explorer وارد کنید و سازمان نمایشدادهشده را بررسی کنید.
- profile menu → Consent to permissions را باز کنید، Sites.FullControl.All را پیدا کنید و Consent را انتخاب کنید تا مجوز لازم برای Graph Explorer در این زمینه مدیریتی اعطا شود. در برخی queryها میتوانید پنل کامل مجوزها را نیز از طریق Modify Permissions → Open the permissions panel باز کنید. این یک مجوز مدیریتی delegated برای مدیریت site grantها است؛ آن را بهصورت مجوز برنامهای گسترده روی برنامه پایگاه دانش اضافه نکنید. وقتی مجوز سازمانی برای همه کاربران لازم نیست، از رضایت وابسته به حساب استفاده کنید.
- شناسه سایت را با GET زیر پیدا کنید. هاست نمونه و مسیر سایت را با موارد مربوط به پوشه خودتان جایگزین کنید. اگر URL شامل
/teams/است، از همان مسیر بهجای/sites/استفاده کنید.
GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl
مقدار id در پاسخ، شناسه کامل سایت است، شامل نام میزبان و دو GUID. همچنین displayName و webUrl را بررسی کنید: grant باید روی سایتی قرار بگیرد که پوشه شما واقعاً در آن است.
- ابتدا grantهای موجود را با GET در آدرس زیر بررسی کنید. اگر client ID شما از قبل با نقش
readآنجا وجود دارد، نیازی به ایجاد grant دوم نیست. هر grant گستردهتر یا متفاوت موجود را به بررسی مدیر Microsoft خود بسپارید.
GET https://graph.microsoft.com/v1.0/sites/SITE-ID/permissions
- اگر grant وجود ندارد، POST را انتخاب کنید، همان آدرس را استفاده کنید و در Request Body JSON زیر را وارد کنید. دو مقدار نمونه را جایگزین کنید؛
CLIENT-ID-VAN-UW-APPهمان Application (client) ID برنامه یکپارچهسازی شماست، نه برنامه Graph Explorer.
{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}
- Run query را انتخاب کنید. افزودن موفق 201 Created برمیگرداند. در پاسخ، نقش
readو client ID را بررسی کنید؛ Graph ممکن است این را تحتgrantedToIdentitiesV2نشان دهد. سپس دوباره با GET بررسی کنید. شناسه permission را برای مدیریت و هرگونه لغو بعدی نگه دارید. - این کار را فقط برای هر سایت دیگری تکرار کنید که عمداً میخواهید پوشههای پایگاه دانش را به آن متصل کنید.
مجوز Microsoft به برنامه دسترسی خواندن به کل سایت انتخابشده میدهد. محیط AI فقط پوشه انتخابشده و زیرپوشهها را وارد میکند. ترجیحاً برای دانشی که باید بهصورت مرکزی به اشتراک گذاشته شود از یک سایت جداگانه استفاده کنید. مجوزهای موجود پایگاه دانش تعیین میکنند کدام کاربران اسناد واردشده را دریافت میکنند؛ مجوزهای فردی SharePoint منتقل نمیشوند.
۴. پوشه را متصل کنید و نتیجه را بررسی کنید
مدیریت → پایگاه دانش → افزودن → پوشههای SharePoint → اتصال پوشه را باز کنید و از URL واقعی پوشه استفاده کنید، نه لینک دعوت یا آدرس نمای کلی OneDrive. محدوده، مخاطب و وضعیت انتشار را مطابق راهنمای پایگاه دانش انتخاب کنید. یک منبع مرکزی نیازی به connector شخصی در تنظیمات کاربر ندارد.
با Refresh بررسی کنید که اسناد بدون خطا پردازش شدهاند. برای بررسی دوباره از Synchronize now استفاده کنید و سپس یک پرسش چت مشخص درباره یک سند واردشده مطرح کنید. بررسی کنید که پاسخ، منبع دانش مرکزی درست را ذکر میکند.
| مشکل | بررسی در سمت Microsoft |
|---|---|
| ورود کار میکند، اما پوشه مرکزی نه | Sites.Selected باید از نوع Application باشد و admin consent داشته باشد؛ همچنین grant جداگانه سایت را بررسی کنید. |
403 Forbidden هنگام دسترسی به پوشه | دایرکتوری Microsoft درست، شناسه سایت، client ID و read-grant؛ فقط admin consent دسترسی به سایت را نمیدهد. |
403 هنگام عملیات مدیریتی در Graph Explorer | Delegated Sites.FullControl.All، رضایت اعطاشده، نقش مدیریتی و دسترسی به سایت مقصد را بررسی کنید. بهعنوان راهحل، مجوز گسترده به برنامه یکپارچهسازی اضافه نکنید. |
| سایت کار میکند، پوشه پیدا نمیشود | URL واقعی پوشه، کتابخانه اسناد و مسیر سایت را بررسی کنید؛ یک shortcut OneDrive ممکن است به سایت دیگری اشاره کند. |
| secret منقضی یا نامعتبر است | از مدیریت پلتفرم بخواهید مقدار جدید secret Value را در Microsoft Identity Provider درست بهروزرسانی کند. |
برای OnderwijsSupport روی AI-Corporate، این اتصال مرکزی در ۱۴ اکتبر ۲۰۲۶ منتشر و آزمایش شده است. در دسترس بودن در AI-School، AI-Public یا هر محیط دیگر باید توسط مدیریت پلتفرم تأیید شود.
مستندات Microsoft: Selected permissions، افزودن sitegrant و بررسی sitegrantها.