مرجع پیکربندی و امنیت

Firebase CLI به شما امکان می دهد پروژه های Firebase خود را در یک فهرست پروژه محلی و قابل کنترل نسخه مدیریت کنید. این شامل خدمات Data Connect در پروژه‌های شما، رابط‌های آن سرویس‌ها و منابعی مانند طرحواره، پرس و جو و منابع جهش برای هر رابط می‌شود. CLI همچنین به شما امکان می دهد شبیه ساز Firebase Data Connect را نصب و راه اندازی کنید. CLI یک جایگزین کارآمد برای کار در کنسول Firebase است.

برای دستورالعمل‌های نصب آزمایش Firebase CLI برای برنامه Private Preview و دستورات CLI مربوط به Data Connect ، به مرجع CLI مراجعه کنید.

این راهنمای مرجع اسناد:

  • ورودی های خاص Data Connect در فایل پیکربندی پروژه firebase.json شما.
  • پیکربندی Data Connect در dataconnect.yaml و connector.yaml .
  • نقش‌های IAM را که باید برای پروژه‌هایی که از Data Connect استفاده می‌کنند پیکربندی کنید.

فایل های پیکربندی پروژه Firebase

مرجع پیکربندی firebase.json

از کلیدهای dataconnect برای پیکربندی یک یا چند سرویس Data Connect در پروژه خود استفاده کنید.

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

مرجع پیکربندی dataconnect.yaml

فایل dataconnect.yaml اطلاعات پیکربندی مربوط به مکان منابع طرح برنامه کاربردی، منابع اتصال دهنده و اطلاعات اتصال منبع داده را ذخیره می کند. این فایل همچنین به عنوان نشانگر دایرکتوری پروژه برای Firebase CLI عمل می کند.

کلید schemaValidation سطح اعتبار سنجی طرحواره را کنترل می کند که وقتی طرحواره ها در حین استقرار مهاجرت می کنند. بدون تنظیم مقدار، رفتار دستور dataconect:sql:migrate این است که تغییرات سازگار را اعمال می کند و قبل از اجرای هر گونه تغییر سختگیرانه از شما درخواست می کند. هنگام تنظیم، رفتار به شرح زیر است:

  • حالت STRICT . طرح پایگاه داده باید دقیقاً با طرح برنامه مطابقت داشته باشد قبل از اینکه طرحواره برنامه قابل استقرار باشد. هر جدول یا ستونی که در طرحواره Data Connect شما استفاده نمی شود از پایگاه داده حذف می شود.
  • حالت COMPATIBLE . قبل از استقرار طرحواره پایگاه داده باید با طرح کاربردی سازگار باشد. هر گونه تغییر اضافی اختیاری در نظر گرفته می شود. سازگار به این معنی است که مهاجرت های طرحواره بر اساس طرح کاربردی شما می نویسید. عناصر موجود در پایگاه داده شما که توسط طرح برنامه شما استفاده نمی شوند، بدون تغییر باقی می مانند. بنابراین، پس از استقرار، باطن شما ممکن است شامل طرحواره ها، جداول و ستون های استفاده نشده باشد.

مقادیر سایر کلیدهای این فایل در نظرات زیر توضیح داده شده است.

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

فایل YAML ساختار دایرکتوری پیش‌فرض (اما قابل تنظیم) را در نظر می‌گیرد:

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

مرجع پیکربندی connector.yaml

از connector.yaml برای پیکربندی حالت پیش فرض احراز هویت و گزینه های تولید 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

پیکربندی IAM برای پروژه های Data Connect

نقش‌های گرانول IAM برای Data Connect

نقش‌های اصلی Firebase و نقش‌های از پیش تعریف‌شده به نقش‌های سطح پایین‌تر Data Connect نگاشت می‌شوند. برای نقشه برداری به جدول مراجعه کنید.

برای مدیریت تکالیف نقش IAM برای Data Connect در سطحی دقیق‌تر، از کنسول Google Cloud استفاده کنید.

نقش IAM مجوزها
firebasedataconnect.googleapis.com/admin

Firebase Data Connect API Admin

این نقش شامل Firebase Data Connect API Viewer است.
معادل firebasedataconnect.* .

این توسط Cloud Owner، Cloud Editor ارائه شده است،
Firebase Admin و Firebase نقش های Admin را توسعه می دهند.
دسترسی کامل به منابع API Firebase Data Connect، از جمله داده ها.

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 Viewer

این توسط Cloud Owner، Cloud Editor ارائه شده است،
Cloud Viewer، Firebase Admin، Firebase Viewer،
Firebase Develop Admin و Firebase Develop Viewer.
دسترسی فقط خواندنی به منابع Firebase Data Connect API. Role اجازه دسترسی به داده ها را نمی دهد.

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

Firebase Data Connect API Data Admin

این توسط Cloud Owner، Cloud Editor ارائه شده است،
Firebase Admin و Firebase نقش های Admin را توسعه می دهند.
دسترسی کامل خواندن و نوشتن به منابع داده.

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

Firebase Data Connect API Data Viewer

این توسط Cloud Owner، Cloud Editor ارائه شده است،
Firebase Admin و Firebase نقش های Admin را توسعه می دهند.
دسترسی فقط خواندنی به منابع داده

firebasedataconnect.googleapis.com/services.executeGraphqlRead