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 im Namen eines Administrators verwalten.
API aktivieren und Anmeldedaten einrichten
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Identity API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Identity 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 über ein 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:
So erstellen Sie ein Dienstkonto:
Rufen Sie in der Google Cloud Console die Seite „IAM-Dienstkonten“ auf:
Klicken Sie auf
Dienstkonto erstellen.Geben Sie unter Dienstkontodetails einen Namen, eine ID und eine Beschreibung für das Dienstkonto ein und klicken Sie dann auf Erstellen und fortfahren.
Optional: Wählen Sie unter Diesem Dienstkonto Zugriff auf das Projekt erteilen die IAM-Rollen aus, die dem Dienstkonto zugewiesen werden sollen.
Klicken Sie auf Weiter.
Optional: Fügen Sie unter Nutzern Zugriff auf dieses Dienstkonto erteilen die Nutzer oder Gruppen hinzu, die das Dienstkonto verwenden und verwalten dürfen.
Klicken Sie auf Fertig.
Wenn Sie dem Dienstkonto über die domainweite Delegierung Zugriff auf die Devices API gewähren möchten, folgen Sie der Anleitung unter Domainweite Delegierung für das Dienstkonto einrichten.
So erstellen und laden Sie einen Dienstkontoschlüssel herunter:
- Klicken Sie auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
- Klicken Sie auf den Tab Schlüssel.
- Wählen Sie in der Drop-down-Liste Schlüssel hinzufügen die Option Neuen Schlüssel erstellen aus.
Klicken Sie auf Erstellen.
Eine JSON-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
Beachten Sie beim Prüfen von Logeinträgen, dass in Audit-Logs alle Dienstkontoaktionen als vom Nutzer initiiert angezeigt werden. Das liegt daran, dass bei der domainweiten Delegierung dem Dienstkonto erlaubt wird, sich als Administrator auszugeben.
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 Schlüsseldatei des Dienstkontos, die Sie zuvor in diesem Dokument erstellt habenUSER
: der Nutzer, dessen Identität das Dienstkonto übernimmt
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 Schlüsseldatei des Dienstkontos, die Sie zuvor in diesem Dokument erstellt habenUSER
: der Nutzer, dessen Identität das Dienstkonto übernimmt
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 das credential
, das Sie unter OAuth 2.0-Token abrufen erhalten können.
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.