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

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

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

این راهنمای مرجع موارد زیر را مستند می‌کند:

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

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

مرجع پیکربندی 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 . طرحواره پایگاه داده باید قبل از استقرار طرحواره برنامه با طرحواره برنامه سازگار باشد؛ هرگونه تغییر اضافی اختیاری در نظر گرفته می‌شود. سازگار به این معنی است که مهاجرت‌های طرحواره بر اساس طرحواره برنامه‌ای که می‌نویسید انجام می‌شود. عناصری در پایگاه داده شما که توسط طرحواره برنامه شما استفاده نمی‌شوند، بدون تغییر باقی می‌مانند. بنابراین، پس از استقرار، ممکن است backend شما حاوی طرحواره‌ها، جداول و ستون‌های استفاده نشده باشد.

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

# 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

برای پیکربندی حالت احراز هویت پیش‌فرض و گزینه‌های تولید SDK از connector.yaml استفاده کنید.

# 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

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

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

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

مدیریت API اتصال داده فایربیس

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

این توسط مالک ابر، ویرایشگر ابر ارائه شده است،
نقش‌های ادمین فایربیس و توسعه ادمین فایربیس.
دسترسی کامل به منابع 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

نمایشگر API اتصال داده فایربیس

این توسط مالک ابر، ویرایشگر ابر ارائه شده است،
نمایشگر ابری، مدیر فایربیس، نمایشگر فایربیس،
نقش‌های مدیر توسعه فایربیس و مشاهده‌گر توسعه فایربیس.
دسترسی فقط خواندنی به منابع API Firebase Data Connect. این نقش به داده‌ها دسترسی نمی‌دهد.

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

مدیریت داده API اتصال داده فایربیس

این توسط مالک ابر، ویرایشگر ابر، ارائه شده است
نقش‌های ادمین فایربیس و توسعه ادمین فایربیس.
دسترسی کامل به منابع داده برای خواندن و نوشتن.

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

نمایشگر داده API اتصال داده فایربیس

این توسط مالک ابر، ویرایشگر ابر، ارائه شده است
نقش‌های ادمین فایربیس و توسعه ادمین فایربیس.
دسترسی فقط خواندنی به منابع داده.

firebasedataconnect.googleapis.com/services.executeGraphqlRead