FirebaseError: отсутствуют или недостаточные разрешения после удаления учетных записей службы Google - PullRequest
0 голосов
/ 03 апреля 2020

Вариант использования

Я использую Firebase JS SDK для доступа к Cloud Firestore из браузера, чтобы я мог sh Журналы пользовательского интерфейса и ошибки в Firestore.

Issue

Все работало нормально, пока я, случайно, не удалил большую часть учетных записей служб в моей облачной платформе Google из API & Services → Credentials .

Ниже приведен пример конфигурации, которую мы используем для веб-приложения Firebase:

<script src="https://www.gstatic.com/firebasejs/7.13.1/firebase-app.js"></script>
<script>
    // Your web app's Firebase configuration
    var firebaseConfig = {
        apiKey: "AIzaSyCztfcT6k6yXXXXXXXXXXXXXXXXXX",
        authDomain: "<some-domain>.firebaseapp.com",
        databaseURL: "https://<some-domain>.firebaseio.com",
        projectId: "<some-domain>",
        storageBucket: "<some-domain>.appspot.com",
        messagingSenderId: "877458876543",
        appId: "1:877458876543:web:9a9287dee234cd655ab7f2"
    };
    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
</script>

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

Полная ошибка Я получаю в консоли браузера:

Uncaught (in promise) FirebaseError: Missing or insufficient permissions.
    at new Hr (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:48219)
    at https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:378673
    at wr.<anonymous> (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:377569)
    at Wt (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:15221)
    at wr.S.dispatchEvent (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:16063)
    at Er.ua (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:45322)
    at nr.S.Fa (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:43229)
    at Ge (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:21453)
    at qe (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:20854)
    at Me.S.Ja (https://www.gstatic.com/firebasejs/7.8.2/firebase-firestore.js:1:23264)

На самом деле я хочу очистить свои учетные записи служб, так как многие из них были созданы мной. Пожалуйста, укажите, какую учетную запись службы использовать и какие разрешения следует предоставить.

1 Ответ

3 голосов
/ 03 апреля 2020

Правила безопасности Firestore зависят от учетной записи службы с именем service-PROJECT_NUMBER@firebase-rules.iam.gserviceaccount.com с ролью roles/firebaserules.system. Вы можете использовать gcloud для восстановления этой учетной записи:

gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:service-PROJECT_NUMBER@firebase-rules.iam.gserviceaccount.com --role=roles/firebaserules.system

Чтобы получить номер проекта, см. Идентификация проектов .

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