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.publicAccessPrevention
auf 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
allUsers
undallAuthenticatedUsers
autorisiert wurden, schlagen mit dem HTTP-Statuscode401
oder403
fehl.Vorhandene IAM-Richtlinien und ACLs, die Zugriff auf
allUsers
undallAuthenticatedUsers
gewähren, bleiben bestehen, werden aber durch die Verhinderung des öffentlichen Zugriffs überschrieben.Anfragen zum Erstellen von Buckets oder Objekten mit
allUsers
undallAuthenticatedUsers
in ihren IAM-Richtlinien oder ACLs schlagen fehl, mit der folgenden Ausnahme:- Wenn ein Bucket eine Standard-Objekt-ACL mit
allUsers
enthält, sind Anfragen zum Erstellen von Objekten in diesem Bucket erfolgreich. Die ACLs für diese Objekte enthaltenallUsers
,allUsers
wird jedoch durch die Verhinderung des öffentlichen Zugriffs überschrieben.
- Wenn ein Bucket eine Standard-Objekt-ACL mit
Anfragen zum Hinzufügen von
allUsers
undallAuthenticatedUsers
zu einer IAM-Richtlinie oder ACL schlagen mit412 Precondition Failed
fehl.
Ü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
enforced
gesetzt sind, gilt für den Bucket die Verhinderung des öffentlichen Zugriffs.Wenn die Metadaten für die öffentliche Zugriffssteuerung eines Buckets auf
inherited
gesetzt sind, wird die Verhinderung des öffentlichen Zugriffs durch die Einschränkung der Organisationsrichtliniestorage.publicAccessPrevention
bestimmt:Wenn
storage.publicAccessPrevention
für das Projekt, das den Bucket enthält, aufTrue
gesetzt ist, gilt die Verhinderung des öffentlichen Zugriffs für den Bucket.Wenn
storage.publicAccessPrevention
für das Projekt, das den Bucket enthält, aufFalse
gesetzt ist, gilt die Verhinderung des öffentlichen Zugriffs nicht für den Bucket.Wenn
storage.publicAccessPrevention
nicht 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.publicAccessPrevention
festlegt, wird die Verhinderung des öffentlichen Zugriffs durch den Wertstorage.publicAccessPrevention
bestimmt, der von der Organisation festgelegt wird, die das Projekt enthält.Wenn für keine Ressource
storage.publicAccessPrevention
festgelegt 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
allUsers
undallAuthenticatedUsers
gewähren, werden wirksam und machen die Daten öffentlich zugänglich.Anfragen zum Erstellen von IAM-Richtlinien oder ACLs, die den Zugriff auf
allUsers
undallAuthenticatedUsers
gewä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
allUsers
undallAuthenticatedUsers
blockiert. Dies kann folgende Auswirkungen auf Ihre Buckets haben:Wenn eine Anwendung
allUsers
undallAuthenticatedUsers
benö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 ermitteln, von denen andere Anwendungen möglicherweise abhängen, finden Sie in den folgenden Inhalten:Öffentliche Ressourcen identifizieren
Bevor Sie die Verhinderung des öffentlichen Zugriffs erzwingen, empfehlen wir Ihnen, Ihre öffentlichen Ressourcen zu inventarisieren, damit andere Arbeitslasten, die von der Öffentlichkeitszugänglichkeit Ihrer Daten abhängen, nicht beeinträchtigt werden. 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 an öffentliche Ressourcen enthalten.
-
Ob ein Bucket öffentlich zugänglich ist, können Sie anhand der IAM-Richtlinien des Buckets prüfen. Richtlinien, die dem Hauptkonto
allUsers
oderallAuthenticatedUsers
Rollen gewähren, machen den Bucket potenziell öffentlich zugänglich. Alternativ zur 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 festzustellen, auf welche verwalteten Ordner möglicherweise öffentlich zugegriffen werden kann.
- Wenn Sie wissen möchten, ob einzelne Objekte öffentlich zugänglich sind, prüfen Sie das Objekt auf ACLs.
ACLs, die dem Hauptkonto
allUsers
oderallAuthenticatedUsers
Zugriff gewähren, machen das Objekt potenziell für die Öffentlichkeit 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-Control
der Objekte ab. Wenn für dasCache-Control:max-age
fü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.