Richtlinien für Zugriffsrichtlinien - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Richtlinien für Zugriffsrichtlinien

Amazon S3 unterstützt ressourcenbasierte Richtlinien und Benutzerrichtlinien für die Verwaltung des Zugriffs auf Ihre Amazon-S3-Ressourcen. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf Ressourcen. Ressourcenbasierte Richtlinien umfassen Bucket-Richtlinien, Bucket-Zugriffskontrolllisten (ACLs) und Objekt-ACLs. Dieser Abschnitt beschreibt spezifische Szenarien für die Verwendung ressourcenbasierter Zugriffsrichtlinien für die Verwaltung des Zugriffs auf Ihre Amazon-S3-Ressourcen.

Wann eine ACL-basierte Zugriffsrichtlinie verwendet wird (Bucket- und Objekt-ACLs)

Buckets und Objekten sind ACLs zugeordnet, die Sie verwenden können, um Berechtigungen zu erteilen.

S3 Object Ownership ist eine Amazon-S3-Einstellung auf Bucket-Ebene, mit der Sie sowohl die Eigentümerschaft von den Objekten steuern können, die in Ihre Buckets hochgeladen werden, als auch ACLs deaktivieren oder aktivieren können. Standardmäßig ist die Objekteigentümerschaft auf die Einstellung „Vom Bucket-Eigentümer erzwungen“ festgelegt und alle ACLs sind deaktiviert. Wenn ACLs deaktiviert sind, besitzt der Bucket-Eigentümer alle Objekte im Bucket und verwaltet den Zugriff darauf ausschließlich mithilfe von Zugriffsverwaltungsrichtlinien.

Die meisten modernen Anwendungsfälle in Amazon S3 erfordern keine ACLs mehr. Wir empfehlen Ihnen, ACLs deaktiviert zu lassen, außer unter ungewöhnlichen Umständen, in denen Sie den Zugriff für jedes Objekt einzeln steuern müssen. Wenn ACLs deaktiviert sind, können Sie mithilfe von Richtlinien den Zugriff auf alle Objekte in Ihrem Bucket steuern, unabhängig davon, wer die Objekte in Ihren Bucket hochgeladen hat. Weitere Informationen finden Sie unter Weitere Informationen finden Sie unter Steuern des Eigentums an Objekten und Deaktivieren von ACLs für Ihren Bucket..

Wichtig

Wenn Ihr Bucket die Einstellung „Vom Bucket-Eigentümer erzwungen“ für S3 Object Ownership verwendet, müssen Sie Richtlinien verwenden, um Zugriff auf Ihren Bucket und die darin enthaltenen Objekte zu gewähren. Wenn die Einstellung „Vom Bucket-Eigentümer erzwungen“ aktiviert ist, schlagen Anforderungen zum Festlegen von Zugriffssteuerungslisten (ACLs) oder zum Aktualisieren von ACLs fehl und geben den Fehlercode AccessControlListNotSupported zurück. Anfragen zum Lesen von ACLs werden weiterhin unterstützt.

Wann Objekt-ACLs verwendet werden

Nachfolgend finden Sie die Szenarien, in denen Sie Objekt-ACLs zur Verwaltung von Berechtigungen verwenden sollten.

Objekte sind nicht im Besitz des Bucket-Eigentümers

Eine Objekt-ACL ist die einzige Möglichkeit, den Zugriff auf Objekte zu verwalten, die nicht dem Bucket-Eigentümer gehören. Ein AWS-Konto , dem der Bucket gehört, kann einem anderen die AWS-Konto Berechtigung erteilen, Objekte hochzuladen. Dem Bucket-Eigentümer gehören diese Objekte nicht. Das AWS-Konto , das das Objekt erstellt hat, muss Berechtigungen mithilfe von Objekt-ACLs erteilen.

Anmerkung

Ein Bucket-Eigentümer kann keine Berechtigungen für Objekte erteilen, die ihm nicht gehören. Beispielsweise gilt eine Bucket-Richtlinie, die Objektberechtigungen erteilt, nur für Objekte, die dem Bucket-Eigentümer gehören. Ein Bucket-Eigentümer, der die Rechnung zahlt, kann jedoch eine Bucket-Richtlinie schreiben, die den Zugriff auf Objekte im Bucket verweigern, unabhängig davon, wem dieser gehört. Der Bucket-Eigentümer kann auch beliebige Objekte im Bucket löschen

Sie müssen Berechtigungen auf Objektebene verwalten

