Auf dieser Seite wird die Einstellung für den Bucket zur Verhinderung des öffentlichen Zugriffs und die damit verbundene Einschränkung für die Organisation zur Verhinderung des öffentlichen Zugriffs erläutert. Durch die Verwendung der Einstellung oder der Einschränkung werden Entitäten, z. B. anonyme Nutzer über das Internet, eingeschränkt, denen Zugriff auf Ihre Daten gewährt werden kann. Eine Übersicht über die Optionen zur Zugriffssteuerung finden Sie unter Übersicht über die Zugriffssteuerung.
Übersicht
Damit wird verhindert, dass Cloud Storage-Buckets und -Objekte versehentlich öffentlich zugänglich gemacht werden. Wenn Sie die Verhinderung des öffentlichen Zugriffs erzwingen, kann niemand Daten über IAM-Richtlinien oder ACLs in entsprechenden Buckets veröffentlichen. Es gibt zwei Möglichkeiten, die Verhinderung des öffentlichen Zugriffs zu erzwingen:
Sie können die Verhinderung des öffentlichen Zugriff für einzelne Buckets erzwingen.
Wenn Ihr Bucket in einer Organisation enthalten ist, können Sie die Verhinderung des öffentlichen Zugriffs erzwingen. Verwenden Sie dazu die Einschränkung der Organisationsrichtlinie
storage.publicAccessPreventionauf der Projekt-, Ordner- oder Organisationsebene.
Sollte die Verhinderung des öffentlichen Zugriffs verwendet werden?
Verwenden Sie die Verhinderung des öffentlichen Zugriffs, wenn Sie wissen, dass Ihre Daten niemals im öffentlichen Internet zugänglich sein sollten. Für eine maximale Sicherheit für Ihre Ressourcen erzwingen Sie die Verhinderung des öffentlichen Zugriffs auf der höchstmöglichen Ebene Ihrer Organisation.
Sie sollten die Verhinderung des öffentlichen Zugriffs nicht verwenden, wenn Sie den Bucket für Anwendungsfälle wie statisches Websitehosting öffentlich zugänglich lassen müssen. Wenn Sie Ausnahmen für solche Buckets in Organisationen machen möchten, die ansonsten die Verhinderung des öffentlichen Zugriffs erzwingen, deaktivieren Sie die Verhinderung des öffentlichen Zugriffs für das Projekt, das den Bucket enthält.
Verhalten, wenn erzwungen
Ressourcen, die der Verhinderung des öffentlichen Zugriffs unterliegen, verhalten sich folgendermaßen:
Anfragen an Buckets und Objekte, die mit
allUsersundallAuthenticatedUsersautorisiert wurden, schlagen mit dem HTTP-Statuscode401oder403fehl.Vorhandene IAM-Richtlinien und ACLs, die Zugriff auf
allUsersundallAuthenticatedUsersgewähren, bleiben bestehen, werden aber durch die Verhinderung des öffentlichen Zugriffs überschrieben.Anfragen zum Erstellen von Buckets oder Objekten mit
allUsersundallAuthenticatedUsersin ihren IAM-Richtlinien oder ACLs schlagen fehl, mit der folgenden Ausnahme:- Wenn ein Bucket eine Standard-Objekt-ACL mit
allUsersenthält, sind Anfragen zum Erstellen von Objekten in diesem Bucket erfolgreich. Die ACLs für diese Objekte enthaltenallUsers,allUserswird jedoch durch die Verhinderung des öffentlichen Zugriffs überschrieben.
- Wenn ein Bucket eine Standard-Objekt-ACL mit
Anfragen zum Hinzufügen von
allUsersundallAuthenticatedUserszu einer IAM-Richtlinie oder ACL schlagen mit412 Precondition Failedfehl.
Übernahme
Auch wenn für einen Bucket die Einstellungen zum öffentlichen Zugriff nicht explizit festgelegt sind, kann er dennoch die Verhinderung des öffentlichen Zugriffs übernehmen, die bei Beschränkung der Organisationsrichtlinie auftrittstorage.publicAccessPrevention für das Projekt, den Ordner oder die Organisation festgelegt ist, in dem sich der Bucket befindet. Aus diesem Grund kann der Bucket-Status nur auf enforced oder inherited festgelegt werden.
Wenn die Metadaten für die öffentliche Zugriffssteuerung eines Buckets auf
enforcedgesetzt sind, gilt für den Bucket die Verhinderung des öffentlichen Zugriffs.Wenn die Metadaten für die öffentliche Zugriffssteuerung eines Buckets auf
inheritedgesetzt sind, wird die Verhinderung des öffentlichen Zugriffs durch die Einschränkung der Organisationsrichtliniestorage.publicAccessPreventionbestimmt:Wenn
storage.publicAccessPreventionfür das Projekt, das den Bucket enthält, aufTruegesetzt ist, gilt die Verhinderung des öffentlichen Zugriffs für den Bucket.Wenn
storage.publicAccessPreventionfür das Projekt, das den Bucket enthält, aufFalsegesetzt ist, gilt die Verhinderung des öffentlichen Zugriffs nicht für den Bucket.Wenn
storage.publicAccessPreventionnicht für das Projekt festgelegt ist, das den Bucket enthält, wird die Verhinderung des öffentlichen Zugriffs durch denstorage.publicAccessPrevention-Wert bestimmt, der vom Ordner festgelegt wird, der das Projekt enthält.Wenn der Ordner mit dem Bucket auch keinen Wert für
storage.publicAccessPreventionfestlegt, wird die Verhinderung des öffentlichen Zugriffs durch den Wertstorage.publicAccessPreventionbestimmt, der von der Organisation festgelegt wird, die das Projekt enthält.Wenn für keine Ressource
storage.publicAccessPreventionfestgelegt ist, gilt die öffentliche Zugriffssteuerung nicht für den Bucket.
Verhalten bei Deaktivierung
Wenn die Verhinderung des öffentliche Zugriff für eine Ressource nicht mehr gilt, geschieht Folgendes:
Vorhandene IAM-Richtlinien und ACLs, die Zugriff auf
allUsersundallAuthenticatedUsersgewähren, werden wirksam und machen die Daten öffentlich zugänglich.Anfragen zum Erstellen von IAM-Richtlinien oder ACLs, die den Zugriff auf
allUsersundallAuthenticatedUsersgewähren, sind erfolgreich.Ein Objekt, das unter der Verhinderung des öffentlichen Zugriffs ohne öffentliche ACLs erstellt wurde, kann für die Öffentlichkeit zugänglich gemacht werden, wenn es in einem öffentlich zugänglichen Bucket erstellt wurde.
Sie können die Verhinderung des öffentlichen Zugriffs für ein Projekt, einen Ordner oder eine Organisation jederzeit deaktivieren. Für Buckets mit der Einstellung enforced wird die Verhinderung des öffentlichen Zugriffs weiterhin erzwungen, selbst wenn Sie sie für ein Projekt, einen Ordner oder eine Organisation deaktivieren, die den Bucket enthält.
Hinweise
Wenn Sie die Verhinderung des öffentlichen Zugriff auf vorhandenen Ressourcen erzwingen, werden alle Autorisierungen und neuen Ergänzungen von
allUsersundallAuthenticatedUsersblockiert. Dies kann folgende Auswirkungen auf Ihre Buckets haben:Wenn eine Anwendung
allUsersundallAuthenticatedUsersbenötigt, um auf Ihre Daten zuzugreifen oder öffentliche Ressourcen zu erstellen, kann die Aktivierung einer Verhinderung des öffentlichen Zugriffs die Anwendung beeinträchtigen. Informationen dazu, wie Sie Ihre öffentlichen Ressourcen identifizieren, von denen andere Anwendungen möglicherweise abhängen, finden Sie im folgenden Abschnitt:Öffentliche Ressourcen erkennen
Bevor Sie die Verhinderung des öffentlichen Zugriffs erzwingen, sollten Sie Ihre öffentlichen Ressourcen inventarisieren, um sicherzustellen, dass Sie keine anderen Arbeitslasten unterbrechen, die davon abhängen, dass Ihre Daten öffentlich sind. Sie können öffentliche Buckets, Objekte und verwaltete Ordner mit den folgenden Methoden finden:
- Um Arbeitslasten zu identifizieren, die möglicherweise auf Ihre öffentlichen Daten zugreifen, richten Sie Nutzungsprotokolle ein. Diese können Informationen zu Datenzugriffsanfragen für öffentliche Ressourcen enthalten.
-
Wenn Sie feststellen möchten, ob ein Bucket öffentlich zugänglich ist, prüfen Sie die IAM-Richtlinien des Buckets. Richtlinien, die dem Hauptkonto
allUsersoderallAuthenticatedUsersRollen zuweisen, machen den Bucket potenziell öffentlich zugänglich. Alternativ zum Abrufen der IAM-Richtlinie für einzelne Buckets können Sie mit Cloud Asset Inventory die Richtlinien für alle Buckets in einem Projekt, Ordner oder einer Organisation aufrufen.Wenn sich in Ihrem Bucket verwaltete Ordner befinden, sollten Sie auch die IAM-Richtlinien der verwalteten Ordner prüfen, um herauszufinden, welche verwalteten Ordner möglicherweise öffentlich zugänglich sind.
- Wenn Sie feststellen möchten, ob einzelne Objekte öffentlich zugänglich sind, prüfen Sie das Objekt auf ACLs.
ACLs, die dem Hauptkonto
allUsersoderallAuthenticatedUsersZugriff gewähren, machen das Objekt potenziell öffentlich zugänglich.
Cloud-Audit-Logs verfolgen nicht den Zugriff auf öffentliche Objekte. Wenn Datenzugriffslogs aktiviert sind, wenn Sie die Verhinderung des öffentlichen Zugriffs erzwingen, erhöht sich möglicherweise die Loggenerierung, die auf Ihr Logaufnahmekontingent angerechnet werden und Cloud-Audit-Logs verursachen können. Diese Erhöhung kann auftreten, da der zuvor öffentliche und nicht geloggte Zugriff mit bestimmten Autorisierungen verknüpft werden kann, die dann protokolliert werden.
Signierte URLs, die allen Nutzern, die sie verwenden, einen stark begrenzten und zeitlich begrenzten Zugriff gewähren, sind von der Verhinderung des öffentlichen Zugriffs nicht betroffen.
Projekte, die keiner Organisation zugeordnet sind, können keine Organisationsrichtlinien verwenden. Für Buckets in einem solchen Projekt sollte die Einstellung auf Bucket-Ebene verwendet werden.
Die Verhinderung des öffentlichen Zugriffs ist für Lesevorgänge nach dem Update stark konsistent. Es kann jedoch bis zu zehn Minuten dauern, bis die Erzwingung wirksam wird.
Nach Beginn der Erzwingung sind Ihre Objekte möglicherweise über einen gewissen Zeitraum weiterhin über einen Internetcache öffentlich zugänglich. Dies hängt von der Einstellung
Cache-Controlder Objekte ab. Wenn für dasCache-Control:max-agefür ein Objekt beispielsweise der Standardwert 3.600 Sekunden festgelegt ist, bleibt das Objekt möglicherweise für diese Zeitraum in einem Internet-Cache erhalten.