برخی از APIهای گوگل (آنهایی که حوزههای حساس یا محدود را میپذیرند) الزاماتی برای برنامههایی که به دنبال مجوز دسترسی به دادههای مصرفکننده هستند، دارند. این الزامات اضافی برای حوزههای محدود، مستلزم آن است که یک برنامه نشان دهد که یک نوع برنامه مجاز است و بررسیهای بیشتری را که شامل ارزیابی امنیتی احتمالی میشود، ارسال کند.
کاربردپذیری حوزههای محدود در یک API عمدتاً به میزان دسترسی مورد نیاز برای ارائه یک ویژگی مرتبط در برنامه شما بستگی دارد: فقط خواندنی، فقط نوشتنی، خواندن و نوشتن و غیره.
وقتی از OAuth 2.0 برای دریافت مجوز از یک حساب Google برای دسترسی به این دادهها استفاده میکنید، از رشتههایی به نام scopes برای مشخص کردن نوع دادههایی که میخواهید به آنها دسترسی داشته باشید و میزان دسترسی مورد نیاز استفاده میکنید. اگر برنامه شما scopes حساس یا محدود را درخواست کند، باید فرآیند تأیید را تکمیل کنید، مگر اینکه استفاده برنامه شما واجد شرایط استثنا باشد.
دامنههای محدود در مقایسه با دامنههای حساس تعداد کمتری دارند. سوالات متداول تأیید اعتبار API OAuth شامل لیست فعلی دامنههای حساس و محدود است. این دامنهها دسترسی گستردهای به دادههای کاربر گوگل ارائه میدهند و شما را ملزم میکنند قبل از درخواست دامنهها از هر حساب گوگل، یک فرآیند تأیید دامنه را طی کنید. برای اطلاعات در مورد این الزام، به سیاست دادههای کاربر سرویسهای API گوگل و الزامات اضافی برای دامنههای خاص API یا صفحه توسعهدهنده گوگل مخصوص محصول مراجعه کنید. اگر دادههای دامنه محدود را روی سرورها ذخیره یا منتقل میکنید، باید یک ارزیابی امنیتی را تکمیل کنید.
درک دامنههای محدود
اگر برنامه شما درخواست هرگونه محدوده محدود شدهای را دارد و واجد شرایط استثنا نیست، باید الزامات اضافی برای محدودههای خاص API از خطمشی دادههای کاربر سرویسهای API گوگل یا الزامات خاص محصول در صفحه توسعهدهنده گوگل محصول را برآورده کنید، که نیاز به یک فرآیند بررسی گستردهتر دارد.
کاربرد دامنه خود را درک کنید
- محدودههایی که برنامه شما استفاده میکند یا میخواهید استفاده کنید را بررسی کنید. برای یافتن میزان استفاده از محدودههای موجود، کد منبع برنامه خود را برای هرگونه محدودهای که با درخواستهای مجوز ارسال شده است، بررسی کنید.
- مشخص کنید که هر محدوده درخواستی برای اقدامات مورد نظر ویژگی برنامه شما ضروری است و از حداقل امتیاز لازم برای ارائه آن ویژگی استفاده میکند. یک API گوگل معمولاً دارای مستندات مرجع در صفحه توسعهدهندگان گوگل محصول برای نقاط پایانی خود است که شامل محدوده مورد نیاز برای فراخوانی نقطه پایانی یا ویژگیهای خاص درون آن است. برای اطلاعات بیشتر در مورد محدودههای دسترسی لازم برای نقاط پایانی 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.
- دادههایی که از API گوگل دریافت میکنید، فقط باید مطابق با سیاستهای API و به روشی که شما در اقدامات برنامه و در سیاست حفظ حریم خصوصی خود به کاربران خود ارائه میدهید، استفاده شوند.
- برای کسب اطلاعات بیشتر در مورد هر حوزه، از جمله پتانسیلهای آن، به مستندات API مراجعه کنید. sensitive or restricted وضعیت
- تمام حوزههای مورد استفاده برنامه خود را در Cloud Consoleها Data Access page محدودههایی که شما مشخص میکنید به دستههای حساس یا محدود گروهبندی میشوند تا هرگونه تأیید اضافی مورد نیاز را برجسته کنند.
- بهترین محدودهای را که با دادههای مورد استفاده توسط یکپارچهسازی شما مطابقت دارد، پیدا کنید، کاربرد آن را درک کنید، دوباره تأیید کنید که همه چیز هنوز در یک محیط آزمایشی کار میکند و سپس برای ارسال برای تأیید آماده شوید.
حتماً زمان لازم برای تکمیل تأیید را در برنامه راهاندازی خود برای برنامه یا هر ویژگی جدیدی که نیاز به محدوده جدیدی دارد، در نظر بگیرید. یکی از این الزامات اضافی در صورتی رخ میدهد که برنامه به دادههای کاربر گوگل از طریق یا از طریق یک سرور دسترسی داشته باشد یا قابلیت دسترسی به آن را داشته باشد. در این موارد، سیستم باید سالانه توسط یک ارزیاب مستقل شخص ثالث که توسط گوگل تأیید شده است، ارزیابی امنیتی شود. به همین دلیل، فرآیند تأیید محدودههای محدود میتواند به طور بالقوه چندین هفته طول بکشد. توجه داشته باشید که اگر اطلاعات برند از آخرین تأیید صفحه رضایت OAuth تأیید شده تغییر کرده باشد، همه برنامهها باید ابتدا مرحله تأیید برند را انجام دهند که معمولاً 2-3 روز کاری طول میکشد.
انواع برنامههای مجاز
انواع خاصی از برنامهها میتوانند به حوزههای محدود شده برای هر محصول دسترسی داشته باشند. میتوانید انواع برنامهها را در صفحه توسعهدهندگان گوگل مخصوص هر محصول (به عنوان مثال، سیاست API جیمیل) پیدا کنید.
این مسئولیت شماست که نوع برنامه خود را بفهمید و تعیین کنید. با این حال، اگر واقعاً از نوع برنامه خود مطمئن نیستید، میتوانید هنگام ارسال برنامه برای تأیید، هیچ گزینهای را برای سوال «از چه ویژگیهایی استفاده خواهید کرد؟» انتخاب نکنید. سپس تیم تأیید API گوگل نوع برنامه را تعیین میکند.
ارزیابی امنیتی
هر برنامهای که درخواست دسترسی به دادههای محدود کاربران گوگل را دارد و توانایی دسترسی به دادهها از یا از طریق یک سرور شخص ثالث را دارد، باید توسط ارزیابان امنیتی مورد تایید گوگل، ارزیابی امنیتی شود. این ارزیابی با تأیید اینکه تمام برنامههایی که به دادههای کاربر گوگل دسترسی دارند، قابلیت مدیریت ایمن دادهها و حذف دادههای کاربر را بنا به درخواست کاربر نشان میدهند، به ایمن نگه داشتن دادههای کاربران گوگل کمک میکند.
برای استانداردسازی ارزیابی امنیتی، ما از اتحاد دفاع از برنامهها و چارچوب ارزیابی امنیت برنامههای ابری (CASA) استفاده میکنیم.
همانطور که قبلاً ذکر شد، برای حفظ دسترسی به هرگونه محدودههای محدود تأیید شده، برنامهها باید حداقل هر ۱۲ ماه پس از تاریخ تأیید نامه ارزیابی (LOA) ارزیاب شما، مجدداً از نظر انطباق تأیید شوند و ارزیابی امنیتی را تکمیل کنند. اگر برنامه شما محدوده محدود جدیدی اضافه کند، اگر برنامه شما در ارزیابی امنیتی قبلی گنجانده نشده باشد، ممکن است نیاز به ارزیابی مجدد برای پوشش محدوده اضافی داشته باشد.
تیم بررسی گوگل، زمان تمدید اعتبار برنامه شما را از طریق ایمیل اطلاع میدهد. برای اطمینان از اینکه اعضای صحیح تیم شما از این اجرای سالانه مطلع میشوند، حسابهای گوگل دیگری را با برنامه خود مرتبط کنید. Cloud Console به عنوان مالک یا ویرایشگر پروژه. همچنین به شما کمک میکند تا ایمیلهای پشتیبانی کاربر و تماس با توسعهدهنده که در گوگل مشخص شدهاند را بهروز نگه دارید. Cloud Console اواوت Branding page.
مراحل آماده سازی برای تأیید
همه برنامههایی که از APIهای گوگل برای درخواست دسترسی به دادهها استفاده میکنند، باید مراحل زیر را برای تکمیل تأیید برند انجام دهند:
- تأیید کنید که برنامه شما تحت هیچ یک از موارد استفاده در بخش استثنائات الزامات تأیید قرار نمیگیرد.
- مطمئن شوید که برنامه شما با الزامات برندسازی APIها یا محصول مرتبط مطابقت دارد. برای مثال، به دستورالعملهای برندسازی برای حوزههای ورود به سیستم گوگل مراجعه کنید.
- مالکیت دامنههای مجاز پروژه خود را در کنسول جستجوی گوگل تأیید کنید. از یک حساب گوگل مرتبط با دامنه خود استفاده کنید. API Console به عنوان مالک یا ویراستار، پروژه را مدیریت کنید.
- مطمئن شوید که تمام اطلاعات مربوط به برند در صفحه رضایت OAuth، مانند نام برنامه، ایمیل پشتیبانی، آدرس صفحه اصلی، آدرس سیاست حفظ حریم خصوصی و غیره، به طور دقیق هویت برنامه را نشان میدهند.
الزامات صفحه اصلی برنامه
مطمئن شوید که صفحه اصلی شما شرایط زیر را برآورده میکند:
- صفحه اصلی شما باید برای عموم قابل دسترسی باشد، و نه فقط برای کاربران وارد شده به سایت شما.
- ارتباط صفحه اصلی شما با اپلیکیشنی که در دست بررسی است باید کاملاً مشخص باشد.
- لینکهایی که به فهرست اپلیکیشن شما در گوگل پلی استور یا صفحه فیسبوک آن اشاره دارند، صفحات اصلی معتبری برای اپلیکیشن محسوب نمیشوند.
الزامات پیوند سیاست حفظ حریم خصوصی برنامه
مطمئن شوید که سیاست حفظ حریم خصوصی برنامه شما شرایط زیر را برآورده میکند:
- سیاست حفظ حریم خصوصی باید برای کاربران قابل مشاهده باشد، در همان دامنهای که صفحه اصلی برنامه شما قرار دارد، میزبانی شود و در صفحه رضایت OAuth برنامه به آن لینک داده شود. Google API Consoleتوجه داشته باشید که صفحه اصلی باید شامل شرحی از عملکرد برنامه و همچنین پیوندهایی به سیاست حفظ حریم خصوصی و شرایط خدمات اختیاری باشد.
- سیاست حفظ حریم خصوصی باید نحوه دسترسی، استفاده، ذخیره یا اشتراکگذاری دادههای کاربران گوگل توسط برنامه شما را افشا کند. The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes.شما باید استفاده خود از دادههای کاربران گوگل را به رویههایی که سیاست حفظ حریم خصوصی منتشر شده شما فاش میکند، محدود کنید.
- Review example cases of privacy policies that don't meet the Limited Use requirements.
نحوه ارسال برنامه برای تأیید
الف Google Cloud Console پروژه تمام شما را سازماندهی میکند Cloud Console منابع. یک پروژه شامل مجموعهای از حسابهای گوگل مرتبط است که مجوز انجام عملیات پروژه، مجموعهای از APIهای فعال و تنظیمات صورتحساب، احراز هویت و نظارت برای آن APIها را دارند. به عنوان مثال، یک پروژه میتواند شامل یک یا چند کلاینت OAuth باشد، APIها را برای استفاده توسط آن کلاینتها پیکربندی کند و یک صفحه رضایت OAuth را پیکربندی کند که قبل از اجازه دسترسی به برنامه شما به کاربران نشان داده میشود.
اگر هر یک از کلاینتهای OAuth شما برای تولید آماده نیستند، پیشنهاد میکنیم آنها را از پروژهای که درخواست تأیید دارد حذف کنید. میتوانید این کار را در Clients page.
برای ارسال جهت تأیید، مراحل زیر را دنبال کنید:
- مطمئن شوید که برنامه شما با شرایط خدمات APIهای گوگل و خطمشی دادههای کاربر سرویسهای API گوگل مطابقت دارد.
- نقشهای مالک و ویرایشگر حسابهای مرتبط با پروژه خود و همچنین ایمیل پشتیبانی کاربر و اطلاعات تماس توسعهدهنده صفحه رضایت OAuth خود را بهروز نگه دارید. Cloud Consoleاین تضمین میکند که اعضای صحیح تیم شما از هرگونه الزامات جدید مطلع میشوند.
- برو به Cloud Consoleمرکز تأیید OAuth
- روی دکمه انتخاب پروژه کلیک کنید.
در پنجرهی «انتخاب از» که ظاهر میشود، پروژهی خود را انتخاب کنید. اگر نمیتوانید پروژهی خود را پیدا کنید اما شناسهی پروژهی خود را میدانید، میتوانید در مرورگر خود یک URL با فرمت زیر ایجاد کنید:
https://console.developers.google.com/auth/branding?project=[PROJECT_ID]
به جای [PROJECT_ID] ، شناسه پروژه مورد نظر خود را وارد کنید.
- دکمه ویرایش برنامه را انتخاب کنید.
- اطلاعات لازم را در صفحه رضایتنامه OAuth وارد کنید و سپس دکمه ذخیره و ادامه را انتخاب کنید.
- از دکمهی «افزودن یا حذف محدودهها» برای اعلام تمام محدودههای درخواستی برنامهی خود استفاده کنید. مجموعهای اولیه از محدودههایی که برای ورود به سیستم با گوگل ضروری هستند، در بخش محدودههای غیرحساس از قبل پر شدهاند. محدودههای اضافه شده به عنوان غیرحساس طبقهبندی میشوند، 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.
- اگر پیکربندی برنامهای که ارائه میدهید نیاز به تأیید دارد، میتوانید برنامه را برای تأیید ارسال کنید. فیلدهای مورد نیاز را پر کنید و سپس برای شروع فرآیند تأیید، روی ارسال کلیک کنید.
پس از ارسال برنامه، تیم اعتماد و ایمنی گوگل از طریق ایمیل هرگونه اطلاعات اضافی مورد نیاز یا مراحلی را که باید تکمیل کنید، پیگیری میکند. برای درخواست اطلاعات بیشتر، آدرسهای ایمیل خود را در بخش اطلاعات تماس توسعهدهنده و ایمیل پشتیبانی صفحه رضایت OAuth خود بررسی کنید. همچنین میتوانید صفحه صفحه رضایت OAuth پروژه خود را مشاهده کنید تا وضعیت فعلی بررسی پروژه خود را تأیید کنید، از جمله اینکه آیا روند بررسی در حین انتظار برای پاسخ شما متوقف شده است یا خیر.
استثنائات الزامات تأیید
اگر قرار است از برنامه شما در هر یک از سناریوهای شرح داده شده در بخشهای بعدی استفاده شود، نیازی به ارسال آن برای بررسی ندارید.
استفاده شخصی
یک مورد استفاده این است که اگر شما تنها کاربر برنامه خود هستید یا اگر برنامه شما توسط تعداد کمی از کاربران استفاده میشود که همه آنها را شخصاً میشناسید، شما و تعداد محدود کاربرانتان ممکن است با عبور از صفحه برنامه تأیید نشده و اعطای دسترسی حسابهای شخصی به برنامه خود، مشکلی نداشته باشید.
پروژههای مورد استفاده در سطوح توسعه، آزمایش یا مرحلهبندی
برای رعایت سیاستهای Google OAuth 2.0، توصیه میکنیم پروژههای مختلفی برای محیطهای آزمایش و تولید داشته باشید. توصیه میکنیم فقط در صورتی برنامه خود را برای تأیید ارسال کنید که میخواهید برنامهتان را برای هر کاربری که دارای حساب Google است، در دسترس قرار دهید. بنابراین، اگر برنامه شما در مراحل توسعه، آزمایش یا مرحلهبندی است، تأیید لازم نیست.
اگر برنامه شما در مراحل توسعه یا آزمایش است، میتوانید وضعیت انتشار را در حالت پیشفرض «در حال آزمایش» باقی بگذارید. این تنظیم به این معنی است که برنامه شما هنوز در حال توسعه است و فقط برای کاربرانی که به لیست کاربران آزمایشی اضافه میکنید، در دسترس است. شما باید لیست حسابهای گوگلی را که در توسعه یا آزمایش برنامه شما دخیل هستند، مدیریت کنید.

