Firestore 安全性規則建議工具

Firestore 安全性規則建議工具支援下列建議子類型:

這會造成 Firestore 客戶的安全疑慮,因為使用者獲得的存取權超出預期。

本文說明如何啟用及查看建議和洞察資料,進一步提升資料庫安全性。

事前準備

如要查看 Firestore 安全性規則建議和深入分析資訊,請先完成下列步驟:

  1. 如「啟用 API」一節所述,啟用 Recommender API。

  2. 請確認您具備足夠的權限。您必須具備下列其中一種角色,才能取得必要權限:

    工作說明 角色
    查看建議/洞察資料 roles/recommender.firestoredatabasefirebaserulesViewer
    查看及更新 (關閉) 最佳化建議/洞察 roles/recommender.firestoredatabasefirebaserulesAdmin
    在資訊公開和控制中心選擇停用建議/洞察功能。 詳情請參閱「選擇停用」。 roles/dataprocessing.admin

    這些 Recommender 角色提供下列 API 權限:

    角色 包含的權限
    roles/recommender.firestoredatabasefirebaserulesViewer recommender.firestoreDatabaseFirebaseRulesRecommendations.get
    recommender.firestoreDatabaseFirebaseRulesRecommendations.list
    recommender.firestoreDatabaseFirebaseRulesInsights.get
    recommender.firestoreDatabaseFirebaseRulesInsights.list
    roles/recommender.firestoredatabasefirebaserulesAdmin roles/recommender.firestoredatabasefirebaserulesViewer權限,外加
    recommender.firestoreDatabaseFirebaseRulesRecommendations.update
    recommender.firestoreDatabaseFirebaseRulesInsights.update

    如要進一步瞭解角色和授予存取權的方法,請參閱下列文章:

只有在您有非空白且正在使用的資料庫,且這些資料庫已設定任何可供廣泛存取的規則時,您才能查看 Firestore 安全性規則建議。專案必須建立滿 30 天,系統才會為其產生建議。

您可以透過下列方式查看 Firestore 安全性規則建議/深入分析資訊:

查看建議

Google Cloud 控制台

如要查看最佳化建議,請按照下列步驟操作:

前往 Google Cloud 控制台,或使用以下按鈕:

前往 Google Cloud 控制台

您可以在建議中心資料庫中心頁面查看建議。

  1. 搜尋「最佳化建議」,即可前往「建議中心」頁面。 您可以選取特定類別的建議並查看。

  2. 搜尋「Database Center」。 您可以套用產品篩選器,查看特定車隊問題。

gcloud CLI

如要使用 gcloud 列出 Firestore 安全性規則建議,請執行 gcloud recommender recommendations list 指令,如下所示:

  gcloud recommender recommendations list \
  --project=PROJECT_ID \
  --location=LOCATION \
  --recommender=google.firestore.database.<var>RECOMMENDER</var>

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • LOCATION:區域,例如 us-central1
  • RECOMMENDER:建議者的 ID,格式為 FirebaseRulesRecommender

Recommender API

如要使用 Recommendations API 列出 Firestore 安全性規則建議,請呼叫 recommendations.list 方法,如下所示:

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
  -H "x-goog-user-project: PROJECT_ID" \
  "https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.firestore.database.RECOMMENDER/recommendations"

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • LOCATION:區域,例如 us-central1
  • RECOMMENDER:建議者的 ID,格式為 FirebaseRulesRecommender

詳情請參閱「使用 API - 建議內容」。

查看深入分析資訊

您可以透過多種方式查看 Firestore 安全性規則的深入分析資訊和詳細建議。

gcloud CLI

如要使用 gcloud 查看洞察資料,請執行 gcloud recommender insights list 指令,如下所示:

  gcloud recommender insights list \
  --project=PROJECT_ID \
  --location=LOCATION \
  --insight-type=google.firestore.database.INSIGHT_TYPE

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • LOCATION:區域,例如 us-central1
  • INSIGHT_TYPE:洞察類型 ID,格式為 FirebaseRulesInsight

Recommender API

如要使用 Recommender API 列出洞察資料,請執行下列指令:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"  \

"https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.firestore.database.INSIGHT_TYPE/insights"

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • LOCATION:區域,例如 us-central1
  • INSIGHT_TYPE:洞察類型 ID,格式為 FirebaseRulesInsight

詳情請參閱「使用 API - 洞察」一文。

套用建議

如要進一步瞭解如何提升資料庫安全性,請參閱結構化安全性規則

定價

Firestore 安全性規則建議和深入分析資訊免費提供。如要瞭解其他定價層級,請參閱「Recommender 定價」。