Configurer l'API Devices

Cette page explique comment configurer l'API Devices de Cloud Identity. Vous pouvez utiliser l'API Devices pour provisionner des ressources de manière programmatique (par exemple, gérer des groupes Google) au nom d'un administrateur.

Activer l'API et configurer des identifiants

  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

Configurer l'accès aux API à l'aide d'un compte de service avec délégation au niveau du domaine

Cette section explique comment créer et utiliser un compte de service pour accéder aux ressources Google Workspace. L'authentification directe auprès de l'API Devices à l'aide d'un compte de service n'est pas prise en charge. Vous devez donc utiliser cette méthode.

Créer un compte de service et le configurer pour la délégation au niveau du domaine

Pour créer un compte de service et télécharger la clé de compte de service, procédez comme suit:

  1. Pour créer un compte de service, procédez comme suit :

    1. Dans la console Google Cloud, accédez à la page des comptes de service IAM:

      Accéder à la page "Comptes de service"

    2. Cliquez sur Créer un compte de service.

    3. Sous Détails du compte de service, saisissez un nom, un ID et une description pour le compte de service, puis cliquez sur Créer et continuer.

    4. Facultatif: sous Autoriser ce compte de service à accéder au projet, sélectionnez les rôles IAM à attribuer au compte de service.

    5. Cliquez sur Continuer.

    6. Facultatif: sous Autoriser les utilisateurs à accéder à ce compte de service, ajoutez les utilisateurs ou les groupes autorisés à utiliser et à gérer le compte de service.

    7. Cliquez sur OK.

  2. Pour autoriser le compte de service à accéder à l'API Devices à l'aide de la délégation au niveau du domaine, suivez les instructions de la section Configurer la délégation au niveau du domaine pour le compte de service.

  3. Pour créer et télécharger une clé de compte de service, procédez comme suit :

    1. Cliquez sur l'adresse e-mail du compte de service que vous avez créé.
    2. Cliquez sur l'onglet Clés.
    3. Dans la liste déroulante Ajouter une clé, sélectionnez Créer une clé.
    4. Cliquez sur Créer.

      Un fichier d'identifiants au format JSON, contenant une nouvelle paire de clés publique et privée, est généré et téléchargé sur votre machine. Le fichier contient la seule copie des clés. Vous êtes responsable de la stocker de manière sécurisée. Si vous perdez la paire de clés, vous devez en générer une nouvelle.

Examiner les entrées de journal

Lorsque vous examinez les entrées de journal, notez que les journaux d'audit indiquent que toutes les actions du compte de service ont été initiées par l'utilisateur. En effet, la délégation au niveau du domaine permet au compte de service d'usurper l'identité d'un utilisateur administrateur.

Initialiser les identifiants

Lorsque vous initialisez l'identifiant dans votre code, spécifiez l'adresse e-mail avec laquelle le compte de service agit en appelant with_subject() sur l'identifiant. Exemple :

Python

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

Remplacez les éléments suivants :

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: fichier de clé du compte de service que vous avez créé précédemment dans ce document
  • USER: utilisateur que le compte de service usurpe

Instancier un client

L'exemple suivant montre comment instancier un client à l'aide des identifiants d'un compte de service.

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

Remplacez les éléments suivants :

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: fichier de clé du compte de service que vous avez créé précédemment dans ce document
  • USER: utilisateur que le compte de service usurpe

Vous pouvez maintenant commencer à appeler l'API Devices.

Pour vous authentifier en tant qu'utilisateur final, remplacez l'objet credential du compte de service par l'credential que vous pouvez obtenir dans Obtenir des jetons OAuth 2.0.

Installer la bibliothèque cliente Python

Pour installer la bibliothèque cliente Python, exécutez la commande suivante :

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

Pour savoir comment configurer votre environnement de développement Python, consultez le guide de configuration d'un environnement de développement Python.