Konfigurations- und Sicherheitsreferenz

Mit der Firebase-Befehlszeile können Sie Ihre Firebase-Projekte auf einem lokalen, Versionsverwaltungsprojektverzeichnis. Dazu gehören Data Connect-Dienste in Ihren Projekten, Connectors für diese Dienste sowie Ressourcen wie Schema-, Abfrage- und Mutationsquellen für jeden Connector. Mit der Befehlszeile können Sie den Firebase Data Connect-Emulator installieren und betreiben. Die Befehlszeile ist ein eine effiziente Alternative zur Firebase-Konsole.

Anleitungen zum Installieren des Firebase-Befehlszeilenexperiments für und Data Connect-bezogene CLI-Befehle finden Sie in der CLI-Referenz.

In diesem Referenzhandbuch werden folgende Themen behandelt:

  • Data Connect-spezifische Einträge in Ihrem firebase.json-Projekt Konfigurationsdatei.
  • Data Connect-Konfigurationen in dataconnect.yaml und connector.yaml
  • IAM-Rollen, die Sie für Ihre Projekte konfigurieren müssen, die Data Connect

Firebase-Projektkonfigurationsdateien

Konfigurationsreferenz für firebase.json

Verwenden Sie die dataconnect-Schlüssel, um eine oder mehrere Data Connect zu konfigurieren in Ihrem Projekt zu nutzen.

dataconnect: {
   source: string // Path to the directory containing the dataconnect.yaml service file.
}

Konfigurationsreferenz für dataconnect.yaml

In der Datei dataconnect.yaml sind Konfigurationsinformationen zu den Standorten gespeichert. der Quellen des Anwendungsschemas, der Connector-Quellen und der Datenquellenverbindung Informationen. Die Datei dient auch als Signifier des Projektverzeichnisses für das Firebase-Befehlszeile.

Der Schlüssel schemaValidation steuert den Grad der durchgeführten Schemavalidierung. wenn Schemas während der Bereitstellung migriert werden. Ohne Wert ist das Verhalten Mit dem Befehl dataconect:sql:migrate werden kompatible Änderungen und Eingabeaufforderung übernommen bevor strikte Änderungen vorgenommen werden. Wenn diese Option aktiviert ist, gilt Folgendes:

  • STRICT-Mode. Das Datenbankschema muss genau mit dem Anwendungsschema übereinstimmen, bevor das Anwendungsschema bereitgestellt werden kann. Beliebig Tabellen oder Spalten, die in Ihrem Data Connect-Schema nicht verwendet werden aus der Datenbank gelöscht.
  • COMPATIBLE-Mode. Das Datenbankschema muss kompatibel sein mit dem Anwendungsschema, bevor das Anwendungsschema bereitgestellt werden kann. Beliebige(r,s) weitere Änderungen sind optional. „Kompatibel“ bedeutet, dass Schemamigrationen auf dem von Ihnen geschriebenen Anwendungsschema basieren. Elemente in Ihrem die nicht von Ihrem Anwendungsschema verwendet werden, bleiben unverändert. Daher kann Ihr Back-End nach der Bereitstellung nicht verwendete Schemas enthalten, Tabellen und Spalten.

Die Werte für andere Schlüssel in dieser Datei werden in den nachfolgenden Kommentaren erläutert.

# The top-level Firebase Data Connect YAML file.

# The Firebase Data Connect API version to target.
# Optional. Defaults to the latest version.
specVersion: string

# The ID of the Firebase Data Connect service resource.
# Required.
serviceId: string

# The location of the Firebase Data Connect service.
# Required.
location: string

# Required.
schema:
  # Relative path to directory for schema definitions.
  # Recursively loads all .gql files in this directory.
  # Optional. If not present, defaults to ./schema.
  source: string
  # Datasource connection information.
  # Required.
  datasource:
    # Required.
    postgresql:
      # The name of the PostgreSQL database.
      # Required.
      database: string
      cloudSql:
        # The ID of the CloudSQL instance resource.
        # Required.
        instanceId: string
        # Schema validation mode for schema migrations.
        # Defaults to unspecified/commented out, meaning you are prompted to
        # review all changes during migration.
        # If desired, uncomment and indicate one of "STRICT" or "COMPATIBLE".
        schemaValidation: string

# Required.
# Relative paths to directories for connector definitions.
# Recursively loads all .gql files in the listed directories.
# All directories specified MUST contain a connector.yaml file.
connectorDirs: [string]

Die YAML-Datei geht von einer standardmäßigen (aber konfigurierbaren) Verzeichnisstruktur aus:

./(project root)
   /dataconnect
      dataconnect.yaml
      /schema
        *.gql
      /connector
        connector.yaml
        *.gql

Konfigurationsreferenz für Connector.yaml

Verwenden Sie connector.yaml, um den Standardauthentifizierungsmodus und die SDK-Generierungsoptionen zu konfigurieren.

# The connector-level YAML file.

# Required. The connector name of the Firebase Data Connect connector resource.
connectorId: string

