Crear credenciales de acceso

Las credenciales se usan para obtener un token de acceso de los servidores de autorización de Google para que tu app pueda llamar a las APIs de Google Workspace. En este documento, se describe cómo elegir y configurar las credenciales que necesita tu app.

Elige la credencial de acceso adecuada para ti

Las credenciales requeridas dependen del tipo de datos, la plataforma y la metodología de acceso de tu app. Hay tres tipos de credenciales disponibles:

Caso de uso Método de autenticación Acerca de este método de autenticación
Accede a datos disponibles públicamente de forma anónima en tu app. Claves de API Verifica que la API que quieras usar admita claves de API antes de usar este método de autenticación.
Accede a datos del usuario, como su dirección de correo electrónico o edad. ID de cliente de OAuth Requiere que tu app solicite y reciba el consentimiento del usuario.
Accede a los datos que posee tu app, a documentos compartidos específicos (como Hojas de cálculo de Google) o a recursos de Google Workspace en nombre de los usuarios a través de la delegación de todo el dominio. Cuenta de servicio Cuando una app se autentica como una cuenta de servicio, tiene acceso a todos los recursos a los que tiene acceso la cuenta de servicio.

Para ver las definiciones de los términos que se usan en esta página, consulta la Descripción general de la autenticación y la autorización.

Credenciales de clave de API

Una clave de API es una cadena larga que contiene letras mayúsculas y minúsculas, números, guiones bajos y guiones, como AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Este método de autenticación se usa para acceder de forma anónima a datos disponibles públicamente, como los archivos de Google Workspace compartidos con la configuración de uso compartido "Cualquier persona en Internet con este vínculo". Para obtener más detalles, consulta Administra claves de API.

Para crear una clave de API, sigue estos pasos:

  1. En la consola de Google Cloud, ve a Menú > APIs y servicios > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales > Clave de API.
  3. Se muestra tu nueva clave de API.
    • Haz clic en Copiar para copiar tu clave de API y usarla en el código de tu app. La clave de API también se puede encontrar en la sección "Claves de API" de las credenciales de tu proyecto.
    • Para evitar el uso no autorizado, te recomendamos restringir dónde y para qué APIs se puede usar la clave de API Para obtener más detalles, consulta Agrega restricciones de API.

Credenciales de ID de cliente de OAuth

Para autenticar a los usuarios finales y acceder a los datos del usuario en tu app, debes crear uno o más IDs de cliente de OAuth 2.0. Un ID de cliente se usa con el fin de identificar una sola app para los servidores de OAuth de Google. Si la app se ejecuta en varias plataformas, debes crear un ID de cliente independiente para cada una.

Elige el tipo de aplicación para obtener instrucciones específicas sobre cómo crear un ID de cliente de OAuth:

Aplicación web

  1. En la consola de Google Cloud, ve a Menú > Plataforma de autenticación de Google > Clientes.

    Ir a Clientes

  2. Haz clic en Crear cliente.
  3. Haz clic en Tipo de aplicación > Aplicación web.
  4. En el campo Nombre, escribe un nombre para la credencial. Este nombre solo se muestra en la consola de Google Cloud.
  5. Agrega URIs autorizados relacionados con tu app:
    • Apps del cliente (JavaScript): En Orígenes autorizados de JavaScript, haz clic en Agregar URI. Luego, ingresa un URI para usar en las solicitudes del navegador. Esto identifica los dominios desde los que tu aplicación puede enviar solicitudes a la API al servidor de OAuth 2.0.
    • Apps del servidor (Java, Python y más): En URIs de redireccionamiento autorizados, haz clic en Agregar URI. Luego, ingresa un URI de extremo al que el servidor de OAuth 2.0 pueda enviar respuestas.
  6. Haz clic en Crear.

    La credencial recién creada aparece en IDs de cliente de OAuth 2.0.

    Ten en cuenta que los secretos del cliente no se usan para las aplicaciones web.