Angenommen, die Berechtigungen variieren je nach Objekt und Sie müssen Berechtigungen auf Objektebene verwalten. Sie können eine einzelne Richtlinienanweisung schreiben, die einem AWS-Konto -Leseberechtigung für Millionen von Objekten mit einem bestimmten Schlüsselnamen-Präfix erteilt. Beispielsweise könnten Sie Leseberechtigung für Objekte erteilen, die mit dem Schlüsselnamepräfix logs beginnen. Wenn Ihre Zugriffsberechtigungen jedoch zwischen den Objekten variieren, ist die Erteilung von Berechtigungen für einzelne Objekte unter Verwendung einer Bucket-Richtlinie möglicherweise nicht praktisch. Außerdem sind Bucket-Richtlinien auf eine Größe von 20 KB beschränkt.

In diesem Fall ist die Verwendung von Objekt-ACLs möglicherweise eine geeignetere Alternative. Das gilt auch, obwohl eine Objekt-ACL ebenfalls auf maximal 100 Rechte beschränkt ist. Weitere Informationen finden Sie unter Zugriffskontrolllisten (ACL) – Übersicht.

Objekt-ACLs steuern nur Berechtigungen auf Objektebene

Es gibt eine Bucket-Richtlinie für den gesamten Bucket, aber Objekt-ACLs werden pro Objekt eingerichtet.

Ein AWS-Konto , dem ein Bucket gehört, kann einem anderen die AWS-Konto Berechtigung erteilen, eine Zugriffsrichtlinie zu verwalten. Es gestattet diesem Konto, die Richtlinie beliebig zu verändern. Um die Berechtigungen besser verwalten zu können, sollten Sie keine so allgemeine Berechtigung erteilen, sondern besser nur READ-ACP und WRITE-ACP-Berechtigungen für Untermengen von Objekten. Damit kann das Konto nur für bestimmte Objekte Berechtigungen verwalten, indem es die ACLs einzelner Objekte aktualisiert.

Wenn Sie ACLs verwenden möchten, um Berechtigungen auf Objektebene zu verwalten, und Sie auch neue Objekte besitzen möchten, die in Ihren Bucket geschrieben wurden, können Sie die bevorzugte Einstellung des Bucket-Eigentümers für Object Ownership anwenden. Ein Bucket mit der bevorzugten Einstellung des Bucket-Eigentümers akzeptiert und berücksichtigt weiterhin Bucket- und Objekt-ACLs. Mit dieser Einstellung gehören neue Objekte, die mit der von bucket-owner-full-control vordefinierten ACL geschrieben werden, automatisch dem Bucket-Eigentümer und nicht dem Objekt-Writer. Alle anderen ACL-Verhaltensweisen bleiben bestehen. Damit alle Amazon-S3-PUT-Vorgänge die von bucket-owner-full-control vordefinierte ACL enthalten müssen, können Sie eine Bucket-Richtlinie hinzufügen, die nur Objekt-Uploads mit dieser ACL zulässt.

Alternativen zur Verwendung von ACLs

Neben einer Objekt-ACL gibt es noch andere Methoden, wie ein Objekt-Eigentümer Objekt-Berechtigungen verwalten kann:

  • Wenn das AWS-Konto , dem das Objekt gehört, auch Eigentümer des Buckets ist, kann es eine Bucket-Richtlinie schreiben, um die Objektberechtigungen zu verwalten.

  • Wenn das AWS-Konto , dem das Objekt gehört, einem Benutzer in seinem Konto die Berechtigung erteilen möchte, kann es eine Benutzerrichtlinie verwenden.

  • Wenn Sie als Bucket-Eigentümer jedes Objekt in Ihrem Bucket automatisch besitzen und die volle Kontrolle über jedes Objekt in Ihrem Bucket haben möchten, können Sie die erzwungene Einstellung für den Bucket-Eigentümer für Object Ownership anwenden, um ACLs zu deaktivieren. Infolgedessen basiert die Zugriffskontrolle für Ihre Daten auf Richtlinien. Weitere Informationen finden Sie unter Weitere Informationen finden Sie unter Steuern des Eigentums an Objekten und Deaktivieren von ACLs für Ihren Bucket..

Verwendung einer Bucket-ACL

Der einzige empfohlene Anwendungsfall für Bucket-ACLs besteht darin, bestimmten AWS-Services wie dem Amazon CloudFront awslogsdelivery-Konto Berechtigungen zu erteilen. Wenn Sie eine Verteilung erstellen oder aktualisieren und die CloudFront Protokollierung aktivieren, CloudFront aktualisiert die Bucket-ACL, um dem awslogsdelivery Konto FULL_CONTROL Berechtigungen zum Schreiben von Protokollen in Ihren Bucket zu erteilen. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für die Konfiguration der Standardprotokollierung und für den Zugriff auf Ihre Protokolldateien im Amazon- CloudFront Entwicklerhandbuch. Wenn der Bucket, der die Protokolle speichert, die Einstellung „Bucket-Eigentümer erzwungen“ für S3 Object Ownership verwendet, um ACLs zu deaktivieren, CloudFront kann keine Protokolle in den Bucket schreiben. Weitere Informationen finden Sie unter Weitere Informationen finden Sie unter Steuern des Eigentums an Objekten und Deaktivieren von ACLs für Ihren Bucket..

