Проверка конфиденциальной области применения

Если ваше приложение запрашивает разрешение на использование API Google для доступа к данным пользователей Google, вам, возможно, придется пройти процедуру проверки, прежде чем вы впервые сделаете свое приложение общедоступным.

Применимо ли это требование к вашему приложению, зависит главным образом от двух факторов:

  1. Тип пользовательских данных, к которым вы получаете доступ: информация общедоступного профиля, записи календаря, файлы на Диске, определенные данные о здоровье и фитнесе и т. д.
  2. Нужный вам уровень доступа — только чтение, чтение и запись и т. д.

Когда вы используете OAuth 2.0 для получения разрешения от учетной записи Google на доступ к их данным, вы используете строки, называемые областями действия , чтобы указать тип данных, к которым вы хотите получить доступ от их имени. Если ваше приложение запрашивает области, отнесенные к категории конфиденциальных или ограниченных , вам, вероятно, потребуется завершить процесс проверки, если только использование вашего приложения не подпадает под исключение .

Примеры областей конфиденциальности включают чтение событий, хранящихся в Календаре Google, сохранение нового контакта в Контактах Google или удаление видео на YouTube. Дополнительные сведения о доступных областях и их классификациях см. в справочной документации конечных точек API, вызываемых вашим приложением, а также в любом соответствующем руководстве по авторизации, опубликованном для API.

Вы должны запрашивать области, требующие минимального объема доступа к пользовательским данным, необходимого для обеспечения этой функциональности. Например, приложение, которое только читает данные, не должно запрашивать доступ для чтения, записи и удаления контента, когда для API и связанных с ним конечных точек доступна более узкая область действия. Данные, которые вы получаете от API Google, должны использоваться только в соответствии с политиками API и так, как вы представляете своим пользователям в действиях вашего приложения и в вашей политике конфиденциальности.

Обязательно учтите время, необходимое для завершения проверки, в плане запуска вашего приложения или любых новых функций, требующих новой области действия. Процесс проверки области конфиденциальности обычно занимает 3–5 рабочих дней. Обратите внимание, что ваше приложение может иметь право на проверку бренда в рамках вашего запроса на проверку конфиденциальной области.

Понимание конфиденциальных областей

Конфиденциальные области требуют проверки со стороны Google, прежде чем какой-либо аккаунт Google сможет предоставить доступ. Администраторы организации Google Workspace могут ограничить доступ к конфиденциальным областям, чтобы предотвратить доступ к идентификаторам клиентов OAuth, которые организация явно не помечает как доверенные.

Поймите, как вы используете область применения

  • Просмотрите области, которые использует ваше приложение или которые вы хотите использовать. Чтобы узнать, как используется существующая область, проверьте исходный код вашего приложения на наличие любых областей, отправленных с запросами на авторизацию.
  • Определите, что каждая запрошенная область необходима для предполагаемых действий функции вашего приложения и использует наименьшие привилегии, необходимые для предоставления этой функции. API Google обычно имеет справочную документацию на странице разработчика Google продукта для своих конечных точек, которая включает область, необходимую для вызова конечной точки или определенных свойств внутри нее. Дополнительные сведения о необходимых областях доступа для конечных точек API, которые вызывает ваше приложение, см. в справочной документации этих конечных точек.
  • Данные, которые вы получаете от API Google, должны использоваться только в соответствии с политиками API и так, как вы представляете своим пользователям в действиях вашего приложения и в вашей политике конфиденциальности.
  • Обратитесь к документации API, чтобы узнать больше о каждой области, включая ее потенциальный статус sensitive or restricted .
  • Объявите все области, используемые вашим приложением, на странице областей настройки экрана согласия OAuth API Console. Указанные вами области группируются в деликатные или ограниченные категории, чтобы выделить любую необходимую дополнительную проверку.
  • Найдите лучшую область, соответствующую данным, используемым вашей интеграцией, поймите ее использование, еще раз убедитесь, что все по-прежнему работает в среде тестирования, а затем подготовьтесь к отправке на проверку.
В таблице отображается имя API, одна из его конфиденциальных областей и описание того, что охватывает эта область.
Рисунок 1. Пример области конфиденциальности, показанной на странице областей настройки экрана согласия OAuth.

Шаги по подготовке к проверке