Android

  1. En la consola de Google Cloud, ve a Menú > Plataforma de autenticación de Google > Clientes.

    Ir a Clientes

  2. Haz clic en Crear cliente.
  3. Haz clic en Tipo de aplicación > Android.
  4. En el campo Nombre, escribe un nombre para la credencial. Este nombre solo se muestra en la consola de Google Cloud.
  5. En el campo Nombre del paquete, ingresa el nombre del paquete de tu archivo AndroidManifest.xml.
  6. En el campo Huella digital del certificado SHA-1, ingresa la huella digital del certificado SHA-1 que generaste.
  7. Haz clic en Crear.

    La credencial recién creada aparece en "IDs de cliente de OAuth 2.0".

iOS

  1. En la consola de Google Cloud, ve a Menú > Plataforma de autenticación de Google > Clientes.

    Ir a Clientes

  2. Haz clic en Crear cliente.
  3. Haz clic en Tipo de aplicación > iOS.
  4. En el campo Nombre, escribe un nombre para la credencial. Este nombre solo se muestra en la consola de Google Cloud.
  5. En el campo ID del paquete, ingresa el identificador de paquete que aparece en el archivo Info.plist de la app.
  6. Opcional: Si tu app aparece en la App Store de Apple, ingresa el ID de la App Store.
  7. Opcional: En el campo ID del equipo, ingresa la cadena única de 10 caracteres que genera Apple y se asigna a tu equipo.
  8. Haz clic en Crear.

    La credencial recién creada aparece en "IDs de cliente de OAuth 2.0".

Extensión de Chrome

  1. En la consola de Google Cloud, ve a Menú > Plataforma de autenticación de Google > Clientes.

    Ir a Clientes

  2. Haz clic en Crear cliente.
  3. Haz clic en Tipo de aplicación > Extensión de Chrome.
  4. En el campo Nombre, escribe un nombre para la credencial. Este nombre solo se muestra en la consola de Google Cloud.
  5. En el campo ID de artículo, ingresa la cadena de ID única de 32 caracteres de tu app. Puedes encontrar este valor de ID en la URL de Chrome Web Store de tu app y en el Panel del desarrollador de Chrome Web Store.
  6. Haz clic en Crear.

    La credencial recién creada aparece en "IDs de cliente de OAuth 2.0".

App de escritorio

  1. En la consola de Google Cloud, ve a Menú > Plataforma de autenticación de Google > Clientes.

    Ir a Clientes

  2. Haz clic en Crear cliente.
  3. Haz clic en Tipo de aplicación > App de escritorio.
  4. En el campo Nombre, escribe un nombre para la credencial. Este nombre solo se muestra en la consola de Google Cloud.
  5. Haz clic en Crear.

    La credencial recién creada aparece en "IDs de cliente de OAuth 2.0".

TVs y dispositivos de entrada limitada

  1. En la consola de Google Cloud, ve a Menú > Plataforma de autenticación de Google > Clientes.

    Ir a Clientes

  2. Haz clic en Crear cliente.
  3. Haz clic en Tipo de aplicación > TVs y dispositivos de entrada limitada.
  4. En el campo Nombre, escribe un nombre para la credencial. Este nombre solo se muestra en la consola de Google Cloud.
  5. Haz clic en Crear.

    La credencial recién creada aparece en "IDs de cliente de OAuth 2.0".

Credenciales de cuenta de servicio

Una cuenta de servicio es un tipo especial de cuenta que usa una aplicación, no una persona. Puedes usar una cuenta de servicio para acceder a los datos o realizar acciones con la cuenta de robot, o para acceder a los datos en nombre de los usuarios de Google Workspace o Cloud Identity. Para obtener más información, consulta Descripción general de cuentas de servicio.

Ten en cuenta que los roles de Identity and Access Management (IAM) configurados en la consola de Google Cloud no otorgan acceso a los recursos de Google Workspace (como Hojas de cálculo o Gmail). Para otorgar acceso a una cuenta de servicio a los recursos de Google Workspace, puedes usar lo siguiente:

