Bei Firestore authentifizieren

In diesem Dokument wird die programmatische Authentifizierung bei Firestore beschrieben. Wie Sie sich bei Firestore authentifizieren, hängt von der Schnittstelle ab, mit der Sie auf die API zugreifen, und von der Umgebung, in der Ihr Code ausgeführt wird.

Die Informationen auf dieser Seite gelten, wenn Sie Server-Clientbibliotheken und die REST API und die RPC API verwenden. Wenn Sie Clientbibliotheken für mobile oder Webclients verwenden, wird die Authentifizierung durch eine Kombination aus Firestore-Sicherheitsregeln und Firebase Auth verwaltet. Weitere Informationen finden Sie unter Daten für Mobil- und Webclients sichern.

Weitere Informationen zur Google Cloud-Authentifizierung finden Sie unter Authentifizierung.

API-Zugriff

Firestore unterstützt den programmatischen Zugriff. Für den Zugriff auf die API gibt es folgende Möglichkeiten:

Clientbibliotheken

Die Firestore-Clientbibliotheken bieten allgemeine Sprachunterstützung für die programmatische Authentifizierung bei Firestore. Zur Authentifizierung von Aufrufen an Google Cloud APIs unterstützen Clientbibliotheken Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC). Die Bibliotheken suchen nach Anmeldedaten an einer Reihe von definierten Standorten und verwenden diese Anmeldedaten, um Anfragen an die API zu authentifizieren. Mit ADC können Sie Anmeldedaten für Ihre Anwendung in verschiedenen Umgebungen bereitstellen, z. B. in der lokalen Entwicklung oder Produktion, ohne den Anwendungscode ändern zu müssen.

Google Cloud CLI

Wenn Sie über die gcloud CLI auf Firestore zugreifen, melden Sie sich in der gcloud CLI mit einem Google-Konto an, das die von den gcloud CLI-Befehlen verwendeten Anmeldedaten zur Verfügung stellt.

Wenn die Sicherheitsrichtlinien Ihrer Organisation verhindern, dass Nutzerkonten die erforderlichen Berechtigungen haben, können Sie die Identitätsübernahme des Dienstkontos verwenden.

Weitere Informationen finden Sie unter Für die Verwendung der gcloud CLI authentifizieren. Weitere Informationen zur Verwendung der gcloud CLI mit Firestore finden Sie auf den Referenzseiten der gcloud CLI.

Authentifizierung für Firestore einrichten

Wie Sie die Authentifizierung einrichten, hängt von der Umgebung ab, in der Ihr Code ausgeführt wird.

Am häufigsten werden folgende Optionen zum Einrichten der Authentifizierung verwendet. Weitere Optionen und Informationen zu Authentifizierung bei Google.

Für eine lokale Entwicklungsumgebung

Sie können Anmeldedaten für eine lokale Entwicklungsumgebung auf folgende Weise einrichten:

Clientbibliotheken oder Tools von Drittanbietern

Richten Sie Standardanmeldedaten für Anwendungen (ADC) für Ihre lokale Umgebung ein.

  1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

    gcloud init
  2. Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:

    gcloud auth application-default login

    Ein Anmeldebildschirm wird angezeigt. Nach der Anmeldung werden Ihre Anmeldedaten in der lokalen Anmeldedatendatei für ADC gespeichert.

Weitere Informationen zum Arbeiten mit ADC in einer lokalen Umgebung finden Sie unter Lokale Entwicklungsumgebung.

Innerhalb von Google Cloud

Zur Authentifizierung einer in Google Cloud ausgeführten Arbeitslast verwenden Sie die Anmeldedaten des an die Compute-Ressource, in der Ihr Code ausgeführt wird, angehängten Dienstkontos. Beispiel: Sie können ein Dienstkonto an eine Compute Engine-VM-Instanz, einen Cloud Run-Dienst oder einen Dataflow-Job anhängen. Dieser Ansatz ist die bevorzugte Authentifizierungsmethode für Code, der in einer Google Cloud-Computing-Ressource ausgeführt wird.

Bei den meisten Diensten müssen Sie das Dienstkonto beim Erstellen der Ressource, in der der Code ausgeführt wird, anhängen. Sie können das Dienstkonto nicht später hinzufügen oder ersetzen. Compute Engine ist eine Ausnahme. Mit Compute Engine können Sie jederzeit ein Dienstkonto an eine VM-Instanz anhängen.

Verwenden Sie die gcloud CLI, um ein Dienstkonto zu erstellen und an Ihre Ressource anzuhängen:

  1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

    gcloud init
  2. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. To provide access to your project and your resources, grant a role to the service account:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
    3. To grant another role to the service account, run the command as you did in the previous step.
    4. Grant the required role to the principal that will attach the service account to other resources.

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • USER_EMAIL: the email address for a Google Account
  3. Erstellen Sie die Ressource, in der der Code ausgeführt wird, und hängen Sie das Dienstkonto an diese Ressource an. Wenn Sie beispielsweise Compute Engine verwenden:

    Create a Compute Engine instance. Configure the instance as follows:
    • Replace INSTANCE_NAME with your preferred instance name.
    • Set the --zone flag to the zone in which you want to create your instance.
    • Set the --service-account flag to the email address for the service account that you created.
    gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL

Weitere Informationen zur Authentifizierung bei Google APIs finden Sie unter Authentifizierung bei Google.

Lokal oder bei einem anderen Cloud-Anbieter

Die bevorzugte Methode zum Einrichten der Authentifizierung außerhalb von Google Cloud ist die Verwendung der Identitätsföderation von Arbeitslasten. Weitere Informationen finden Sie in der Authentifizierungsdokumentation unter Lokal oder bei einem anderen Cloud-Anbieter.

Zugriffssteuerung für Firestore

Nach der Authentifizierung bei Firestore müssen Sie für den Zugriff auf Google Cloud-Ressourcen autorisiert sein. Firestore verwendet Identity and Access Management (IAM) für die Autorisierung.

Weitere Informationen zu den Rollen für Firestore finden Sie unter Sicherheit für Server-Clientbibliotheken. Weitere Informationen zu IAM und Autorisierung finden Sie in der IAM-Übersicht.

Nächste Schritte