Проверка ограниченных областей действия

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

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

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

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


Области ограниченного доступа

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

Как использовать прицел

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

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


Разрешенные типы приложений

Области действия с ограниченным доступом могут быть доступны для определенных типов приложений. Типы приложений можно найти на странице Google Developers, посвященной определенному продукту (например, в правилах Gmail API).

Вы должны самостоятельно определить тип своего приложения. Если вы не уверены, к какому типу относится ваше приложение, не выбирайте ни один из вариантов в разделе Какие функции вы будете использовать? при отправке приложения на проверку. Затем команда проверки API Google определит тип приложения.


Оценка безопасности

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

Для стандартизации оценки безопасности мы используем App Defense Alliance и платформу оценки безопасности облачных приложений (CASA).

Как упоминалось ранее, чтобы сохранить доступ к проверенным областям с ограниченным доступом, приложения должны проходить повторную проверку на соответствие требованиям и оценку безопасности не реже одного раза в 12 месяцев после даты утверждения письма об оценке (LOA). Если вы добавите в приложение новую область ограниченного доступа, может потребоваться повторная проверка безопасности, если эта область не была включена в предыдущую проверку.

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


Как подготовиться к проверке

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

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

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

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

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

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

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

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

Как отправить приложение на проверку соответствия бренду

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

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

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

  1. Убедитесь, что ваше приложение соответствует Условиям использования API Google и Правилам в отношении пользовательских данных сервисов API Google.
  2. Следите за тем, чтобы роли владельца и редактора в аккаунтах, связанных с вашим проектом, были актуальными. Также не забывайте обновлять в Cloud Console адрес электронной почты службы поддержки пользователей, который указывается в окне запроса доступа OAuth, и контактную информацию разработчика. Это позволит нужным сотрудникам получать уведомления о новых требованиях.
  3. Перейдите на страницу брендинга OAuth в Cloud Console.
  4. Нажмите кнопку Выбор проекта.
  5. В появившемся диалоговом окне Select from (Выбрать из) выберите проект. Если вы не можете найти проект, но знаете его идентификатор проекта, введите в адресную строку браузера URL в следующем формате:

    https://console.developers.google.com/auth/branding?project=[PROJECT_ID]
    

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

  6. На странице Брендинг укажите информацию о бренде приложения, в том числе название приложения, логотип, контактную информацию разработчика и нужные ссылки. Все изменения сохраняются как Черновик брендинга.

  7. Нажмите кнопку Проверить брендинг, чтобы начать процесс оценки. Автоматическая проверка обычно занимает несколько минут.

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

  9. Нажмите кнопку Опубликовать брендинг, чтобы применить новые настройки.

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

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

  12. Укажите до трех ссылок на документацию, связанную с функциями в вашем приложении.

  13. На следующих шагах укажите дополнительную информацию о приложении.

    1. Убедитесь, что ваше приложение соответствует дополнительным требованиям к определенным областям действия API. В частности, если приложение получает доступ к пользовательским данным Google с ограниченным доступом через сторонний сервер, оно должно проходить ежегодную проверку безопасности.
    2. Убедитесь, что ваше приложение относится к одному из разрешенных типов, указанных в разделе Ограниченное использование на странице Дополнительные требования к определенным областям действия API.
    3. Если ваше приложение является платформой для автоматизации задач, в демонстрационном видео необходимо показать, как создаются и автоматизируются рабочие процессы API и в каких направлениях передаются пользовательские данные.
    4. Подготовьте видео, в котором показано, как пользователь инициирует и предоставляет доступ к запрашиваемым областям действия, а также подробно продемонстрировано использование предоставленных деликатных и ограниченных областей действия в приложении. Загрузите видео в Творческую студию YouTube и установите для параметра Доступ значение Доступ по ссылке. Вам нужно указать ссылку на демонстрационное видео в поле "Ссылка на YouTube".
      1. Покажите процесс предоставления разрешения на доступ по протоколу OAuth, который увидят пользователи (на английском языке). Это касается как процесса получения согласия, так и входа в аккаунт (если вы используете функцию "Войти с аккаунтом Google").
      2. Покажите, что в окне запроса доступа OAuth правильно отображается название приложения.
      3. Покажите, что в адресной строке браузера на окне запроса доступа OAuth правильно указан идентификатор клиента OAuth вашего приложения.
      4. Чтобы показать, как будут использоваться данные, продемонстрируйте функциональность, которая обеспечивается каждой запрашиваемой областью действия с ограниченным доступом.
      5. Если вы используете несколько клиентов и у вас есть несколько идентификаторов клиентов OAuth, покажите, как осуществляется доступ к данным в каждом клиенте OAuth.
    5. В списке "Какие функции вы будете использовать?" выберите тип приложения, для которого разрешено использовать API.
    6. Опишите, как вы будете использовать области действия с ограниченным доступом в своем приложении и почему вам недостаточно областей действия с более ограниченным доступом.

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

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

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

Личное использование

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

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

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

Если приложение находится на этапе разработки или тестирования, оставьте для параметра Publishing Status (Статус публикации) значение по умолчанию – Testing (Тестирование). Это означает, что ваше приложение все ещё находится в разработке и доступно только пользователям, которых вы добавили в список тестировщиков. Вы должны управлять списком аккаунтов Google, которые участвуют в разработке или тестировании вашего приложения.

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

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

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

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

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

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

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

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

Инструкции по установке приложения для всего домена приведены в разделе часто задаваемых вопросов У моего приложения есть пользователи с корпоративными аккаунтами из другого домена Google Workspace.