Firestore セキュリティ ルール Recommender

Firestore セキュリティ ルール Recommender は、次の推奨事項サブタイプをサポートしています。

これは、ユーザーが意図した以上のアクセス権をユーザーに付与する 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 コンソールに移動

推奨事項は、おすすめハブまたは Database Center ページで確認できます。

  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: FirebaseRulesRecommender などの Recommender の ID。

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: FirebaseRulesRecommender などの Recommender の ID。

詳細については、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 の料金をご覧ください。