Algunas APIs de Google (las que aceptan alcances sensibles o restringidos ) tienen requisitos para las apps que solicitan permiso para acceder a datos de consumidores. Estos requisitos adicionales para los permisos restringidos requieren que las apps demuestren que son un tipo de aplicación permitido y que se envíen a revisiones adicionales, que incluyen una posible evaluación de seguridad.
La aplicabilidad de los permisos restringidos dentro de una API depende principalmente del grado de acceso necesario para proporcionar una función relevante en tu app: solo lectura, solo escritura, lectura y escritura, etcétera.
Cuando usas OAuth 2.0 para obtener el permiso de una Cuenta de Google y así acceder a estos datos, se usan cadenas llamadas alcances a fin de especificar el tipo de datos a los que deseas acceder y la cantidad de acceso que necesitas. Si tu app solicita permisos sensibles o restringidos, debes completar el proceso de verificación, a menos que su uso califique para una excepción.
La cantidad de permisos restringidos es menor en comparación con los permisos sensibles. Las Preguntas frecuentes sobre la verificación de la API de OAuth para la verificación contienen la lista actual de permisos sensibles y restringidos. Estos permisos brindan un amplio acceso a los datos del usuario de Google y requieren que te sometas a un proceso de verificación de alcance antes de solicitarlos desde cualquier Cuenta de Google. Para obtener información sobre este requisito, consulta la Política de Datos del Usuario de los Servicios de la API de Google y los Requisitos adicionales para permisos específicos de APIs o la página del desarrollador de Google específica del producto. Si almacenas o transmites datos de permiso restringido en los servidores, debes completar una evaluación de seguridad.
Información sobre los permisos restringidos
Si tu app solicita algún alcance restringido y no califica para una excepción, debes cumplir con los requisitos adicionales para permisos de API específicos de la Política de Datos del Usuario de los Servicios de las APIs de Google o los requisitos específicos del producto en la página del desarrollador de Google del producto, que requiere un proceso de revisión más extenso.
Comprende el uso de tu alcance
- Revisa los permisos que usa tu app o que quieres usar. Para encontrar tu uso de permisos existente, examina el código fuente de tu app en busca de cualquier permiso enviado con las solicitudes de autorización.
- Determina que cada alcance solicitado es necesario para las acciones previstas de la función de tu app y que use el menor privilegio necesario para proporcionar la función. Por lo general, una API de Google tiene documentación de referencia en la página del desarrollador de Google del producto para sus extremos que incluye el alcance necesario para llamar al extremo o propiedades específicas dentro de ellas. Si quieres obtener más información sobre los permisos de acceso necesarios para los extremos de API a los que llama tu app, lee la documentación de referencia de esos extremos. 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.
- Los datos que recibes de una API de Google solo deben usarse de conformidad con las políticas de la API y la manera en la que representas a los usuarios en las acciones de tu app y en tu política de privacidad.
- Consulta la documentación de la API para obtener más información sobre cada alcance, incluido su posible estado sensitive or restricted .
- Declara todos los permisos que usa tu app en la página de permisos de configuración de la pantalla de consentimiento de OAuth de API Console. Los permisos que especifiques se agruparán en categorías sensibles o restringidas para destacar cualquier verificación adicional que sea necesaria.
- Encuentra el mejor alcance que coincida con los datos que usa tu integración, comprende su uso, vuelve a confirmar que todo funciona correctamente en un entorno de pruebas y, luego, prepárate para enviarlo a verificación.
Asegúrate de tener en cuenta el tiempo necesario para completar la verificación en el plan de lanzamiento de la app o cualquier función nueva que requiera un nuevo alcance. Uno de estos requisitos adicionales se produce si la app accede a datos del usuario de Google o tiene la capacidad de hacerlo desde un servidor o a través de este. En estos casos, el sistema debe someterse a una evaluación de seguridad anual por parte de un asesor externo independiente que Google apruebe. Por este motivo, el proceso de verificación de permisos restringidos puede tardar varias semanas en completarse. Ten en cuenta que todas las apps deben completar en primer lugar el paso de verificación de marca, que suele tardar entre 2 y 3 días hábiles, si la información de marca cambió desde la última verificación aprobada de la pantalla de consentimiento de OAuth.
Tipos de aplicaciones permitidas
Algunos tipos de aplicaciones pueden acceder a alcances restringidos para cada producto. Puedes encontrar los tipos de aplicación en la Página del desarrollador de Google específica del producto (por ejemplo, la política de la API de Gmail).
Es tu responsabilidad comprender y determinar el tipo de app. Sin embargo, si realmente no estás seguro del tipo de aplicación que usas, puedes seleccionar ninguna opción en la pregunta ¿Qué funciones usarás? cuando envíes la app para su verificación. Luego, el equipo de verificación de la API de Google determinará el tipo de aplicación.
Evaluación de seguridad
Todas las apps que soliciten acceso a los datos restringidos de los usuarios de Google y que puedan acceder a datos de un servidor de terceros o a través de él deben pasar por una evaluación de seguridad de asesores de seguridad que incluye el panel de Google. Esta evaluación ayuda a proteger los datos de los usuarios de Google, ya que verifica que todas las apps que acceden a los datos de los usuarios de Google demuestren la capacidad de administrar datos de forma segura y borrarlos cuando este lo solicite.
Para estandarizar nuestra evaluación de seguridad, utilizamos la Alianza de defensa de aplicaciones y el framework de evaluación de seguridad para aplicaciones en la nube (CASA).
Como se mencionó anteriormente, para mantener el acceso a cualquier permiso restringido verificado, se debe volver a verificar las apps a fin de garantizar el cumplimiento y completar una evaluación de seguridad al menos cada 12 meses después de la fecha de aprobación de la carta de evaluación (LOA) del evaluador. Si tu app agrega un nuevo alcance restringido, es posible que debas volver a evaluarla para abarcar el alcance adicional si no se incluyó en una evaluación de seguridad anterior.
El equipo de revisión de Google te enviará un correo electrónico cuando sea el momento de renovar la certificación de tu app. Para asegurarte de que se notifique a los miembros correctos del equipo sobre esta aplicación anual, asocia Cuentas de Google adicionales al proyecto de API Console como propietario o editor. También ayuda a mantener actualizados los correos electrónicos de asistencia al usuario y de contacto del desarrollador que se especifican en Consent Screen pagede OAuth de API Console de Google.
Pasos de preparación para la verificación
Todas las apps que usan las APIs de Google para solicitar acceso a los datos deben realizar los siguientes pasos para completar la verificación de marca:
- Confirma que tu app no entra en ninguno de los casos de uso de la sección Excepciones a los requisitos de verificación.
- Asegúrate de que tu app cumpla con los requisitos de desarrollo de la marca de las APIs o el producto asociados. Por ejemplo, consulta los lineamientos de desarrollo de la marca para los alcances de Acceso con Google.
- Verifica la propiedad de los dominios autorizados de tu proyecto en Google Search Console. Usa una Cuenta de Google asociada a tu proyecto de API Console como propietario o editor.
- Asegúrate de que toda la información de marca en la pantalla de consentimiento de OAuth, como el nombre de la app, el correo electrónico de asistencia, el URI de la página principal, el URI de la política de privacidad, etc., represente con precisión la identidad de la app.
Requisitos de la página principal de la aplicación
Asegúrate de que la página principal cumpla con los siguientes requisitos:
- Tu página principal debe ser de acceso público, y no solo los usuarios registrados en tu sitio deben poder acceder a ella.
- La relevancia de tu página principal para la app que está en proceso de revisión debe ser clara.
- Los vínculos a la ficha de tu app en Google Play Store o su página de Facebook no se consideran páginas principales válidas de la aplicación.
Requisitos del vínculo a la Política de Privacidad de la aplicación
Asegúrate de que la política de privacidad de tu app cumpla con los siguientes requisitos:
- La política de privacidad debe ser visible para los usuarios, alojada en el mismo dominio que la página principal de tu aplicación y vinculada a la pantalla de consentimiento de OAuth de Google API Console. Ten en cuenta que la página principal debe incluir una descripción de la funcionalidad de la app, así como vínculos a la política de privacidad y a las condiciones del servicio opcionales.
- En la política de privacidad, se debe divulgar la forma en que la aplicación accede a los datos del usuario de Google, los usa, los almacena o los comparte. The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes. Debes limitar el uso que le des a los datos del usuario de Google a las prácticas que divulga tu política de privacidad publicada.
- Review example cases of privacy policies that don't meet the Limited Use requirements.
Cómo enviar una app para verificarla
Un proyecto deGoogle API Console organiza todos tus API Console recursos. Un proyecto consiste en un conjunto de Cuentas de Google asociadas que tienen permiso para realizar operaciones del proyecto, un conjunto de API habilitadas y configuración de facturación, autenticación y supervisión para esas API. Por ejemplo, un proyecto puede contener uno o más clientes de OAuth, configurar las APIs para que las usen esos clientes y configurar una pantalla de consentimiento de OAuth que se muestre a los usuarios antes de que autoricen el acceso a tu app.
Si alguno de tus clientes de OAuth no está listo para la producción, te sugerimos que lo borres del proyecto que solicita la verificación. Puedes hacerlo en Google API Console.
Para solicitar la verificación, sigue estos pasos:
- Asegúrate de que tu app cumpla con las Condiciones del Servicio de las APIs de Google y la Política de Datos del Usuario de los Servicios de las APIs de Google.
- Mantén actualizados los roles de propietario y editor de las cuentas asociadas de tu proyecto, así como la información de contacto del desarrollador y el correo electrónico de asistencia del usuario de tu pantalla de consentimiento de OAuth en tu API Console. Esto garantiza que se notifique a los miembros correctos de tu equipo sobre cualquier requisito nuevo.
- Ve a API Console OAuth Consent Screen page.
- Haz clic en el botón Selector de proyectos.
-
En el cuadro de diálogo Seleccionar una opción que aparece, elige tu proyecto. Si no encuentras el proyecto, pero conoces el ID del proyecto, puedes crear una URL en el navegador con el siguiente formato:
https://console.developers.google.com/apis/credentials/consent?project=[PROJECT_ID]
Reemplaza [PROJECT_ID] por el ID del proyecto que deseas usar.
- Selecciona el botón Edit App.
- Ingresa la información necesaria en la página de la pantalla de consentimiento de OAuth y, luego, selecciona el botón Guardar y continuar.
- Usa el botón Agregar o quitar permisos para declarar todos los permisos que solicita tu app. Un conjunto inicial de permisos necesarios para el Acceso con Google se completa previamente en la sección Alcances no sensibles. Los permisos agregados se clasifican como no sensibles, sensitive, or restricted.
- Proporciona hasta tres vínculos a cualquier documentación relevante para funciones relacionadas en tu app.
-
Proporciona cualquier información adicional que se solicite sobre la app en los pasos posteriores.
- 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.
- Si la configuración de la app que proporcionas requiere verificación, tienes la oportunidad de enviar la app para verificarla. Completa los campos obligatorios y, luego, haz clic en Enviar para iniciar el proceso de verificación.
Después de que envíes la app, el equipo de Confianza y Seguridad de Google se comunicará por correo electrónico con la información adicional necesaria o los pasos que debes completar. Verifica tus direcciones de correo electrónico en la sección Información de contacto del desarrollador y el correo electrónico de asistencia de tu pantalla de consentimiento de OAuth para solicitar información adicional. También puedes ver la página de la pantalla de consentimiento de OAuth de tu proyecto para confirmar el estado de revisión actual de tu proyecto, lo que incluye si el proceso de revisión se detiene mientras esperamos tu respuesta.
Excepciones a los requisitos de verificación
Si tu app se usará en alguna de las situaciones descritas en las siguientes secciones, no es necesario que la envíes para su revisión.
Uso personal
Un caso práctico es si eres el único usuario de tu app o si solo unos pocos usuarios la usan, de los cuales todos conoces personalmente. Es posible que tú y una cantidad limitada de usuarios se sientan cómodos con el paso de la pantalla de la app no verificada y la concesión de acceso a la app a tus cuentas personales.
Proyectos que se usan en los niveles de Desarrollo, Pruebas o etapa de pruebas
A fin de cumplir con las políticas de Google OAuth 2.0, te recomendamos que tengas diferentes proyectos para entornos de prueba y producción. Te recomendamos que solo envíes tu app para verificación si quieres que esté disponible para cualquier usuario con una Cuenta de Google. Por lo tanto, si tu app está en las fases de desarrollo, prueba o etapa de pruebas, no se requiere verificación.
Si tu app está en las fases de desarrollo o prueba, puedes dejar el Estado de publicación en la configuración predeterminada de Prueba. Con esta configuración, la app aún está en desarrollo y solo está disponible para los usuarios que agregues a la lista de usuarios de prueba. Debes administrar la lista de Cuentas de Google que participan en el desarrollo o las pruebas de tu app.
![Mensaje de advertencia que indica que Google no verificó una app que se está probando.](https://developers-dot-devsite-v2-prod.appspot.com/static/identity/protocols/oauth2/images/examples/tester-warning-screen.png?authuser=3&hl=es-419)
Solo datos que son propiedad del servicio
Si tu app usa una cuenta de servicio para acceder solo a sus propios datos y no accede a los datos del usuario (vinculados a una Cuenta de Google), no es necesario que envíes la verificación.
Para comprender qué son las cuentas de servicio, consulta Cuentas de servicio en la documentación de Google Cloud. Si quieres obtener instrucciones para usar una cuenta de servicio, consulta Usa OAuth 2.0 para aplicaciones de servidor a servidor.
Solo para uso interno
Esto significa que solo las personas de tu organización de Google Workspace o Cloud Identity usan la app. El proyecto debe ser propiedad de la organización, y su pantalla de consentimiento de OAuth debe configurarse para un tipo de usuario Interno. En este caso, es posible que tu app necesite la aprobación de un administrador de la organización. Para obtener más información, consulta Consideraciones adicionales para Google Workspace.
- Obtén más información sobre las aplicaciones internas y públicas.
- Obtén información para marcar tu app como interna en las Preguntas frecuentes ¿Cómo puedo marcar mi app como solo para uso interno?
Instalación en todo el dominio
Si planeas que tu app se oriente únicamente a los usuarios de una organización de Google Workspace o Cloud Identity y siempre usas la instalación para todo el dominio, tu app no requerirá la verificación de la app. Esto se debe a que una instalación en todo el dominio permite que un administrador otorgue a las aplicaciones internas y de terceros acceso a los datos de los usuarios. Los administradores de la organización son las únicas cuentas que pueden agregar la app a una lista de entidades permitidas para usarla en sus dominios.
Obtén información para convertir tu app en una instalación para todo el dominio en la sección de Preguntas frecuentes Mi aplicación tiene usuarios con cuentas empresariales de otro dominio de Google Workspace.