Configura la API de dispositivos

En esta página, se explica cómo configurar la API de Cloud Identity Devices. Puedes usar la API de Devices para aprovisionar recursos de manera programática (por ejemplo, administrar Grupos de Google) en nombre de un administrador.

Habilita la API y configura credenciales

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Identity API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Identity API.

    Enable the API

Configura el acceso a la API con una cuenta de servicio con delegación de todo el dominio

En esta sección, se describe cómo crear y usar una cuenta de servicio para acceder a los recursos de Google Workspace. No se admite la autenticación directamente en la API de Devices con una cuenta de servicio, por lo que debes usar este método.

Crea una cuenta de servicio y configúrala para la delegación de todo el dominio

Para crear una cuenta de servicio y descargar la clave de la cuenta de servicio, haz lo siguiente:

  1. Para crear una cuenta de servicio, haz lo siguiente:

    1. En la consola de Google Cloud, ve a la página de cuentas de servicio de IAM:

      Ir a Cuentas de servicio

    2. Haz clic en Crear cuenta de servicio.

    3. En Detalles de la cuenta de servicio, escribe un nombre, un ID y una descripción para la cuenta de servicio y, luego, haz clic en Crear y continuar.

    4. Opcional: En Otorga a esta cuenta de servicio acceso al proyecto, selecciona los roles de IAM que deseas otorgarle.

    5. Haga clic en Continuar.

    6. Opcional: En Otorga a los usuarios acceso a esta cuenta de servicio, agrega los usuarios o grupos que tienen permiso para usar y administrar la cuenta de servicio.

    7. Haz clic en Listo.

  2. Para permitir que la cuenta de servicio acceda a la API de Devices mediante la delegación de todo el dominio, sigue las instrucciones en Configura la delegación de todo el dominio para la cuenta de servicio.

  3. Para crear y descargar una clave de cuenta de servicio, haz lo siguiente:

    1. Haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
    2. Haz clic en la pestaña Claves.
    3. En la lista desplegable Agregar clave, selecciona Crear clave nueva.
    4. Haz clic en Crear.

      Se genera y descarga en tu máquina un archivo de credenciales con formato JSON que contiene un nuevo par de claves pública y privada. El archivo contiene la única copia de las claves. Eres responsable de almacenarla de forma segura. Si pierdes el par de claves, debes generar uno nuevo.

Revisa las entradas de registro

Cuando revises las entradas de registro, ten en cuenta que los registros de auditoría mostrarán las acciones de la cuenta de servicio como si las hubiera iniciado el usuario. Esto se debe a que la delegación en todo el dominio funciona al permitir que la cuenta de servicio robe la identidad de un usuario de administrador.

Inicializa las credenciales

Cuando inicialices la credencial en el código, especifica la dirección de correo electrónico en la que actúa la cuenta de servicio mediante un llamado a with_subject() en la credencial. Por ejemplo:

Python

credentials = service_account.Credentials.from_service_account_file(
  'SERVICE_ACCOUNT_CREDENTIAL_FILE',
  scopes=SCOPES).with_subject(USER
)

Reemplaza lo siguiente:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: Es el archivo de claves de la cuenta de servicio que creaste antes en este documento.
  • USER: El usuario al que la cuenta de servicio suplanta

Crea una instancia de un cliente

En el siguiente ejemplo, se muestra cómo crear una instancia de un cliente mediante las credenciales de la cuenta de servicio.

Python

from google.oauth2 import service_account
import googleapiclient.discovery

SCOPES = ['https://www.googleapis.com/auth/cloud-identity.devices']

def create_service():
  credentials = service_account.Credentials.from_service_account_file(
    'SERVICE_ACCOUNT_CREDENTIAL_FILE',
    scopes=SCOPES
  )

  delegated_credentials = credentials.with_subject('USER')

  service_name = 'cloudidentity'
  api_version = 'v1'
  service = googleapiclient.discovery.build(
    service_name,
    api_version,
    credentials=delegated_credentials)

  return service

Reemplaza lo siguiente:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: Es el archivo de claves de la cuenta de servicio que creaste antes en este documento.
  • USER: El usuario al que la cuenta de servicio suplanta

Ahora puedes comenzar a realizar llamadas a la API de dispositivos.

Si quieres autenticarte como usuario final, reemplaza el objeto credential de la cuenta de servicio por la credential que puedes obtener en Obtén tokens de OAuth 2.0.

Instala la biblioteca cliente para Python

Para instalar la biblioteca cliente de Python, ejecuta el siguiente comando:

  pip install --upgrade google-api-python-client google-auth \
    google-auth-oauthlib google-auth-httplib2

Para obtener más información sobre la configuración de tu entorno de programación de Python, consulta la Guía de configuración del entorno de desarrollo de Python.