Verwendung einer Bucket-Richtlinie

Wenn ein AWS-Konto , dem ein Bucket gehört, Benutzern in seinem Konto Berechtigungen erteilen möchte, kann er entweder eine Bucket-Richtlinie oder eine Benutzerrichtlinie verwenden. In den folgenden Szenarien müssen Sie eine Bucket-Richtlinie verwenden.

Sie möchten kontoübergreifende Berechtigungen für alle Amazon-S3-Berechtigungen verwalten

Sie können ACLs verwenden, um anderen Konten kontoübergreifende Berechtigungen zu gewähren. ACLs unterstützen jedoch nur einen endlichen Satz von Berechtigungen, die nicht alle Amazon-S3-Berechtigungen enthalten. Weitere Informationen finden Sie unter Welche Berechtigungen kann ich erteilen? Beispielsweise können Sie keine Berechtigungen für Bucket-Subressourcen erteilen. Weitere Informationen finden Sie unter Identity and Access Management in Amazon S3.

Sowohl Bucket- als auch Benutzerrichtlinien unterstützen die Erteilung der Berechtigung für alle Amazon-S3-Vorgänge. (Weitere Informationen finden Sie unter Amazon S3-Richtlinienaktionen.) Die Benutzerrichtlinien dienen jedoch der Verwaltung von Berechtigungen für Benutzer in Ihrem Konto. Für kontenübergreifende Berechtigungen für andere AWS-Konten oder Benutzer in einem anderen Konto müssen Sie eine Bucket-Richtlinie verwenden.

Verwendung einer Benutzerrichtlinie

Im Allgemeinen können Sie eine Benutzerrichtlinie oder eine Bucket-Richtlinie verwenden, um Berechtigungen zu verwalten. Sie können Berechtigungen verwalten, indem Sie Benutzer erstellen und Berechtigungen einzeln verwalten, indem Sie Richtlinien an Benutzer (oder Benutzergruppen) anhängen. Oder Sie stellen möglicherweise fest, dass ressourcenbasierte Richtlinien, z. B. eine Bucket-Richtlinie, besser für Ihr Szenario funktionieren.

Mit AWS Identity and Access Management (IAM) können Sie mehrere Benutzer in Ihrem erstellen AWS-Konto und ihre Berechtigungen über Benutzerrichtlinien verwalten. Ein IAM-Benutzer muss über Berechtigungen von dem übergeordneten Konto, zu dem er gehört, und von dem verfügen AWS-Konto , das Eigentümer der Ressource ist, auf die der Benutzer zugreifen möchte. Die Berechtigungen können folgt erteilt werden:

  • Berechtigung vom übergeordneten Konto – Das übergeordnete Konto kann seinem Benutzer Berechtigungen erteilen, indem es ihm eine Benutzerrichtlinie zuordnet.

  • Berechtigung vom Ressourceneigentümer – Der Ressourceneigentümer kann dem IAM-Benutzer (unter Verwendung einer Bucket-Richtlinie) oder dem übergeordneten Konto (unter Verwendung einer Bucket-Richtlinie, Bucket-ACL oder Objekt-ACL) Berechtigungen erteilen.

Das ist vergleichbar mit einem Kind, das mit einem Spielzeug spielen möchte, das jemand anderem gehört. Das Kind muss die Berechtigung von einem Elternteil erhalten, um mit dem Spielzeug zu spielen, als auch eine Berechtigung vom Eigentümer des Spielzeugs.

Weitere Informationen finden Sie unter Bucket-Richtlinien und Benutzerrichtlinien.

Berechtigungsdelegation

Wenn ein eine Ressource AWS-Konto besitzt, kann er diese Berechtigungen einem anderen erteilen AWS-Konto. Dieses Konto kann diese Berechtigungen oder eine Untermenge davon an Benutzer in dem Konto delegieren. Dies wird auch als Berechtigungsdelegation bezeichnet. Ein Konto, das Berechtigungen von einem anderen Konto erhält, kann die Berechtigungen nicht kontenübergreifend an ein anderes AWS-Konto delegieren.

Wir empfehlen Ihnen, zunächst alle einführenden Themen zu lesen, die erklären, wie Sie den Zugriff auf Ihre Amazon-S3-Ressourcen verwalten, sowie alle zugehörigen Anleitungen. Weitere Informationen finden Sie unter Identity and Access Management in Amazon S3. Die folgenden Themen enthalten weitere Informationen über spezifische Zugriffsrichtlinienoptionen.