Firebase Rules 建议工具

Firebase Rules Recommender 支持以下建议子类型:

这些问题是指 Firestore 客户的安全问题,例如向用户提供超出用户意图的额外访问权限,或者某项政策即将到期,并且用户的授权政策即将发生变化。

本文档介绍了如何启用和查看建议和数据分析,以提高数据库的安全性。

准备工作

您必须先执行以下操作,然后才能查看 Firestore Firebase 规则建议和数据分析:

  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

    如需详细了解角色以及如何授予访问权限,请参阅以下内容:

查看建议

您可以通过多种方式列出 Firebase 规则建议。

只有当您有正在使用的非空数据库且其中配置了任何不安全或即将过期的 Firebase 规则时,才能查看 Firebase 规则建议。

Google Cloud 控制台

您可以通过以下方式查看建议:

  1. 转到 Google Cloud 控制台,或使用以下按钮:

    前往 Google Cloud 控制台

  2. 搜索 Database Center(数据库中心)页面。

gcloud CLI

如需使用 gcloud 列出 Firebase 规则建议,请运行 gcloud recommender recommendations list 命令,如下所示:

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

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • RECOMMENDER:Recommender 的 ID,例如 FirebaseRulesRecommender

Recommender API

如需使用 Recommendations API 列出 Firebase 规则建议,请调用 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/global/recommenders/google.firestore.database.RECOMMENDER/recommendations"

替换以下内容:

  • PROJECT_ID:您的项目 ID。
  • RECOMMENDER:Recommender 的 ID,例如 FirebaseRulesRecommender

如需了解详情,请参阅使用 API - 建议

查看数据分析

您可以通过多种方式查看有关 Firebase 规则的数据分析和详细建议。

Google Cloud 控制台

如需使用 Google Cloud 控制台查看数据分析和详细建议,请在“数据库中心”标签页中搜索“建议”。

gcloud CLI

如需使用 gcloud 查看数据分析,请运行 gcloud recommender insights list 命令,如下所示:

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

替换以下内容:

  • PROJECT_ID:您的项目 ID。
  • 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/global/insightTypes/google.firestore.database.INSIGHT_TYPE/insights"

替换以下内容:

  • PROJECT_ID:您的项目 ID。
  • INSIGHT_TYPE:数据分析类型的 ID,指定为 FirebaseRulesInsight

如需了解详情,请参阅使用 API - 数据分析

采纳建议

如需详细了解如何提高数据库安全性,请参阅设计安全规则结构

价格

Firebase 规则建议和数据分析是免费提供的。如需了解其他价格层级,请参阅 Recommender 价格