# Optional. If not specified, no generated libraries (i.e. type-safe SDKs) will be generated.
generate:
    # Optional.
    javascriptSdk:
        # Path to the directory that will be updated with the latest generated
        # web SDK.
        # Required.
      - outputDir: string
        # Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
        # Optional. If not provided, the package will not be auto-installed for you.
      - packageJsonDir: string
        # Name of the package to be created.
        # Optional. Defaults to @firebasegen/<connectorID>
      - package: string
        <option>: string
    # Optional.
    swiftSdk:
        # Path to the directory that will be updated with the latest generated
        # iOS Swift SDK.
        # Required.
      - outputDir: string
        # Name of the package to be created.
      - package: string
        <option>: string
    # Optional.
    kotlinSdk:
        # Path to the directory that will be updated with the latest generated
        # Android SDK.
        # Required.
      - outputDir: string
        # Name of the package to be created.
      - package: string
        <option>: string

IAM-Konfiguration für Data Connect-Projekte

Detaillierte IAM-Rollen für Data Connect

Grundlegende Firebase-Rollen und vordefinierte Rollen werden einer niedrigeren Ebene zugeordnet. Data Connect Rollen. Die Zuordnung finden Sie in der Tabelle.

Zum Verwalten einzelner IAM-Rollenzuweisungen für Data Connect können Sie dies in der Google Cloud Console tun.

IAM-Rolle Berechtigungen
firebasedataconnect.googleapis.com/admin

Firebase Data Connect API Admin

Diese Rolle umfasst die Rolle „Firebase Data Connect API Viewer“.
Entspricht firebasedataconnect.*.

Diese Berechtigung wird durch die Rollen „Cloud Owner“, „Cloud Editor“,
Firebase Admin“ und „Firebase Develop Admin“ bereitgestellt.
Vollzugriff auf Ressourcen der Firebase Data Connect API, einschließlich Daten.

firebasedataconnect.googleapis.com/operations.delete
firebasedataconnect.googleapis.com/operations.cancel
firebasedataconnect.googleapis.com/services.create
firebasedataconnect.googleapis.com/services.update
firebasedataconnect.googleapis.com/services.delete
firebasedataconnect.googleapis.com/services.executeGraphql
firebasedataconnect.googleapis.com/services.executeGraphqlRead
firebasedataconnect.googleapis.com/schemas.create
firebasedataconnect.googleapis.com/schemas.update
firebasedataconnect.googleapis.com/schemas.delete
firebasedataconnect.googleapis.com/schemaRevisions.create
firebasedataconnect.googleapis.com/schemaRevisions.delete
firebasedataconnect.googleapis.com/connectors.create
firebasedataconnect.googleapis.com/connectors.update
firebasedataconnect.googleapis.com/connectors.delete
firebasedataconnect.googleapis.com/connectorRevisions.create
firebasedataconnect.googleapis.com/connectorRevisions.delete
firebasedataconnect.googleapis.com/viewer

Firebase Data Connect API-Betrachter

Sie wird vom Cloud-Inhaber, vom Cloud-Bearbeiter
bereitgestellt. Cloud Viewer, Firebase Admin, Firebase Viewer,
Die Rollen „Firebase Develop Admin“ und „Firebase Develop Viewer“.
Lesezugriff auf Ressourcen der Firebase Data Connect API. Rolle nicht Zugriff auf Daten zu gewähren.

cloudresourcemanager.googleapis.com/projects.list
cloudresourcemanager.googleapis.com/projects.get

firebasedataconnect.googleapis.com/operations.list
firebasedataconnect.googleapis.com/operations.get
firebasedataconnect.googleapis.com/locations.list
firebasedataconnect.googleapis.com/locations.get
firebasedataconnect.googleapis.com/services.list
firebasedataconnect.googleapis.com/services.get
firebasedataconnect.googleapis.com/schemas.list
firebasedataconnect.googleapis.com/schemas.get
firebasedataconnect.googleapis.com/schemaRevisions.list
firebasedataconnect.googleapis.com/schemaRevisions.get
firebasedataconnect.googleapis.com/connectors.list
firebasedataconnect.googleapis.com/connectors.get
firebasedataconnect.googleapis.com/connectorRevisions.list
firebasedataconnect.googleapis.com/connectorRevisions.get
firebasedataconnect.googleapis.com/dataAdmin

Administrator von Firebase Data Connect API-Daten

Sie wird vom Cloud-Inhaber, vom Cloud-Bearbeiter
bereitgestellt. Firebase-Administrator und Firebase Develop-Administrator
Vollständiger Lese- und Schreibzugriff auf Datenquellen.

firebasedataconnect.googleapis.com/services.executeGraphql
firebasedataconnect.googleapis.com/services.executeGraphqlRead
firebasedataconnect.googleapis.com/dataViewer

Betrachter von Firebase Data Connect API-Daten

Sie wird vom Cloud-Inhaber, vom Cloud-Bearbeiter
bereitgestellt. Firebase-Administrator und Firebase Develop-Administrator
Lesezugriff auf Datenquellen.

firebasedataconnect.googleapis.com/services.executeGraphqlRead