Si tu app necesita... Dónde configurarlo...
Acceder a archivos específicos (como una Hoja de cálculo de Google) Uso compartido directo de un archivo o una carpeta con la dirección de correo electrónico de la cuenta de servicio
Realizar la administración del dominio (como crear usuarios de Google Workspace) Asignar roles administrativos directamente a la cuenta de servicio
Acceder a los datos del usuario en todo el dominio (como leer los eventos de Gmail o Calendario de Google de cualquier usuario) Autorizar la cuenta de servicio para usar la delegación de todo el dominio

Crea una cuenta de servicio

Puedes crear una cuenta de servicio con la consola de Google Cloud o la herramienta de línea de comandos de gcloud.

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a Menú > IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

    Los pasos restantes aparecen en la consola de Google Cloud.

  2. Selecciona un proyecto de Google Cloud.
  3. Haga clic en Crear cuenta de servicio.
  4. Ingresa un nombre de cuenta de servicio para mostrar en la consola de Google Cloud.
  5. Si no quieres configurar los controles de acceso ahora, haz clic en Listo para terminar de crear la cuenta de servicio. Para establecer controles de acceso ahora, haz clic en Crear y continuar y continúa con el siguiente paso.
  6. Opcional: Asigna roles a tu cuenta de servicio para otorgar acceso a los recursos de tu proyecto de Google Cloud, además de los recursos de Google Workspace. Para obtener más detalles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
  7. Haz clic en Continuar.
  8. Opcional: Ingresa los usuarios o grupos que pueden administrar y realizar acciones con esta cuenta de servicio. Para obtener más detalles, consulta Identidad temporal como cuenta de servicio.
  9. Haz clic en Listo para terminar de crear la cuenta de servicio.

    Toma nota de la dirección de correo electrónico de la cuenta de servicio.

gcloud CLI

  1. Crea la cuenta de servicio:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. Opcional: Asigna roles a tu cuenta de servicio para otorgar acceso a los recursos de tu proyecto de Google Cloud, además de los recursos de Google Workspace. Para obtener más detalles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Accede directamente a los archivos de Google Workspace con una cuenta de servicio

Si tu app solo necesita leer o escribir archivos específicos (como una Hoja de cálculo de Google o una carpeta de Google Drive), no necesitas asignar roles administrativos ni configurar la delegación de todo el dominio. En su lugar, puedes compartir archivos individuales directamente con la dirección de correo electrónico de la cuenta de servicio mediante la IU estándar. Puedes tratar la dirección de correo electrónico de la cuenta de servicio como una cuenta de usuario en la configuración de uso compartido del documento sin necesidad de privilegios de administrador.

Sigue estos pasos para otorgar acceso:

  1. Copia la dirección de correo electrónico de tu cuenta de servicio. Por ejemplo, my-service-account@my-project.iam.gserviceaccount.com.
  2. Abre el documento de Hojas de cálculo o la carpeta de Drive a la que deseas acceder.
  3. Haga clic en Compartir.
  4. Agrega la dirección de correo electrónico de la cuenta de servicio y asigna el nivel de acceso adecuado (como Editor o Visor).
  5. Anula la selección de Notificar a las personas (ya que las cuentas de servicio no tienen bandejas de entrada, no recibirán el correo electrónico de invitación, pero el permiso se otorgará de todos modos).
  6. Haz clic en Compartir.

Crea una clave de cuenta de servicio

Debes obtener credenciales en forma de un par de claves pública/privada. Tu código usa estas credenciales para autorizar las acciones de la cuenta de servicio dentro de tu app.

Para crear una clave de cuenta de servicio, sigue estos pasos:

  1. En la consola de Google Cloud, ve a Menú > IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

    Los pasos restantes aparecen en la consola de Google Cloud.

  2. Selecciona un proyecto de Google Cloud.
  3. Haz clic en la dirección de correo electrónico de la cuenta de servicio para la que quieres crear una clave.
  4. Haz clic en la pestaña Claves.
  5. Haz clic en el menú desplegable Agregar clave y, luego, selecciona Crear clave nueva.
  6. Selecciona JSON como el tipo de clave y, luego, haz clic en Crear.

    Ya se generó y descargó el nuevo par de claves pública/privada en tu equipo como un archivo de claves de cuenta de servicio. Guarda el archivo JSON descargado como credentials.json en el directorio de trabajo. Este archivo es la única copia de esta clave. Después de descargar el archivo de claves, no puedes volver a descargarlo. Para obtener información sobre cómo almacenar tu clave de forma segura, consulta Prácticas recomendadas para administrar claves de cuentas de servicio.

