Чтение и запись в firestore только через облачные функции - PullRequest
0 голосов
/ 20 марта 2019

Я хочу установить разрешения для своей базы данных Cloud Firestore, чтобы никто не мог читать и писать из нее, кроме как через облачные функции.

Как я могу это сделать?

Мое предположение(в соответствии с документами Firestore) это то, что я должен установить правильное условие для того, что я хочу, но какое это будет условие?Я не знаю, как «связать» вызов облачной функции с правилами.

service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

1 Ответ

1 голос
/ 20 марта 2019

Просто удалите все правила и замените их правилом, которое отклоняет все:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

Ничто не разрешает доступ к мобильным и веб-клиенту, и ничто не будет разрешено. Серверные SDK всегда обходят правила безопасности, поэтому если учетная запись службы, которую вы используете для инициализации SDK, имеет право на запись, она будет работать. Должна подойти учетная запись службы по умолчанию, используемая в облачных функциях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...