مدیر خلاصه هوش مصنوعی با کنترل دسترسی مبتنی بر نقش

این یک ارسال برای مجوز است. چالش مجوز: کنترل دسترسی AI
آنچه من ساختم
من ساختم دستیار محتوای هوش مصنوعی، یک ابزار خلاصه محتوای AI است که با کنترل دسترسی ریز دانه با استفاده از permit.io تقویت شده است. این امکان را به کاربران می دهد تا با استفاده از AI (مسخره در این نسخه) محتوا را برای خلاصه ارسال کنند ، در حالی که فقط نقش های مجاز مانند Admins می توانند خلاصه های تولید شده را بررسی و منتشر کنند. هدف این است که نشان دهد چگونه می توان از مجوز خارجی برای تأمین گردش کار AI در یک برنامه در دنیای واقعی استفاده کرد.
مشکل حل می کند:
در بسیاری از محیط های سنگین محتوا-مانند شرکت های رسانه ای ، پایگاه های دانش یا سیستم عامل های آموزشی-می تواند روند خلاصه را ساده تر کند. با این وجود ، اغلب نیاز به اطمینان از اینكه فقط پرسنل تأیید شده می توانند خروجی تولید شده توسط AI را مرور یا منتشر كنند. این پروژه با ادغام مجوز.یو برای مدیریت کنترل دسترسی به صورت اعلامیه و ایمن ، اطمینان حاصل می کند که کاربران فقط اقداماتی را که برای آنها مجاز هستند انجام می دهند. این امر به جلوگیری از انتشار غیرمجاز محتوای هوش مصنوعی بدون بررسی در حالی که یک گردش کار یکپارچه بین کاربران و داوران را حفظ می کند ، کمک می کند.
نسخه آزمایشی
لینک نسخه ی نمایشی
repo پروژه
لینک repo
سفر من
فرآیند و چالش ها:
روند من با تشریح عملکرد اصلی دستیار محتوای هوش مصنوعی آغاز شد: به کاربران اجازه می دهد محتوای متن را برای جمع بندی با استفاده از هوش مصنوعی ارسال کنند و مجوز ریز دانه را از طریق Permit.io انجام دهند. هدف این بود که دو تجربه مجزا ایجاد شود – یکی برای کاربران محتوا و دیگری برای سرپرستان/داوران که تصویب را مدیریت می کنند.
مراحل کلیدی که دنبال کردم:
تنظیم پروژه
من یک جبهه مدرن را با Vite ، React ، TypeScript و
tailwindcss ، و از node.js با اکسپرس برای باطن استفاده می شود. ما انتخاب کردیم
برای استقرار پس زمینه و Vercel برای جبهه سریع و سریع ارائه دهید
میزبانی مقرون به صرفه.
مجوز.یو ادغام مجوز
با استفاده از SDK Permit.io ، ما نقش (کاربر ، سرپرست) و مجوزهای اجباری را از طریق مجوز اعلامیه ایجاد کردیم. به عنوان مثال ، کاربران فقط می توانند محتوا را خلاصه کنند ، در حالی که Admins تنها کسانی بودند که مجاز به بررسی یا انتشار بودند.
ادغام هوش مصنوعی و کاهش چالش
در ابتدا ، من قصد داشتم از API Openai برای خلاصه استفاده کنم ، اما به آن دویدم
محدودیت های سهمیه و نتوانست یک برنامه پرداخت شده را بپردازد. برای غلبه بر این ، من
پاسخ های AI را به روشی واقع بینانه مسخره کرد و به جریان هسته اجازه می دهد
برنامه برای دست نخورده و قابل آزمایش است.
ادغام مجوز ریز دانه با permit.io
مورد استفاده Permit.Check () برای اجرای چه کسی می تواند:
ارسال محتوا (کاربر)
بررسی و انتشار خلاصه ها (سرپرست)
رابط های کاربر و سرپرست
من ساختم:
داشبورد کاربر ** ** که در آن محتوا قابل ارسال است و بازخورد در هنگام ارسال دریافت می شود.
در داشبورد سرپرست جایی که خلاصه های در حال تعلیق با گزینه هایی برای تأیید یا رد ذکر شده است.
بازخورد UI و لهستانی UX
ما هشدارهایی را برای اطلاع رسانی به کاربران در هنگام موفقیت در ارسال ها یا هنگام وقوع خطاها انجام دادیم و قابلیت استفاده را بهبود بخشید.
مسیرهای مجوز آزمایش
بخش بزرگی از این چالش تأیید این بود که قوانین مجوز به درستی اجرا شد. ما هر نقطه پایانی API را با هر دو نقش آزمایش کردیم تا تأیید کنیم که اقدامات غیرمجاز همانطور که انتظار می رفت مسدود شده است.
🚧 چالش هایی که با آنها روبرو شدیم و چگونه آنها را حل کردیم
سهمیه API بیش از (Openai):
هنگامی که از سهمیه استفاده OpenAI ما فراتر رفت ، با پس زمینه 429 خطا برگشت. ما به جای متوقف کردن پیشرفت ، ما منطق خلاصه را برای شبیه سازی رفتار هوش مصنوعی و نگه داشتن پروژه در مسیر خود مسخره کردیم.
منطق کنترل دسترسی مبتنی بر نقش:
اطمینان از اینکه بررسی های مجوز به درستی به هر نقطه پایانی انجام شده است ، نیاز به هماهنگی نزدیک بین منطق جبهه و مجوز دارد. تعاریف خط مشی. اشکال زدایی با استفاده از سیاهههای مربوط به فعالیت Permit.io و استودیوی خط مشی آسانتر شد.
بازخورد Frontend در مورد ارسال:
در ابتدا ، کاربران هیچ تأییدی مبنی بر پردازش محتوای آنها نداشتند. ما این کار را با افزودن مودال هشدار و به روزرسانی های UI در زمان واقعی حل کردیم.
مجوز برای برنامه های AI با Premit.io
🔐 چگونه ما کنترل های مجوز را به طور خاص برای ابزارها یا ویژگی های مبتنی بر هوش مصنوعی ساختیم
در دستیار محتوای هوش مصنوعی، من از کنترل دسترسی ریز دانه با استفاده از Permit.io استفاده کردم تا اطمینان حاصل شود که ویژگی های دارای هوش مصنوعی مانند خلاصه محتوا و انتشار فقط توسط نقش های مجاز قابل دسترسی است. در اینجا نحوه ساخت و اجرای مجوز آورده شده است:
🧩 طراحی نقش ها و مجوزها
I defined two roles within the Permit.io Policy Editor:
**User:**
Has permission to summarize content using the AI feature.
Cannot view, approve, or publish summaries.
**Admin:**
Can access the /review and /review/:id endpoints.
Has permissions to review, approve, or reject AI-generated
summaries.
Can view published content.
🧠 محافظت از ویژگی های AI با ** مجوز. چک ()**
At every backend route related to AI operations, we wrapped access
in _permit.check()_ calls. For example:
```
const allowed = await permit.check(user, "summarize",
"content");
if (!allowed) return res.status(403).json({ error: "Not
authorized to summarize content" });
```
این تضمین می کند که حتی اگر کاربر سعی کند به یک مسیر محافظت شده به صورت دستی دسترسی پیدا کند (به عنوان مثال ، از طریق Postman یا Dev Tools) ، آنها رد می شوند مگر اینکه نقش آنها صریحاً اجازه آن را بدهد.
من از همین الگوی برای:
_/ai/خلاصه _ → برای محافظت از نقطه پایانی خلاصه AI.
/بررسی و /بررسی /: شناسه → برای اطمینان از اینکه فقط سرپرستان می توانند محتوا را مرور و مدیریت کنند.
_/منتشر شده _ → برای محدود کردن دسترسی به خلاصه های مصوب فقط به نقش های مجاز
🔍 چرا مجوز خارجی بسیار مهم بود
به جای اینکه قوانین دسترسی سخت به منطق برنامه ، اجازه دهید. اعلامیه مجوزها را مدیریت کنیدبشر این چندین مزیت به ما داد:
ما به راحتی می توانستیم نقش ها را به روز کنید یا تست کنید بدون تغییر کد پس زمینه.
منطق مجوز بود سازگار و شفاف در سراسر برنامه
این به نشان دادن در دنیای واقعی کمک کرد ، استفاده ایمن از ابزارهای AI، که به ویژه برای ابزارهایی که می توانند بر محتوای یا تصمیمات منتشر شده تأثیر بگذارند بسیار مهم است.
✅ خلاصه
با استفاده از مجوز. برای مجوز به ما اجازه می دهد:
مسیرهای ما را بدون نوشتن میان افزار سفارشی پیچیده ایمن کنید.
دسترسی کمترین قدرت را اجرا کنید.
با اضافه کردن نقش یا ویژگی های بیشتر ، سیستم اجازه را به راحتی مقیاس می کنیم.