Devices API einrichten

Auf dieser Seite wird erläutert, wie Sie die Cloud Identity Devices API einrichten. Mit der Devices API können Sie Ressourcen programmatisch bereitstellen, z. B. Google-Gruppen verwalten, und zwar im Namen eines Administrators.

API aktivieren und Anmeldedaten einrichten

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Identity API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Identity API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

API-Zugriff mit einem Dienstkonto mit domainweiter Delegierung einrichten

In diesem Abschnitt wird beschrieben, wie Sie ein Dienstkonto erstellen und verwenden, um auf Google Workspace-Ressourcen zuzugreifen. Die direkte Authentifizierung bei der Devices API mit einem Dienstkonto wird nicht unterstützt. Sie müssen daher diese Methode verwenden.

Dienstkonto erstellen und für die domainweite Delegierung konfigurieren

So erstellen Sie ein Dienstkonto und laden den Dienstkontoschlüssel herunter:

  1. So erstellen Sie ein Dienstkonto:

    1. Rufen Sie in der Google Cloud Console die Seite „IAM-Dienstkonten“ auf:

      Zur Seite "Dienstkonten"

    2. Klicken Sie auf Dienstkonto erstellen.

    3. Geben Sie unter Dienstkontodetails einen Namen, eine ID und eine Beschreibung für das Dienstkonto ein und klicken Sie dann auf Erstellen und fortfahren.

    4. Optional: Wählen Sie unter Diesem Dienstkonto Zugriff auf das Projekt erteilen die IAM-Rollen aus, die dem Dienstkonto zugewiesen werden sollen.

    5. Klicken Sie auf Weiter.

    6. Optional: Fügen Sie unter Nutzern Zugriff auf dieses Dienstkonto erteilen die Nutzer oder Gruppen hinzu, die das Dienstkonto verwenden und verwalten dürfen.

    7. Klicken Sie auf Fertig.

  2. Wenn das Dienstkonto mit domainweiter Delegierung auf die Devices API zugreifen soll, folgen Sie der Anleitung unter Domainweite Delegierung für das Dienstkonto einrichten.

  3. So erstellen und laden Sie einen Dienstkontoschlüssel herunter:

    1. Klicken Sie auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
    2. Klicken Sie auf den Tab Schlüssel.
    3. Wählen Sie in der Drop-down-Liste Schlüssel hinzufügen die Option Neuen Schlüssel erstellen aus.
    4. Klicken Sie auf Erstellen.

      Eine JSON-formatierte Anmeldedatendatei mit einem neuen öffentlichen und privaten Schlüsselpaar wird generiert und auf Ihren Computer heruntergeladen. Die Datei enthält die einzige Kopie der Schlüssel. Es liegt in Ihrer Verantwortung, ihn sorgfältig aufzubewahren. Wenn Sie das Schlüsselpaar verlieren, müssen Sie ein neues generieren.

Logeinträge prüfen

Wenn Sie Logeinträge prüfen, beachten Sie, dass in Audit-Logs alle Dienstkontoaktionen als vom Nutzer initiiert angezeigt werden. Das liegt daran, dass die domainweite Delegierung dadurch funktioniert, dass sich das Dienstkonto als Administrator ausgeben darf.

Anmeldedaten initialisieren

Geben Sie beim Initialisieren der Anmeldedaten in Ihrem Code die E-Mail-Adresse an, unter der das Dienstkonto agiert. Rufen Sie dazu with_subject() für die Anmeldedaten auf. Beispiel:

Python

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

Ersetzen Sie Folgendes:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: die Dienstkontoschlüsseldatei, die Sie zuvor in diesem Dokument erstellt haben
  • USER: der Nutzer, dessen Identität das Dienstkonto annimmt

Client instanziieren

Das folgende Beispiel zeigt, wie ein Client mithilfe von Dienstkonto-Anmeldedaten instanziiert wird.

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

Ersetzen Sie Folgendes:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: die Dienstkontoschlüsseldatei, die Sie zuvor in diesem Dokument erstellt haben
  • USER: der Nutzer, dessen Identität das Dienstkonto annimmt

Sie können jetzt Aufrufe der Devices API starten.

Wenn Sie sich stattdessen als Endnutzer authentifizieren möchten, ersetzen Sie das credential-Objekt aus dem Dienstkonto durch die credential, die Sie unter OAuth 2.0-Tokens abrufen erhalten.

Python-Clientbibliothek installieren

Führen Sie den folgenden Befehl aus, um die Python-Clientbibliothek zu installieren:

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

Weitere Informationen zur Einrichtung der Python-Entwicklungsumgebung finden Sie im Einrichtungsleitfaden für die Python-Entwicklungsumgebung.