فقط دادههای متعلق به سرویس
اگر برنامه شما از یک حساب سرویس فقط برای دسترسی به دادههای خودش استفاده میکند و به هیچ داده کاربری (مرتبط با یک حساب Google) دسترسی ندارد، نیازی به ارسال برای تأیید ندارید.
برای درک اینکه حسابهای سرویس چیستند، به بخش حسابهای سرویس در مستندات Google Cloud مراجعه کنید. برای دستورالعملهای نحوه استفاده از یک حساب سرویس، به بخش استفاده از OAuth 2.0 برای برنامههای سرور به سرور مراجعه کنید.
فقط استفاده داخلی
این بدان معناست که برنامه فقط توسط افرادی که در سازمان Google Workspace یا Cloud Identity شما هستند استفاده میشود. این پروژه باید متعلق به سازمان باشد و صفحه رضایت OAuth آن باید برای نوع کاربر داخلی پیکربندی شود. در این حالت، ممکن است برنامه شما نیاز به تأیید مدیر سازمان داشته باشد. برای اطلاعات بیشتر، به ملاحظات بیشتر برای Google Workspace مراجعه کنید.
- درباره برنامههای عمومی و داخلی بیشتر بدانید.
- یاد بگیرید که چگونه برنامه خود را به عنوان برنامه داخلی در بخش سوالات متداول علامت گذاری کنید . چگونه میتوانم برنامهام را به عنوان برنامه فقط داخلی علامت گذاری کنم؟
نصب در سطح دامنه
اگر قصد دارید برنامهتان فقط کاربران یک سازمان Google Workspace یا Cloud Identity را هدف قرار دهد و همیشه از نصب در سطح دامنه استفاده کند، برنامه شما نیازی به تأیید برند نخواهد داشت. با این حال، اگر برنامه شما از حوزههای محدود یا حساس استفاده میکند، تأیید برنامه الزامی است. دلیل این امر این است که نصب در سطح دامنه به مدیر دامنه اجازه میدهد تا به برنامههای شخص ثالث و داخلی اجازه دسترسی به دادههای کاربران شما را بدهد. مدیران سازمان تنها حسابهایی هستند که میتوانند برنامه را برای استفاده در دامنههای خود به لیست مجاز اضافه کنند.
در بخش سوالات متداول، نحوه نصب برنامه در کل دامنه را بیاموزید . برنامه من کاربرانی با حسابهای سازمانی از یک دامنه Google Workspace دیگر دارد .