Asigna un rol de administrador de Google Workspace a una cuenta de servicio

Puedes asignar cualquier rol de Google Workspace precompilado o personalizado a una cuenta de servicio, con la excepción del rol de administrador avanzado.

  1. En la Consola del administrador de Google, ve a Menú > Cuenta > Roles de administrador.

    Ir a Roles de administrador

    Debes acceder como administrador avanzado para realizar esta tarea.

    Los pasos restantes aparecen en la Consola del administrador de Google.

  2. Coloca el cursor sobre el rol que deseas asignar, haz clic en el menú desplegable Actions y selecciona Asignar administrador.

  3. Haz clic en Asignar cuentas de servicio.

  4. Ingresa la dirección de correo electrónico de la cuenta de servicio.

  5. Haz clic en Agregar > Asignar rol.

Opcional: Configura la delegación de todo el dominio para una cuenta de servicio

Usa la delegación de todo el dominio cuando tu aplicación necesite acceder a los datos de Google Workspace en nombre de varios usuarios individuales de tu organización (como enviar correos electrónicos con la API de Gmail) sin requerir el consentimiento del usuario individual. Para llamar a las APIs en nombre de los usuarios de una organización de Google Workspace, otorga a tu cuenta de servicio la delegación de autoridad en todo el dominio en la Consola del administrador de Google con una cuenta de administrador avanzado. Para obtener más información, consulta Delega autoridad en todo el dominio a la cuenta de servicio.

Para configurar la delegación de autoridad en todo el dominio para una cuenta de servicio, haz lo siguiente:

  1. En la consola de Google Cloud, ve a Menú > IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Selecciona un proyecto de Google Cloud.
  3. Haz clic en la dirección de correo electrónico de la cuenta de servicio para la que deseas configurar la delegación de todo el dominio.
  4. Haz clic en Mostrar configuración avanzada.
  5. En "Delegación de todo el dominio", busca el "ID de cliente" de tu cuenta de servicio.
  6. Haz clic en Copiar para copiar el valor del ID de cliente en el portapapeles.
  7. Si tienes acceso de administrador avanzado a la cuenta de Google Workspace correspondiente, haz clic en Ver la Consola del administrador de Google Workspace, accede con tu cuenta de usuario de administrador avanzado y continúa con estos pasos.

    Si no tienes acceso de administrador avanzado a la cuenta de Google Workspace correspondiente, comunícate con un administrador avanzado de la cuenta. Envíale el ID de cliente de tu cuenta de servicio y una lista de los permisos de OAuth que requiere tu app para que pueda completar los siguientes pasos en la Consola del administrador de Google.

    1. En la Consola del administrador de Google, ve a Menú > Seguridad > Control de acceso y datos > Controles de API.

      Ir a Controles de API

    2. Haz clic en Administrar la delegación de todo el dominio.
    3. Haz clic en Agregar nueva.
    4. En el campo ID de cliente, pega el ID de cliente que copiaste anteriormente.
    5. En el campo Permisos de OAuth, ingresa una lista delimitada por comas de los permisos que requiere tu app. Este es el mismo conjunto de permisos que definiste cuando configuraste la pantalla de consentimiento de OAuth.
    6. Haz clic en Autorizar.

      Los cambios pueden tardar hasta 24 horas en aplicarse, aunque suelen ocurrir antes. Para obtener más información, consulta Controla el acceso a la API con la delegación de todo el dominio.

Próximo paso

Todo está listo para que desarrolles en Google Workspace. Revisa la lista de productos para desarrolladores de Google Workspace y cómo obtener ayuda.