Правила хранения Firebase для корзины, не разрешающей доступ - PullRequest
0 голосов
/ 09 февраля 2020

В соответствии с этими ответами Следующее должно разрешить любому пользователю доступ и написать авторизованному пользователю:

rules_version = '2';
service firebase.storage {
  match /b/example-bda7b.appspot.com/o {
    match /{allPaths=**} {
      allow read;
      allow write: if request.auth != null;
    }
  }
}

Имя корзины: example-bda7b.appspot.com/o

Однако, когда я go на адрес:

http://storage.googleapis.com/example-bda7b.appspot.com/images/someone-Lopez.jpg

Я получаю сообщение об ошибке:

<Error>
<Code>AccessDenied</Code>
<Message>Access denied.</Message>
<Details>
Anonymous caller does not have storage.objects.get access to example-bda7b.appspot.com/images/Aaliyah-Lopez.jpg.
</Details>
</Error>

Есть идеи почему?

1 Ответ

1 голос
/ 09 февраля 2020

Правила безопасности только контролируют доступ к хранилищам объектов при прохождении через веб-сайты и мобильные клиенты, использующие Firebase SDK для этих платформ (например, Android, iOS, web, Unity). Это не влияет на доступ через URL-адреса в домене «storage.googleapis.com».

Несмотря на то, что Cloud Storage является продуктом Google Cloud, правила безопасности Firebase являются уникальной концепцией Firebase. Таким образом, вы можете ожидать, что они работают только с точками входа Firebase в Cloud Storage. Пожалуйста, прочитайте эту статью , чтобы лучше понять отношения между Firebase и Google Cloud.

...