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

  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 serviceusage.services.enable permission. 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.

    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 serviceusage.services.enable permission. 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.

    Enable the API

  8. 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.
  9. 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

  1. Rufen Sie in der Google Cloud Console die Seite Anmeldedaten auf.
  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie den API-Schlüssel aus.
  3. 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.allowlisteddomains

  • Fü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 haben
  • YOUR_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.