Beschränken Sie den Zugriff auf Google Cloud Buckets nach Domänennamen

Beschränken Sie den Zugriff auf Google Cloud Buckets nach Domänennamen

Ich möchte Dateien, die meine Benutzer in meine Webanwendung hochladen, in Google Cloud Buckets hosten. Das Problem dabei ist, dass ich die Berechtigungen öffentlich zugänglich machen muss, da ich die Dateien auch abrufen muss, wenn sie auf bestimmte Seiten gehen.

Dies ist offensichtlich ein großes Sicherheitsrisiko, denn selbst wenn ich die Dateien mit einer UID im Dateipfad benenne (z. B. „Anhänge/Benutzer-ID/eine_andere_ID/individuelle_Datei-UID/Dateiname“), könnte ein Angreifer einfach dorthin navigieren https://www.googleapis.com/storage/v1/b/my_bucket/o/attachmentsund alle Verzeichnisse und Dateien auflisten, die ich in diesem öffentlich zugänglichen Bucket habe. Aber um diese Dateien über <img/>Tags in meine Web-App einzubinden, kenne ich keine andere Möglichkeit, den Zugriff auf diese Dateien einzuschränken, ohne dabei in die Quere zu kommen img src.

Das Einzige, was mir einfällt, ist, den Zugriff auf diese Dateien auf einzelne Domänennamen zu beschränken. Wenn meine Webanwendungen beispielsweise auf application.example.com gehostet werden, würde ich den Zugriff auf die Dateien so beschränken, dass er nur über application.example.com möglich ist. Ich habe hier einiges gefunden:https://cloud.google.com/resource-manager/docs/organization-policy/restricting-domainsaber ich glaube, es geht hier nicht um die Beschränkung des Zugriffs nach Domänennamen, sondern nach Organisationsdomäne.

Ich schätze, meine Frage ist eigentlich zweifach:

  1. Sehe ich das falsch? Gibt es eine bessere Möglichkeit, diese Bilder sicher zu speichern und gleichzeitig für meine Webanwendung zugänglich zu machen?
  2. Wie kann ich den Zugriff auf diese Dateien nach Domänennamen beschränken?

Antwort1

Sehe ich das falsch? Gibt es eine bessere Möglichkeit, diese Bilder sicher zu speichern und gleichzeitig für meine Webanwendung zugänglich zu machen?

Ja, Sie sehen dies im Hinblick auf den von Ihnen angegebenen Dokumentlink falsch.

Sie können den Zugriff auf Cloud Storage nicht über den DNS-Domänennamen einschränken oder gewähren. Sie können einen Cloud Storage-Bucket entweder öffentlich machen, signierte URLs verwenden, um den Zugriff zu gestatten, die Cloud SDK-APIs verwenden oder die identitätsbasierte Zugriffskontrolle nutzen.

Signierte URLs

Wie kann ich den Zugriff auf diese Dateien nach Domänennamen beschränken?

Das geht nicht. Diese Funktion ist nicht Teil von Cloud Storage. Weitere Informationen finden Sie in meinen vorherigen Kommentaren.

Ihre einzige Option (aus Sicherheitsgründen) ist die Verwendung signierter URLs.

verwandte Informationen