Все приложения, использующие API Google для запроса доступа к данным, должны выполнить следующие шаги для завершения проверки бренда:

  1. Убедитесь, что ваше приложение не подпадает ни под один из вариантов использования, указанных в разделе «Исключения из требований проверки» .
  2. Убедитесь, что ваше приложение соответствует требованиям к брендингу связанных API или продукта. Например, см. рекомендации по брендингу для областей входа в Google.
  3. Подтвердите право собственности на авторизованные домены вашего проекта в консоли поиска Google . Используйте учетную запись Google, связанную с вашим проектом API Console в качестве владельца или редактора.
  4. Убедитесь, что вся информация о бренде на экране согласия OAuth, такая как имя приложения, адрес электронной почты службы поддержки, URI домашней страницы, URI политики конфиденциальности и т. д., точно отражает идентичность приложения.

Требования к домашней странице приложения

Убедитесь, что ваша домашняя страница соответствует следующим требованиям:

  • Ваша домашняя страница должна быть общедоступной, а не только доступной для вошедших в систему пользователей вашего сайта.
  • Соответствие вашей домашней страницы приложению, находящемуся на рассмотрении, должно быть очевидным.
  • Ссылки на страницу вашего приложения в Google Play Store или на его страницу в Facebook не считаются действительными домашними страницами приложения.

Требования к ссылке на политику конфиденциальности приложения

Убедитесь, что политика конфиденциальности вашего приложения соответствует следующим требованиям:

  • Политика конфиденциальности должна быть видна пользователям, размещена в том же домене, что и домашняя страница вашего приложения, и иметь ссылку на экране согласия OAuth в Google API Console. Обратите внимание, что домашняя страница должна содержать описание функций приложения, а также ссылки на политику конфиденциальности и дополнительные условия обслуживания.
  • В политике конфиденциальности должно быть указано, каким образом ваше приложение получает доступ, использует, хранит или передает пользовательские данные Google. Вы должны ограничить использование пользовательских данных Google методами, раскрытыми в опубликованной вами политике конфиденциальности.

Как отправить приложение на проверку

ПроектGoogle API Console организует все ваши ресурсы API Console . Проект состоит из набора связанных аккаунтов Google, у которых есть разрешение на выполнение операций проекта, набора включенных API, а также настроек выставления счетов, аутентификации и мониторинга для этих API. Например, проект может содержать один или несколько клиентов OAuth, настроить API для использования этими клиентами и настроить экран согласия OAuth , который отображается пользователям перед тем, как они разрешат доступ к вашему приложению.

Если какой-либо из ваших клиентов OAuth не готов к работе, мы предлагаем вам удалить их из проекта, запрашивающего проверку. Вы можете сделать это в Google API Console.

Чтобы отправить на проверку, выполните следующие действия:

  1. Убедитесь, что ваше приложение соответствует Условиям использования Google API и Политике использования данных пользователей служб Google API .
  2. Держите в актуальном состоянии роли владельца и редактора связанных с вашим проектом аккаунтов, а также адрес электронной почты поддержки пользователей на экране согласия OAuth и контактную информацию разработчика в вашем API Console. Это гарантирует, что нужные члены вашей команды будут уведомлены о любых новых требованиях.
  3. Перейдите к API ConsoleOAuth Consent Screen page.
  4. Нажмите кнопку выбора проекта .
  5. В появившемся диалоговом окне «Выбрать из» выберите свой проект. Если вы не можете найти свой проект, но знаете его идентификатор, вы можете создать URL-адрес в своем браузере в следующем формате:

    https://console.developers.google.com/apis/credentials/consent?project=[PROJECT_ID]

    Замените [PROJECT_ID] идентификатором проекта, который вы хотите использовать.

  6. Нажмите кнопку «Изменить приложение» .
  7. Введите необходимую информацию на странице экрана согласия OAuth, а затем нажмите кнопку «Сохранить и продолжить» .
  8. Используйте кнопку «Добавить или удалить области» , чтобы объявить все области, запрошенные вашим приложением. Начальный набор областей, необходимых для входа в Google, предварительно заполняется в разделе «Неконфиденциальные области» . Добавленные области классифицируются как неконфиденциальные, sensitive, or restricted.
  9. Предоставьте до трех ссылок на любую соответствующую документацию по соответствующим функциям вашего приложения.
  10. Предоставьте любую дополнительную информацию о вашем приложении, которая будет запрошена на последующих шагах.

    1. Prepare a detailed justification for each requested sensitive scope, as well as an explanation for why a narrower scope isn't sufficient. For example: "My app will use https://www.googleapis.com/auth/calendar to show a user's Google calendar data on the scheduling screen of my app. This lets users manage their schedules through my app and sync the changes with their Google calendar."
    2. 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 its Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.

      1. 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.
      2. Show that the OAuth consent screen correctly displays the App Name.
      3. Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
      4. To show how the data will be used, demonstrate the functionality that's enabled by each sensitive scope that you request.
  11. Если предоставленная вами конфигурация приложения требует проверки, у вас есть возможность отправить приложение на проверку. Заполните обязательные поля и нажмите «Отправить» , чтобы начать процесс проверки.

