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

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

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

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

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

Понимание ограниченных областей

Если ваше приложение запрашивает какие-либо ограниченные области и не подпадает под исключение , вам необходимо выполнить дополнительные требования к конкретным областям 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.

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

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

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

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

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

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

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

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

  • Политика конфиденциальности должна быть видна пользователям, размещена в том же домене, что и домашняя страница вашего приложения, и иметь ссылку на экране согласия 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.

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

  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. 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.
    2. Ensure your app is one of the allowed types specified in the Limited Use section of the Additional requirements for specific API scopes page.
    3. 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.
    4. 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.

      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 and restricted scope that you request.
      5. If you use multiple clients, and therefore have multiple OAuth client IDs, show how the data is accessed on each OAuth client.
    5. Select your permitted application type from the "What features will you use?" list.
    6. Describe how you will use the restricted scopes in your app and why more limited scopes aren't sufficient.
  11. Если предоставленная вами конфигурация приложения требует проверки, у вас есть возможность отправить приложение на проверку. Заполните обязательные поля и нажмите «Отправить» , чтобы начать процесс проверки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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