Verhinderung des öffentlichen Zugriffs

Zu den Beispielen

Auf dieser Seite werden die Bucket-Einstellung Öffentlicher Zugriff verhindern und die verwandte Einschränkung der Organisationsrichtlinie für die Verhinderung des öffentlichen Zugriff 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:

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 und allAuthenticatedUsers autorisiert wurden, schlagen mit dem HTTP-Statuscode 401 oder 403 fehl.

  • Vorhandene IAM-Richtlinien und ACLs, die Zugriff auf allUsers und allAuthenticatedUsers gewähren, bleiben bestehen, werden aber durch die Verhinderung des öffentlichen Zugriffs überschrieben.

  • Anfragen zum Erstellen von Buckets oder Objekten mit allUsers und allAuthenticatedUsers 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 enthalten allUsers, allUsers wird jedoch durch die Verhinderung des öffentlichen Zugriffs überschrieben.
  • Anfragen zum Hinzufügen von allUsers und allAuthenticatedUsers zu einer IAM-Richtlinie oder ACL schlagen mit 412 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 Organisationsrichtlinie storage.publicAccessPrevention bestimmt:

    • Wenn storage.publicAccessPrevention für das Projekt, das den Bucket enthält, auf True gesetzt ist, gilt die Verhinderung des öffentlichen Zugriffs für den Bucket.

    • Wenn storage.publicAccessPrevention für das Projekt, das den Bucket enthält, auf False 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 den storage.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 Wert storage.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 und allAuthenticatedUsers gewähren, werden wirksam und machen die Daten öffentlich zugänglich.

  • Anfragen zum Erstellen von IAM-Richtlinien oder ACLs, die den Zugriff auf allUsers und allAuthenticatedUsers 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.

IAM-Berechtigungen zur Verhinderung des öffentlichen Zugriffs

Sie benötigen die IAM-Berechtigung orgpolicy.*, um die Organisationsrichtlinie zur Verhinderung des öffentlichen Zugriffs auf Projekt-, Ordner- oder Organisationsebene zu verwalten. Diese Berechtigung finden Sie in der IAM-Rolle roles/orgpolicy.policyAdmin.

Sie benötigen die IAM-Berechtigungen storage.buckets.update und storage.buckets.setIamPolicy, um die Einstellung für die Verhinderung des öffentlichen Zugriffs für einen Bucket zu verwalten. Diese Berechtigungen finden Sie in der Rolle roles/storage.admin.

Wenn für das übergeordnete Projekt des Buckets eine Organisationsrichtlinie zur Verhinderung des öffentlichen Zugriffs erzwungen wird, können Storage-Administratoren den Bucket nicht von der Verhinderung des öffentlichen Zugriffs ausnehmen.

Hinweise

  • Wenn Sie die Verhinderung des öffentlichen Zugriff auf vorhandenen Ressourcen erzwingen, werden alle Autorisierungen und neuen Ergänzungen von allUsers und allAuthenticatedUsers blockiert. Dies kann folgende Auswirkungen auf Ihre Buckets haben:

    • Wenn eine Anwendung allUsers und allAuthenticatedUsers benötigt, um auf Ihre Daten zuzugreifen oder öffentliche Ressourcen zu erstellen, kann die Aktivierung einer Verhinderung des öffentlichen Zugriffs die Anwendung beeinträchtigen.

    • 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 das Cache-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.

Nächste Schritte