Allowlisted Domains API einrichten
Auf dieser Seite wird erläutert, wie Sie die Allowlisted Domains API einrichten, bevor Sie zugelassene Domains hinzufügen, auflisten und abrufen oder löschen.
Hinweis
Bevor Sie eine der Cloud Identity APIs verwenden können, müssen Sie Cloud Identity einrichten. Eine Anleitung finden Sie unter Cloud Identity einrichten.
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.
API aktivieren und Anmeldedaten einrichten
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Erstellen Sie ein Dienstkonto:
- Sie benötigen die IAM-Rolle Dienstkonten erstellen (
roles/iam.serviceAccountCreator) und die Rolle IAM-Administrator für Projekte (roles/resourcemanager.projectIamAdmin). Informationen zum Zuweisen von Rollen. - Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.
- Wählen Sie Ihr Projekt aus.
- Geben Sie im Feld Dienstkontoname einen Namen ein. Die Google Cloud Console füllt das Feld Dienstkonto-ID anhand dieses Namens aus.
- Geben Sie im Feld Dienstkontobeschreibung eine Beschreibung ein. Beispiel:
Service account for quickstart. - Klicken Sie auf Erstellen und fortfahren.
- Weisen Sie dem Dienstkonto die Rolle Projekt > Inhaber zu. Wenn Sie die Rolle zuweisen möchten, suchen Sie die Liste Rolle auswählen und wählen Sie Projekt > Inhaber aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Fertig , um das Erstellen des Dienstkontos abzuschließen. Schließen Sie das Browserfenster nicht. Sie verwenden es in der nächsten Aufgabe.
- Sie benötigen die IAM-Rolle Dienstkonten erstellen (
- Erstellen Sie einen Dienstkontoschlüssel:
- Klicken Sie in der Google Cloud Console auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
- Klicken Sie auf Schlüssel.
- Klicken Sie auf Schlüssel hinzufügen und dann auf Neuen Schlüssel erstellen.
- Klicken Sie auf Erstellen. Daraufhin wird eine JSON-Schlüsseldatei auf Ihren Computer heruntergeladen.
- Klicken Sie auf Schließen.
API-Schlüssel erstellen
- Rufen Sie in der Google Cloud Console die Seite Anmeldedaten auf.
- Klicken Sie auf Anmeldedaten erstellen und wählen Sie den API-Schlüssel aus.
- Im Dialogfeld API-Schlüssel erstellt wird der neu erstellte API-Schlüssel angezeigt. Kopieren Sie diesen Schlüssel zur Verwendung in Ihrem Skript als Konstante
API_KEY.
Als Dienstkonto mit domainweiter Delegierung authentifizieren
Wenn Sie ein Administrator sind, der zugelassene Domains verwaltet, oder ein Konto mit domainweiten Berechtigungen zur Verwaltung zugelassener Domains im Namen von Administratoren bereitstellen möchten, sollten Sie sich als ein Dienstkonto authentifizieren und diesem dann die domainweiten Berechtigungen gewähren.
Informationen zum Einrichten der domainweiten Delegierung finden Sie unter API-Zugriff mit domainweiter Delegierung steuern. Lesen Sie die Best Practices, um die Sicherheitsrisiken zu minimieren, die mit der Verwendung der domainweiten Delegierung verbunden sind.
Geben Sie die folgenden Bereiche an, um das Dienstkonto zu autorisieren:
Für Lese- und Schreibvorgänge (
create,delete,list,get):https://www.googleapis.com/auth/cloud-identity.allowlisteddomainsFür schreibgeschützte Vorgänge (
list,get):https://www.googleapis.com/auth/cloud-identity.allowlisteddomains.readonly
Anmeldedaten initialisieren und Client instanziieren
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.
Das folgende Beispiel zeigt, wie ein Client mithilfe von Dienstkonto-Anmeldedaten instanziiert wird, um mit der Allowlisted Domains API zu interagieren:
Python
from google.oauth2 import service_account
import googleapiclient.discovery
SCOPES = [
'https://www.googleapis.com/auth/cloud-identity.allowlisteddomains.readonly',
'https://www.googleapis.com/auth/cloud-identity.allowlisteddomains',
]
SERVICE_ACCOUNT_FILE = 'SERVICE_ACCOUNT_CREDENTIAL_FILE'
PROD_DISCOVERY_URL_BASE = (
'https://cloudidentity.googleapis.com/$discovery/rest'
)
API_KEY = 'YOUR_API_KEY'
def create_service(version, delegated_email):
"""Instantiates a client using service account credentials."""
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES
)
delegated_credentials = credentials.with_subject(delegated_email)
url = f'{PROD_DISCOVERY_URL_BASE}?version={version}&key={API_KEY}'
service = googleapiclient.discovery.build(
serviceName=None,
version=None,
credentials=delegated_credentials,
discoveryServiceUrl=url,
static_discovery=False,
)
return service
Ersetzen Sie Folgendes:
SERVICE_ACCOUNT_CREDENTIAL_FILE: die Dienstkonto-Schlüsseldatei, die Sie zuvor in diesem Dokument erstellt habenYOUR_API_KEY: der API-Schlüssel, der von der Seite Anmeldedaten in der Google Cloud Console kopiert wurde
Detaillierter Beispielcode zum Aufrufen der Allowlisted Domains API-Vorgänge finden Sie unter Zugelassene Domains auflisten und abrufen.