После того как вы отправите свое приложение, команда Google по вопросам доверия и безопасности отправит вам по электронной почте любую дополнительную информацию или действия, которые вам необходимо выполнить. Проверьте свои адреса электронной почты в разделе контактной информации разработчика и адрес электронной почты поддержки на экране согласия OAuth на предмет запросов на дополнительную информацию. Вы также можете просмотреть страницу экрана согласия OAuth вашего проекта, чтобы подтвердить текущий статус проверки вашего проекта, в том числе узнать, приостановлен ли процесс проверки, пока мы ждем вашего ответа.

Исключения из требований проверки

Если ваше приложение будет использоваться в любом из сценариев, описанных в следующих разделах, вам не нужно отправлять его на проверку.

Персональное использование

Один из вариантов использования — если вы являетесь единственным пользователем своего приложения или если ваше приложение используется лишь несколькими пользователями, каждый из которых известен вам лично. Вам и вашему ограниченному числу пользователей может быть удобно перейти через экран непроверенного приложения и предоставить своим личным учетным записям доступ к вашему приложению.

Проекты, используемые на уровнях разработки, тестирования или подготовки.

Чтобы соответствовать политике Google OAuth 2.0, мы рекомендуем вам иметь разные проекты для тестовых и производственных сред. Мы рекомендуем отправлять свое приложение на проверку только в том случае, если вы хотите сделать его доступным для любого пользователя с учетной записью Google. Поэтому, если ваше приложение находится на этапах разработки, тестирования или подготовки, проверка не требуется.

Если ваше приложение находится на стадии разработки или тестирования, вы можете оставить для статуса публикации значение по умолчанию — «Тестирование» . Этот параметр означает, что ваше приложение все еще находится в разработке и доступно только пользователям, которых вы добавляете в список тестовых пользователей. Вы должны управлять списком аккаунтов Google, которые участвуют в разработке или тестировании вашего приложения.

Предупреждающее сообщение о том, что Google не подтвердил приложение, которое проходит тестирование.
Рисунок 2. Экран предупреждения тестера

Только данные, принадлежащие службе

Если ваше приложение использует учетную запись службы для доступа только к своим собственным данным и не имеет доступа к каким-либо пользовательским данным (связанным с учетной записью Google), вам не нужно отправлять данные на проверку.

Чтобы понять, что такое учетные записи служб, см. раздел «Учетные записи служб» в документации Google Cloud. Инструкции по использованию учетной записи службы см. в разделе Использование OAuth 2.0 для межсерверных приложений .

Только для внутреннего пользования

Это означает, что приложение используется только людьми из вашей организации Google Workspace или Cloud Identity. Проект должен принадлежать организации, а его экран согласия OAuth должен быть настроен для внутреннего типа пользователя . В этом случае вашему приложению может потребоваться одобрение администратора организации. Дополнительную информацию см. в разделе Дополнительные рекомендации по Google Workspace .

Установка на уровне домена

Если вы планируете, что ваше приложение будет ориентировано только на пользователей организаций Google Workspace или Cloud Identity и всегда будет использовать установку на уровне домена , тогда ваше приложение не потребует проверки приложения. Это связано с тем, что установка на уровне домена позволяет администратору домена предоставлять сторонним и внутренним приложениям доступ к данным ваших пользователей. Администраторы организации — единственные учетные записи, которые могут добавлять приложение в белый список для использования в своих доменах.

Узнайте, как сделать установку приложения общедоменной, в разделе часто задаваемых вопросов . В моем приложении есть пользователи с корпоративными учетными записями из другого домена Google Workspace .