برخی از API های Google (آنهایی که محدوده های حساس یا محدود را می پذیرند) برای برنامه هایی که به دنبال مجوز برای دسترسی به داده های مصرف کننده هستند، الزاماتی دارند. این الزامات اضافی برای محدودههای محدود، یک برنامه را ملزم میکند تا نشان دهد که یک نوع برنامه مجاز است و به بررسیهای اضافی، که شامل ارزیابی امنیتی احتمالی است، ارائه شود.
کاربرد دامنه های محدود در یک API بیشتر به میزان دسترسی مورد نیاز برای ارائه یک ویژگی مرتبط در برنامه شما بستگی دارد: فقط خواندنی، فقط نوشتنی، خواندن و نوشتن و غیره.
وقتی از OAuth 2.0 برای دریافت مجوز از یک حساب Google برای دسترسی به این داده ها استفاده می کنید، از رشته هایی به نام scope استفاده می کنید تا نوع داده ای را که می خواهید به آن دسترسی داشته باشید و میزان دسترسی مورد نیاز خود را مشخص کنید. اگر برنامه شما دامنههای حساس یا محدود را درخواست میکند، باید فرآیند تأیید را تکمیل کنید، مگر اینکه استفاده از برنامه شما واجد شرایط استثنا باشد .
تعداد محدوده های محدود در مقایسه با محدوده های حساس کمتر است. سؤالات متداول تأیید OAuth API حاوی لیست فعلی حوزههای حساس و محدود است. این حوزهها دسترسی گستردهای به دادههای کاربر Google را فراهم میکنند و از شما میخواهند قبل از درخواست دامنه از هر حساب Google، فرآیند تأیید دامنه را طی کنید. برای کسب اطلاعات در مورد این الزام، خطمشی دادههای کاربر خدمات Google API و الزامات اضافی برای حوزههای API خاص یا صفحه برنامهنویس Google خاص محصول را ببینید. اگر دادههای محدوده محدود را روی سرورها ذخیره یا انتقال میدهید، باید ارزیابی امنیتی را تکمیل کنید.
دامنه های محدود را درک کنید
اگر برنامه شما دامنههای محدودی درخواست میکند و واجد شرایط استثنا نیست، باید الزامات اضافی برای حوزههای API خاص خطمشی دادههای کاربر سرویسهای API Google، یا الزامات خاص محصول در صفحه برنامهنویس Google محصول را برآورده کنید، که به یک فرآیند بررسی گسترده تر
استفاده از محدوده خود را درک کنید
- دامنههایی را که برنامهتان استفاده میکند یا میخواهید استفاده کنید، مرور کنید. برای یافتن استفاده از محدوده موجود خود، کد منبع برنامه خود را برای هر دامنه ارسال شده با درخواست مجوز بررسی کنید.
- تعیین کنید که هر محدوده درخواستی برای اقدامات مورد نظر ویژگی برنامه شما ضروری است و از کمترین امتیاز لازم برای ارائه ویژگی استفاده می کند. یک Google API معمولاً دارای اسناد مرجع در صفحه برنامهنویس Google محصول برای نقاط پایانی خود است که شامل محدوده مورد نیاز برای فراخوانی نقطه پایانی یا ویژگیهای خاص است. برای اطلاعات بیشتر در مورد دامنه دسترسی لازم برای نقاط پایانی API که برنامه شما آنها را فراخوانی می کند، اسناد مرجع آن نقاط پایانی را بخوانید. For example, for an app that only uses Gmail APIs to occasionally send emails on a user's behalf, don't request the scope that provides full access to the user's email data.
- دادههایی که از Google API دریافت میکنید فقط باید مطابق با خطمشیهای API و به روشی که در اقدامات برنامه و خطمشی رازداری خود به کاربران خود نشان میدهید استفاده شوند.
- برای کسب اطلاعات بیشتر در مورد هر حوزه، از جمله پتانسیل آن، به اسناد API مراجعه کنید sensitive or restricted وضعیت
- همه دامنه های استفاده شده توسط برنامه خود را در قسمت اعلام کنید API Consoleصفحه محدوده پیکربندی صفحه رضایت OAuth . محدودههایی که مشخص میکنید در دستههای حساس یا محدود گروهبندی میشوند تا تأییدیههای اضافی مورد نیاز را برجسته کنند.
- بهترین محدوده را که با داده های استفاده شده توسط ادغام شما مطابقت دارد پیدا کنید، کاربرد آن را درک کنید، مجدداً تأیید کنید که همه چیز هنوز در یک محیط آزمایشی کار می کند و سپس برای ارسال برای تأیید آماده شوید.
مطمئن شوید که زمان لازم برای تکمیل تأیید صحت را در برنامه راهاندازی برنامه خود یا هر ویژگی جدیدی که نیاز به دامنه جدیدی دارد در نظر بگیرید. یکی از این الزامات اضافی در صورتی رخ میدهد که برنامه به دادههای کاربر Google از سرور یا از طریق آن دسترسی داشته باشد یا این قابلیت را داشته باشد. در این موارد، سیستم باید یک ارزیابی امنیتی سالانه توسط یک ارزیاب شخص ثالث مستقل که توسط Google تأیید شده است انجام شود. به همین دلیل، تکمیل فرآیند تأیید محدودههای محدود ممکن است چندین هفته طول بکشد. توجه داشته باشید که همه برنامهها باید ابتدا مرحله تأیید نام تجاری را تکمیل کنند، که معمولاً 2 تا 3 روز کاری طول میکشد، اگر اطلاعات نام تجاری از آخرین تأیید تأیید شده روی صفحه رضایت OAuth تغییر کرده باشد.
انواع برنامه های مجاز
انواع خاصی از برنامه ها می توانند به محدوده های محدود برای هر محصول دسترسی داشته باشند. میتوانید انواع برنامهها را در صفحه برنامهنویس Google مخصوص محصول (به عنوان مثال، خطمشی Gmail API) پیدا کنید.
این مسئولیت شماست که نوع برنامه خود را بفهمید و تعیین کنید. با این حال، اگر واقعاً از نوع برنامه برنامه خود مطمئن نیستید، می توانید هیچ گزینه ای را برای چه ویژگی هایی استفاده خواهید کرد انتخاب کنید؟ وقتی برنامه را برای تأیید ارسال می کنید سؤال کنید. سپس تیم تأیید Google API نوع برنامه را تعیین می کند.
ارزیابی امنیتی
هر برنامهای که درخواست دسترسی به دادههای محدود شده کاربران Google را میدهد و توانایی دسترسی به دادهها را از سرور شخص ثالث یا از طریق آن دارد، باید از ارزیابیهای امنیتی تحت نظارت Google عبور کند. این ارزیابی با تأیید اینکه همه برنامههایی که به دادههای کاربر Google دسترسی دارند، توانایی مدیریت امن دادهها و حذف دادههای کاربر بر اساس درخواست کاربر را نشان میدهند، به حفظ امنیت دادههای کاربران Google کمک میکند.
برای استانداردسازی ارزیابی امنیتی خود، از App Defense Alliance و چارچوب ارزیابی امنیت اپلیکیشن ابری (CASA) استفاده می کنیم.
همانطور که قبلاً ذکر شد، برای حفظ دسترسی به هر حوزه محدود تأیید شده، برنامهها باید مجدداً از نظر انطباق تأیید شوند و حداقل هر 12 ماه پس از تاریخ تأیید نامه ارزیابی (LOA) ارزیابیکننده شما، ارزیابی امنیتی را تکمیل کنند. اگر برنامه شما یک محدوده محدود جدید اضافه میکند، اگر در ارزیابی امنیتی قبلی گنجانده نشده باشد، ممکن است برنامه شما برای پوشش دامنه اضافی مورد ارزیابی مجدد قرار گیرد.
تیم بررسی Google زمانی که زمان تأیید مجدد برنامه شما فرا میرسد به شما ایمیل میفرستد. برای اطمینان از اینکه اعضای صحیح تیم شما از این اجرای سالانه مطلع می شوند، حساب های Google اضافی را با خود مرتبط کنید. API Console پروژه به عنوان مالک یا ویرایشگر همچنین به به روز نگه داشتن ایمیل های پشتیبانی کاربر و تماس با برنامه نویس که در Google مشخص شده اند کمک می کند. API Console OAuth Consent Screen page.
مراحل آماده سازی برای تایید
همه برنامههایی که از Google API برای درخواست دسترسی به دادهها استفاده میکنند، باید مراحل زیر را برای تکمیل تأیید نام تجاری انجام دهند:
- تأیید کنید که برنامه شما تحت هیچ یک از موارد استفاده در بخش استثناها برای الزامات تأیید قرار نمیگیرد.
- اطمینان حاصل کنید که برنامه شما با الزامات نام تجاری APIها یا محصول مرتبط مطابقت دارد. بهعنوان مثال، دستورالعملهای نام تجاری را برای حوزههای ورود به سیستم Google ببینید.
- مالکیت دامنه های مجاز پروژه خود را در کنسول جستجوی Google تأیید کنید. از یک حساب Google که با شما مرتبط است استفاده کنید API Console پروژه به عنوان مالک یا ویرایشگر
- اطمینان حاصل کنید که همه اطلاعات نام تجاری در صفحه رضایت OAuth، مانند نام برنامه، ایمیل پشتیبانی، URI صفحه اصلی، URI خط مشی رازداری و غیره دقیقاً نشان دهنده هویت برنامه است.
الزامات صفحه اصلی برنامه
اطمینان حاصل کنید که صفحه اصلی شما شرایط زیر را دارد:
- صفحه اصلی شما باید در دسترس عموم باشد و نه فقط برای کاربرانی که وارد سایت شما شده اند قابل دسترسی باشد.
- ارتباط صفحه اصلی شما با برنامه ای که در دست بررسی است باید مشخص باشد.
- پیوندهای فهرست برنامه شما در فروشگاه Google Play یا صفحه فیس بوک آن، صفحات اصلی برنامه معتبر محسوب نمی شوند.
الزامات پیوند سیاست حفظ حریم خصوصی برنامه
مطمئن شوید که خطمشی رازداری برنامه شما شرایط زیر را برآورده میکند:
- خطمشی رازداری باید برای کاربران قابل مشاهده باشد، در همان دامنهای که صفحه اصلی برنامه شما میزبانی میشود، و در صفحه رضایت OAuth به آن پیوند داده شود. Google API Console. توجه داشته باشید که صفحه اصلی باید شامل شرحی از عملکرد برنامه و همچنین پیوندهایی به خط مشی رازداری و شرایط اختیاری خدمات باشد.
- خط مشی رازداری باید نحوه دسترسی، استفاده، ذخیره یا به اشتراک گذاری داده های کاربر Google را برنامه کاربردی شما فاش کند. The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes.شما باید استفاده خود از داده های کاربر Google را به شیوه هایی که خط مشی رازداری منتشر شده شما فاش می کند محدود کنید.
- Review example cases of privacy policies that don't meet the Limited Use requirements.
چگونه برنامه خود را برای تأیید ارسال کنید
الف Google API Console پروژه همه شما را سازماندهی می کند API Console منابع یک پروژه شامل مجموعهای از حسابهای Google مرتبط است که دارای مجوز برای انجام عملیات پروژه، مجموعهای از APIهای فعال و تنظیمات صورتحساب، احراز هویت و نظارت برای آن APIها هستند. برای مثال، یک پروژه میتواند شامل یک یا چند مشتری OAuth باشد، APIها را برای استفاده توسط آن مشتریان پیکربندی کند، و صفحه رضایت OAuth را پیکربندی کند که قبل از اجازه دسترسی به برنامه شما به کاربران نشان داده شود.
اگر هر یک از مشتریان OAuth شما برای تولید آماده نیست، پیشنهاد می کنیم آنها را از پروژه ای که درخواست تأیید می کند حذف کنید. شما می توانید این کار را در Google API Console.
برای ارسال برای تأیید، مراحل زیر را دنبال کنید:
- مطمئن شوید که برنامه شما با شرایط خدمات Google APIs و خطمشی دادههای کاربر خدمات Google API مطابقت دارد.
- نقش مالک و ویرایشگر حسابهای مرتبط پروژه خود و همچنین ایمیل پشتیبانی کاربر صفحه رضایت OAuth و اطلاعات تماس توسعهدهنده را در خود نگه دارید API Console. این تضمین می کند که اعضای صحیح تیم شما از هر گونه نیاز جدید مطلع می شوند.
- برو به API ConsoleOAuth Consent Screen page.
- روی دکمه انتخاب پروژه کلیک کنید.
در گفتگوی Select from ظاهر شده، پروژه خود را انتخاب کنید. اگر نمی توانید پروژه خود را پیدا کنید اما ID پروژه خود را می دانید، می توانید یک URL در مرورگر خود با فرمت زیر ایجاد کنید:
https://console.developers.google.com/apis/credentials/consent?project=[PROJECT_ID]
[PROJECT_ID] را با شناسه پروژه ای که می خواهید استفاده کنید جایگزین کنید.
- دکمه ویرایش برنامه را انتخاب کنید.
- اطلاعات لازم را در صفحه نمایش رضایت OAuth وارد کنید و سپس دکمه ذخیره و ادامه را انتخاب کنید.
- از دکمه افزودن یا حذف دامنه ها برای اعلام همه دامنه های درخواستی برنامه خود استفاده کنید. مجموعه اولیه محدودههایی که برای ورود به سیستم Google ضروری هستند در بخش Non-sensitive scopes از قبل پر شدهاند. دامنه های اضافه شده به عنوان غیر حساس طبقه بندی می شوند، sensitive, or restricted.
- حداکثر سه پیوند به هر سند مرتبط برای ویژگی های مرتبط در برنامه خود ارائه دهید.
هر گونه اطلاعات اضافی که در مورد برنامه شما در مراحل بعدی درخواست می شود ارائه دهید.
- Ensure your app complies with the Additional requirements for specific API scopes, which includes undergoing an annual security assessment if your app accesses restricted scope Google users' data from or through a third-party server.
- Ensure your app is one of the allowed types specified in the Limited Use section of the Additional requirements for specific API scopes page.
- If your app is a task automation platform, your demonstration video must showcase how multiple API workflows are created and automated, and in which directions user data flows.
-
Prepare a video that fully demonstrates how a user initiates and grants access to the requested scopes and shows, in detail, the usage of the granted sensitive and restricted scopes in the app. Upload the video to YouTube Studio and set Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.
- Show the OAuth grant process that users will experience, in English. This includes the consent flow and, if you use Google Sign-In, the sign-in flow.
- Show that the OAuth consent screen correctly displays the App Name.
- Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
- To show how the data will be used, demonstrate the functionality that's enabled by each sensitive and restricted scope that you request.
- If you use multiple clients, and therefore have multiple OAuth client IDs, show how the data is accessed on each OAuth client.
- Select your permitted application type from the "What features will you use?" list.
- Describe how you will use the restricted scopes in your app and why more limited scopes aren't sufficient.
- اگر پیکربندی برنامه ای که ارائه می کنید به تأیید نیاز دارد، این فرصت را دارید که برنامه را برای تأیید ارسال کنید. فیلدهای مورد نیاز را پر کنید و سپس روی ارسال کلیک کنید تا فرآیند تأیید شروع شود.
پس از ارسال برنامه، تیم اعتماد و ایمنی Google هرگونه اطلاعات اضافی مورد نیاز یا مراحلی را که باید انجام دهید از طریق ایمیل پیگیری میکند. آدرس های ایمیل خود را در بخش اطلاعات تماس برنامه نویس و ایمیل پشتیبانی صفحه رضایت OAuth خود را برای درخواست اطلاعات بیشتر بررسی کنید. همچنین میتوانید صفحه نمایش رضایت OAuth پروژه خود را مشاهده کنید تا وضعیت بررسی فعلی پروژه خود را تأیید کنید، از جمله اینکه آیا فرآیند بررسی متوقف شده است تا زمانی که منتظر پاسخ شما هستیم.
استثنائات برای الزامات تأیید
اگر قرار است برنامه شما در هر یک از سناریوهای شرح داده شده در بخشهای زیر استفاده شود، نیازی به ارسال آن برای بررسی ندارید.
استفاده شخصی
یکی از موارد استفاده این است که شما تنها کاربر برنامه خود هستید یا اگر برنامه شما تنها توسط چند کاربر استفاده می شود که همه آنها شخصاً برای شما شناخته شده هستند. شما و تعداد محدودی از کاربرانتان ممکن است با پیشرفت از طریق صفحه برنامه تأیید نشده و دادن دسترسی به حساب های شخصی خود به برنامه خود راحت باشید.
پروژه های مورد استفاده در مراحل توسعه، آزمایش یا مرحله بندی
به منظور پیروی از خطمشیهای Google OAuth 2.0، توصیه میکنیم پروژههای مختلفی برای آزمایش و محیطهای تولید داشته باشید. توصیه میکنیم فقط در صورتی برنامه خود را برای تأیید ارسال کنید که میخواهید برنامه خود را برای هر کاربری که دارای حساب Google است در دسترس قرار دهید. بنابراین، اگر برنامه شما در مراحل توسعه، آزمایش یا مرحلهبندی است، تأیید لازم نیست.
اگر برنامه شما در مرحله توسعه یا آزمایش است، میتوانید وضعیت انتشار را در تنظیمات پیشفرض تست رها کنید. این تنظیم به این معنی است که برنامه شما هنوز در حال توسعه است و فقط برای کاربرانی که به لیست کاربران آزمایشی اضافه میکنید در دسترس است. شما باید فهرست حسابهای Google را که در توسعه یا آزمایش برنامه شما نقش دارند، مدیریت کنید.
فقط داده های متعلق به خدمات
اگر برنامه شما از یک حساب سرویس فقط برای دسترسی به دادههای خود استفاده میکند، و به هیچیک از دادههای کاربری (مرتبط با حساب Google) دسترسی ندارد، نیازی نیست برای تأیید ارسال کنید.
برای درک اینکه حسابهای سرویس چیست، به حسابهای سرویس در اسناد Google Cloud مراجعه کنید. برای دستورالعملهای نحوه استفاده از حساب سرویس، به استفاده از OAuth 2.0 برای برنامههای کاربردی سرور به سرور مراجعه کنید.
فقط استفاده داخلی
این بدان معناست که این برنامه فقط توسط افرادی در Google Workspace یا سازمان Cloud Identity شما استفاده میشود. پروژه باید متعلق به سازمان باشد و صفحه رضایت OAuth آن باید برای نوع کاربر داخلی پیکربندی شود. در این صورت، ممکن است برنامه شما نیاز به تأیید یک سرپرست سازمان داشته باشد. برای اطلاعات بیشتر، ملاحظات اضافی برای Google Workspace را ببینید.
- درباره برنامه های عمومی و داخلی بیشتر بیاموزید.
- یاد بگیرید چگونه برنامه خود را به عنوان داخلی در سؤالات متداول علامت گذاری کنید چگونه می توانم برنامه خود را به عنوان فقط داخلی علامت گذاری کنم؟
نصب در دامنه
اگر قصد دارید برنامه شما فقط کاربران یک سازمان Google Workspace یا Cloud Identity را هدف قرار دهد و همیشه از نصب در دامنه استفاده کند، برنامه شما نیازی به تأیید برنامه ندارد. این به این دلیل است که یک نصب در دامنه به یک مدیر دامنه اجازه می دهد تا برنامه های شخص ثالث و داخلی به داده های کاربران شما دسترسی داشته باشند. مدیران سازمان تنها حسابهایی هستند که میتوانند برنامه را برای استفاده در دامنههای خود به فهرست مجاز اضافه کنند.
در سؤالات متداول با نحوه نصب برنامه خود به یک دامنه گسترده آشنا شوید.