Informacje o konfiguracji i zabezpieczeniach

Narzędzie wiersza poleceń Firebase umożliwia zarządzanie projektami Firebase w lokalnym katalogu projektu z kontrolą wersji. Obejmuje to Data Connect usług w projektach, oprogramowania sprzęgającego do tych usług oraz zasobów takich jak źródeł schematów, zapytań i mutacji dla każdego oprogramowania sprzęgającego. Interfejs wiersza poleceń umożliwia też instalację i obsługę emulatora Firebase Data Connect. Interfejs wiersza poleceń to ekonomiczna alternatywa dla pracy w konsoli Firebase.

Aby uzyskać instrukcje instalowania eksperymentu interfejsu wiersza poleceń Firebase dla: w programie Private Preview i Data Connectpowiązanych poleceń interfejsu wiersza poleceń, zapoznaj się z Dokumentacja interfejsu wiersza poleceń.

W tym przewodniku znajdują się dokumenty:

  • Wpisy dotyczące Data Connect w pliku konfiguracji projektu firebase.json.
  • Konfiguracje Data Connect w usługach dataconnect.yamlconnector.yaml.
  • Role uprawnień, które musisz skonfigurować w projektach, w których używasz Data Connect

Pliki konfiguracji projektu Firebase

Dokumentacja konfiguracji firebase.json

Użyj kluczy dataconnect, aby skonfigurować co najmniej 1 usługę Data Connect w projekcie.

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

Dokumentacja konfiguracji dataconnect.yaml

Plik dataconnect.yaml przechowuje informacje o konfiguracji dotyczące lokalizacji źródeł schematu aplikacji, źródeł w sprzęgach i informacji o połączeniu źródła danych. Służy on również jako wskaźnik do katalogu projektów Interfejs wiersza poleceń Firebase.

Klucz schemaValidation określa poziom weryfikacji schematu gdy schematy są przenoszone podczas wdrażania. Jeśli nie ustawisz żadnej wartości, polecenie dataconect:sql:migrate zastosuje zgodne zmiany i przed wykonaniem ścisłych zmian wyświetli Ci odpowiednie powiadomienie. Gdy jest ustawiony, działanie jest następujące:

  • Tryb STRICT. Zanim schemat aplikacji zostanie wdrożony, musi dokładnie odpowiadać schematowi bazy danych. Dowolne tabele lub kolumny, które nie są używane w schemacie Data Connect zostaną usunięte z bazy danych.
  • Tryb COMPATIBLE. Zanim schemat aplikacji zostanie wdrożony, schemat bazy danych musi być zgodny ze schematem aplikacji. Dodatkowe zmiany są opcjonalne. Zgodność oznacza, że migracje schematu są oparte na napisanym przez Ciebie schemacie aplikacji. Elementy w bazy danych, które nie są używane przez schemat aplikacji, pozostaną niezmienione. Dlatego po wdrożeniu backend może zawierać nieużywane schematy, tabele i kolumny.

Wartości innych kluczy w tym pliku są opisane w komentarzach poniżej.

# 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]

Plik YAML zakłada domyślną (ale konfigurowalną) strukturę katalogu:

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

Informacje o pliku konfiguracyjnym connector.yaml

Użyj narzędzia connector.yaml, aby skonfigurować domyślny tryb uwierzytelniania i generowanie pakietu SDK .

# 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

Konfiguracja uprawnień w przypadku projektów Data Connect

Szczegółowe role uprawnień użytkownika Data Connect

Role podstawowe i wstępnie zdefiniowane w Firebase są mapowane na niższe poziomy Role: Data Connect. Informacje o mapowaniu znajdziesz w tabeli.

Aby zarządzać przypisaniem poszczególnych ról uprawnień do Data Connect na bardziej szczegółowym poziomie, użyj konsoli Google Cloud.

Rola uprawnień Uprawnienia
firebasedataconnect.googleapis.com/admin

Administrator interfejsu Firebase Data Connect API

Ta rola obejmuje Wyświetlający Firebase Data Connect API.
Jest to odpowiednik firebasedataconnect.*.

Mają je użytkownicy z przypisaną rolą Właściciel Cloud, Edytujący Cloud,
Administrator Firebase i Administrator Firebase Develop.
Pełny dostęp do zasobów interfejsu Firebase Data Connect API, w tym do danych.

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

Wyświetlający interfejs Firebase Data Connect API

To uprawnienie jest dostępne dla właściciela Cloud, edytora Cloud,
widzewnika Cloud, administratora Firebase, widza Firebase,
administratora Firebase Develop i widzewnika Firebase Develop.
Dostęp tylko do odczytu do zasobów interfejsu Firebase Data Connect API. Rola nie dostępu do danych.

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 danych interfejsu Firebase Data Connect API

Informacje te są udostępniane przez właściciela chmury, edytującego Cloud
Role administratora Firebase i Firebase Develop
Pełne uprawnienia do zapisu i odczytu źródeł danych.

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

Wyświetlający dane interfejsu Firebase Data Connect API

Ta rola jest dostępna dla właściciela i edytującego w chmurze
oraz administratora i administratora Firebase Develop.
Dostęp tylko do odczytu do źródeł danych.

firebasedataconnect.googleapis.com/services.executeGraphqlRead