In diesem Dokument werden typische Szenarien der Freigabe und Zusammenarbeit vorgestellt. Außerdem erfahren Sie, wie Sie Richtlinien für die Identitäts- und Zugriffsverwaltung (IAM) für Projekte und Buckets sowie Access Control Lists (ACLs) für Objekte konfigurieren, um diese Szenarien zu implementieren.
Speicherung und Verwaltung privater Daten
In diesem Szenario möchte der Marketinganalyst eines Unternehmens Cloud Storage verwenden, um vertrauliche Umsatzprognosen und Verkaufsprojektionsdaten zu sichern. Die Daten dürfen nur für den Marketinganalysten zugänglich sein. Das Cloud Storage-Konto des Unternehmens wird von dessen IT-Abteilung überwacht und verwaltet. Zu den wichtigsten Verwaltungsaufgaben zählen das Erstellen und die Freigabe von Buckets, damit die verschiedenen Abteilungen des Unternehmens auf Cloud Storage zugreifen können.
Zur Erfüllung der Vertraulichkeits- und Datenschutzanforderungen des Marketinganalysten müssen die Bucket- und Objektberechtigungen so vergeben werden, dass die IT-Mitarbeiter den Bucket, der die Tabellen enthält, verwalten, aber nicht auf die dort gespeicherten Daten zugreifen und sie herunterladen können. Dafür erstellen Sie einen Bucket mit dem Namen finance-marketing
und erteilen den angegebenen Hauptkonten die folgenden Rollen für die aufgelisteten Ressourcen:
Rolle | Ressource | Hauptkonto | Beschreibung |
---|---|---|---|
Inhaber alter Storage-Buckets | Bucket finance-marketing |
IT-Mitarbeiter | Mit der Rolle Inhaber alter Storage-Buckets für den Bucket können die IT-Mitarbeiter allgemeine Aufgaben der Bucket-Verwaltung ausführen, wie Objekte löschen oder die IAM-Richtlinie des Buckets ändern. Außerdem können sie die Inhalte des Buckets finance-marketing auflisten, aber nicht ansehen oder herunterladen. |
Storage-Objekt-Ersteller | Bucket finance-marketing |
Marketinganalyst | Mit der Rolle Storage-Objekt-Ersteller für den Bucket kann der Marketinganalyst Objekte in den Bucket hochladen. So wird er zum Inhaber des hochgeladenen Objekts, das er dann ansehen, aktualisieren und löschen kann. |
Mit diesen Rollen kann niemand außer dem Marketinganalysten die Objekte, die er dem Bucket hinzufügt, ansehen oder herunterladen. Der Marketinganalyst kann jedoch anderen Nutzern Zugriff gewähren, wenn er die Objekt-ACLs ändert. Das IT-Personal kann weiterhin die Inhalte des Buckets finance-marketing
auflisten sowie Dateien im Bucket bei Bedarf löschen und ersetzen.
Dieses Szenario implementieren
Ihre Aktionen:
So implementieren Sie das Szenario:
Erstellen Sie einen Bucket mit dem Namen
finance-marketing
. Eine detaillierte Anleitung hierzu finden Sie unter Bucket erstellen.Weisen Sie jedem IT-Mitarbeiter die Rolle Inhaber alter Storage-Buckets für den Bucket zu. Eine detaillierte Anleitung hierzu finden Sie unter Hauptkonten zu einer Richtlinie auf Bucket-Ebene hinzufügen.
Aktionen der IT-Mitarbeiter
So implementieren die IT-Mitarbeiter das Szenario:
- Weisen Sie dem Marketinganalysten die Rolle Storage-Objekt-Ersteller für den Bucket zu. Eine detaillierte Anleitung hierzu finden Sie unter Hauptkonten zu einer Richtlinie auf Bucket-Ebene hinzufügen.
Ablagebox für Anbieter
In diesem Szenario arbeitet ein Bauunternehmen mit mehreren Architekturbüros zusammen, die Baupläne für verschiedene Projekte erstellen. Das Bauunternehmen möchte für diese Anbieter eine Online-Ablagebox einrichten, in die sie während der verschiedenen Projektphasen Baupläne hochladen können. Diese Ablagebox muss die Vertraulichkeit der Informationen für die Kunden des Bauunternehmens gewährleisten. Dies bedeutet, sie muss so konfiguriert sein, dass die einzelnen Anbieter die Arbeit der jeweils anderen nicht sehen können. Dafür erstellen Sie für jedes Architekturbüro einen eigenen Bucket und erteilen den angegebenen Hauptkonten die folgenden Rollen für die aufgelisteten Ressourcen:
Rolle | Ressource | Hauptkonto | Beschreibung |
---|---|---|---|
Inhaber | Gesamtprojekt | Bauleiter | Mit der Rolle Inhaber auf Projektebene kann der Bauleiter jeweils für die verschiedenen Anbieter Buckets erstellen. |
Storage-Objekt-Betrachter | Gesamtprojekt | Bauleiter | Mit der Rolle Storage-Objekt-Betrachter kann der Bauleiter die Objekte herunterladen, die von den Anbietern hochgeladen werden. |
Inhaber alter Storage-Buckets | Alle Anbieter-Buckets | Bauleiter | Mit der Rolle Inhaber alter Storage-Buckets kann der Bauleiter die Inhalte aller Buckets auflisten sowie am Ende jeder Projektphase Objekte löschen. |
Storage-Objekt-Administrator | Alle Anbieter-Buckets | Mit dem Bucket verknüpfte Anbieter | Alle Anbieter erhalten die Rolle Storage-Objekt-Administrator jeweils für den eigenen Bucket und somit vollständige Kontrolle über die in dem jeweiligen Bucket enthaltenen Objekte, einschließlich der Möglichkeit, Objekte hochzuladen, aufzulisten und den Zugriff auf die einzelnen Objekte zu steuern. Mit dieser Rolle können sie jedoch keine Metadaten auf Bucket-Ebene, zum Beispiel Rollen, ändern oder ansehen sowie keine anderen Buckets im Projekt ansehen oder auflisten, wodurch die Vertraulichkeit der Daten zwischen den Anbietern gewährleistet ist. |
Dieses Szenario implementieren
Ihre Aktionen:
So implementieren Sie das Szenario:
- Weisen Sie dem Bauleiter die Rollen Inhaber und Storage-Objekt-Betrachter für das Projekt zu. Eine detaillierte Anleitung finden Sie unter Einzelne Rolle zuweisen.
Aktionen des Bauleiters
So implementiert der Bauleiter das Szenario:
Er erstellt einen separaten Bucket für jeden Anbieter. Eine detaillierte Anleitung hierzu finden Sie unter Bucket erstellen.
Da der Bauleiter die Rolle Inhaber hat, erhält er automatisch auch die Rolle Inhaber alter Storage-Buckets für jeden neu erstellten Bucket.
Weisen Sie jedem Anbieter die Rolle Storage-Objekt-Administrator für dessen jeweiligen Bucket zu. Eine detaillierte Anleitung hierzu finden Sie unter Hauptkonten zu einer Richtlinie auf Bucket-Ebene hinzufügen.
Wenn ein Anbieter die Google Cloud Console nutzen möchte, weisen Sie ihm einen Link zu seinem Bucket im folgenden Format zu:
https://console.cloud.google.com/storage/browser/BUCKET_NAME
Dabei ist
BUCKET_NAME
der Name des Anbieter-Buckets.
Aktionen der Anbieter
So implementieren die Anbieter das Szenario:
Laden Sie Objekte in den zugewiesenen Bucket hoch. Am einfachsten funktioniert dies über die Google Cloud Console. Bei anderen Methoden wie der Google Cloud CLI ist vor der Verwendung eine zusätzliche Einrichtung erforderlich. Eine detaillierte Anleitung finden Sie unter Objekt hochladen.
Authentifizierte Browserdownloads
In diesem Szenario möchte ein Kunde, dass bestimmte Personen bestimmte Daten einfach über den Browser herunterladen können. Dies können Sie mit der cookiebasierten Authentifizierung von Cloud Storage erreichen. Um Objekte herunterzuladen, müssen sich Nutzer authentifizieren. Dazu melden sie sich bei einem gültigen Konto an, dazu gehören Google Workspace, Cloud Identity, Gmail und die Mitarbeiteridentitätsföderation. Die folgenden authentifizierten Nutzer können das Objekt herunterladen:
Nutzer mit der Berechtigung
READ
oderFULL_CONTROL
in der Access Control List (ACL) des ObjektsNutzer mit der Berechtigung
storage.objects.get
in der IAM-Richtlinie (Identitäts- und Zugriffsverwaltung) für den Bucket oder das Projekt, das das Objekt enthält
Alle anderen Nutzer erhalten die Fehlermeldung 403 Forbidden (access denied)
.
Wenn Sie dieses Feature nutzen möchten, gewähren Sie einem Nutzer die Berechtigung zum Zugriff auf ein Objekt und geben ihm dann eine spezielle URL, die zu diesem Objekt führt. Wenn der Nutzer diese URL anklickt, wird er von Cloud Storage aufgefordert, sich in seinem Konto anzumelden, sofern er nicht bereits angemeldet ist. Anschließend wird das Objekt auf seinen Computer heruntergeladen.
Dieses Szenario implementieren
Die cookiebasierte Authentifizierung wird allgemein in vier Schritten implementiert:
Erstellen Sie einen Bucket. Eine detaillierte Anleitung hierzu finden Sie unter Bucket erstellen.
Wenn Sie einen Bucket in einem Projekt erstellen, dessen Inhaber Sie sind, erhalten Sie automatisch die Berechtigungen, Objekte in den Bucket hochzuladen und die Zugriffsberechtigungen für den Bucket zu ändern.
Laden Sie das Objekt hoch, das Sie freigeben möchten. Eine detaillierte Anleitung finden Sie unter Objekt hochladen.
Wenn Sie ein Objekt hochladen, sind Sie der Inhaber des Objekts, was bedeutet, dass Sie die ACLs des Objekts ändern können.
Gewähren Sie Nutzern Zugriff auf das Objekt. Dafür stehen Ihnen zwei Möglichkeiten zur Verfügung:
Ändern Sie die IAM-Richtlinie des Buckets so, dass alle gewünschten Nutzer die Rolle Storage-Objekt-Betrachter erhalten, die für alle Objekte im Bucket gilt. Eine detaillierte Anleitung hierzu finden Sie unter Hauptkonten zu einer Richtlinie auf Bucket-Ebene hinzufügen.
Ändern Sie die ACLs des Objekts so, dass alle gewünschten Nutzer die Berechtigung
READ
für das einzelne Objekt erhalten. Eine detaillierte Anleitung finden Sie unter ACLs festlegen.
Stellen Sie Nutzern eine spezielle URL zum Objekt zur Verfügung.
Authentifizierte Browserdownloads erhalten über einen bestimmten URL-Endpunkt Zugriff auf Cloud Storage. Verwenden Sie die folgende URL:
https://storage.cloud.google.com/BUCKET_NAME/OBJECT_NAME
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der das gewünschte Objekt enthält. Beispiel:my-bucket
OBJECT_NAME
ist der Name des gewünschten Objekts. Beispiel:pets/dog.png
Da nur Nutzer mit entsprechenden ACL- oder IAM-Berechtigungen das Bild ansehen können, spielt es keine Rolle, wie Sie diese URL zur Verfügung stellen. Sie können die URL direkt versenden oder auf einer Website veröffentlichen.
Eine Gruppe für die Zugriffssteuerung verwenden
In diesem Szenario möchten Sie bestimmten Nutzern Objekte zur Verfügung stellen, zum Beispiel um sie einzuladen, eine neue Software auszuprobieren. Sie möchten außerdem viele Nutzer einladen, ohne die Berechtigungen für jeden Nutzer einzeln festlegen zu müssen. Gleichzeitig sollen die Objekte nicht öffentlich lesbar sein und Sie möchten den eingeladenen Nutzern keine Links zu den Objekten senden, weil die Gefahr besteht, dass die Links auch an nicht eingeladene Nutzer versendet werden könnten.
Eine Möglichkeit, dieses Szenario umzusetzen, besteht in der Verwendung von Google Groups. Sie können eine Gruppe erstellen und nur eingeladene Nutzer in diese Gruppe aufnehmen. Anschließend können Sie der gesamten Gruppe Zugriff auf die Objekte gewähren.
Rolle | Ressource | Hauptkonto | Beschreibung |
---|---|---|---|
Storage-Objekt-Betrachter | Ihr Bucket | Google-Gruppe | Wenn Sie der Google-Gruppe die Rolle Storage-Objekt-Betrachter für den Bucket zuweisen, können alle Mitglieder der Gruppe Objekte im Bucket ansehen. Niemand außerhalb der Gruppe hat Zugriff auf die Objekte. |
Dieses Szenario implementieren
Erstellen Sie eine Google-Gruppe und fügen Sie ihr Mitglieder hinzu. Eine detaillierte Anleitung finden Sie unter Gruppe erstellen.
Erstellen Sie einen Bucket. Eine detaillierte Anleitung hierzu finden Sie unter Bucket erstellen.
Laden Sie Objekte in den Bucket hoch. Eine detaillierte Anleitung finden Sie unter Objekt hochladen.
Gewähren Sie der Google-Gruppe Zugriff auf die Objekte.
Sie können die IAM-Rolle storage.objectViewer verwenden, um Lesezugriff auf alle Objekte im Bucket zu gewähren. Eine detaillierte Anleitung hierzu finden Sie unter Hauptkonten zu einer Richtlinie auf Bucket-Ebene hinzufügen.
Wenn Sie den Zugriff auf einzelne Objekte im Bucket beschränken möchten, legen Sie für diese in der ACL Reader (Lesen) fest. Eine detaillierte Anleitung finden Sie unter ACLs festlegen.
Geben Sie den entsprechenden Anfrageendpunkt für die Gruppe frei, damit sie weiß, über welchen Pfad sie auf die Objekte zugreifen kann.
Wenn Sie beispielsweise die Google Cloud Console verwenden, gelangen Sie über die URL
https://console.cloud.google.com/storage/browser/BUCKET_NAME
zur Liste der Objekte im BucketBUCKET_NAME
.
Mit verwalteten Ordnern den Zugriff steuern
In diesem Szenario haben Sie mehrere Kunden, die jeweils eine eindeutige Website mit benutzerdefinierten Bildern haben. Sie möchten, dass Kunden Bilder nur auf ihre Website hochladen können, jedoch nicht auf andere Websites. Wenn ein Kunde sein Konto auflöst, möchten Sie den öffentlichen Zugriff auf die Bilder auf seiner Website deaktivieren, aber Sie möchten die Bilder nicht löschen, falls der Kunde sein Konto wieder aktivieren möchte.
Eine Möglichkeit, dieses Szenario zu bewältigen, ist die Verwendung von verwalteten Ordnern. Sie können mehrere verwaltete Ordner in einem Bucket erstellen und mit IAM den Zugriff auf einzelne verwaltete Ordner für Ihre Kunden und deren Endnutzer steuern.
Dieses Szenario implementieren
Erstellen Sie für jede Kundenwebsite einen verwalteten Ordner im Bucket.
Legen Sie für jeden verwalteten Ordner eine IAM-Richtlinie fest, die einem Kunden die Rolle „Storage-Objekt-Nutzer“ (
roles/storage.objectUser
) zuweist, sodass der Kunde Objekte in den verwalteten Ordner hochladen und Objekte aus dem verwalteten Ordner entfernen kann.Legen Sie für alle verwalteten Ordner eine IAM-Richtlinie fest, die dem Hauptkonto
allUsers
die Rolle „Storage-Objekt-Betrachter“ (roles/storage.objectViewer
) zuweist, sodass die Bildobjekte in den verwalteten Ordnern öffentlich sichtbar sind.Alternativ können Sie eine benutzerdefinierte Rolle zuweisen, die
allUsers
die IAM-Berechtigungstorage.objects.get
erteilt.Wenn ein Kunde sein Konto auflöst, entfernen Sie die IAM-Richtlinie, die dem Kunden die Rolle „Storage-Objekt-Nutzer“ (
roles/storage.objectUser
) für den zugehörigen verwalteten Ordner zuweist. Wenn Sie den öffentlichen Zugriff auf die Objekte in diesem verwalteten Ordner deaktivieren möchten, entfernen Sie die IAM-Richtlinie, dieallUsers
die Rolle „Storage-Objekt-Betrachter“ (roles/storage.objectViewer
) zuweist.