ECS: Schreibgeschützte Bucket-ACL für Nicht-Eigentümer-Objektnutzer kann hochgeladene Objekte nicht herunterladen

摘要: In dieser Wissensdatenbank wird das Konzept der Bucket-Zugriffskontrolllisten (Access Control Lists, ACLs) für den Nicht-Eigentümer-Objektnutzer aus einer schreibgeschützten Perspektive im S3-Browser erläutert. ...

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

Der Objektnutzer, der nicht Eigentümer ist, wurde dem Bucket mit einer Bucket-ACL als schreibgeschützt hinzugefügt.

Ein Objektnutzer, der kein Bucket-Eigentümer ist, kann keine Objekte herunterladen, die vom Objektbucket-Eigentümer vor der Erstellung der Bucket-ACL hochgeladen wurden.

Der Problemablauf ist wie folgt:

  1. Der Bucket wurde mit dem zugewiesenen Objekteigentümernutzer erstellt.
  2. Einige Dateien wurden vom Objekteigentümer in den Bucket hochgeladen.
  3. Der Objektnutzer, der nicht Eigentümer ist, wurde dem Bucket mit einer Bucket-ACL als schreibgeschützt hinzugefügt.
  4. Beim Versuch, auf den Bucket zuzugreifen, kann der Nicht-Eigentümerobjektnutzer neu hochgeladene Objekte auflisten und herunterladen, aber keine Objekte, die vor der schreibgeschützten Bucket-ACL hochgeladen wurden. Wir sehen, dass die Nutzerrechte für die Objekte nicht gemäß der Konfiguration in der ECS-Benutzeroberfläche über den S3-Browser festgelegt werden.

Wenn der Nutzer eines Nicht-Eigentümerobjekts mithilfe des S3-Browsers auf ein Objekt klickt, tritt folgender Fehler auf: (Zugriff verweigert: Zugriff verweigert):
Der Fehler, wenn der Nutzer eines Nicht-Eigentümerobjekts über den S3-Browser auf ein Objekt klickt, tritt wie folgt auf: (Zugriff verweigert: Zugriff verweigert) 

Im Folgenden ist die Bucket-ACL-Einrichtung für den Objekteigentümernutzer (a_s3user) und den Nichteigentümer-Objektnutzer (a_s3test) beschrieben:
Im Folgenden ist die Bucket-ACL-Konfiguration für den Objekteigentümer (a_s3user) und den Nicht-Eigentümer-Objektnutzer (a_s3test) dargestellt

原因

S3-Berechtigungen können auf Bucket- oder Objektebene festgelegt werden. ECS befolgt dieselben Prinzipien wie AWS S3 – je nach Art der angewendeten Policy. Er bestimmt die Art der Vorgänge, die auf Bucket- oder Objektebene zulässig sind.

  1. Wenn READ und READ ACL auf ECS-Bucket-Ebene gewährt werden, kann der Nicht-Bucket-Eigentümer nur die Objekte im Bucket auflisten, der Nicht-Bucket-Eigentümer kann keine Daten aus dem Bucket herunterladen
  2. Beim Schreiben eines Objekts in einen Bucket verfügt nur der Nutzer, der das Objekt schreibt, über Leseberechtigungen. Damit andere Benutzer die Objekte lesen können, muss der Eigentümer den Benutzern explizit die Berechtigung erteilen.
  3. Um Nicht-Bucket-Eigentümern die Berechtigung zu erteilen, müssen wir S3-Bucket-Policies verwenden 

Die ACL-Berechtigungen, die zugewiesen werden können, sind in der folgenden Tabelle aufgeführt. Welche Berechtigungen anwendbar sind, hängt vom Bucket-Typ ab.

Tabelle 1: Bucket-ACLs
ACL Berechtigung
Read Ermöglicht es dem Nutzer, die Objekte im Bucket aufzulisten
ACL lesen Ermöglicht dem Nutzer das Lesen der Bucket-ACL
Schreiben Ermöglicht es dem Nutzer, ein beliebiges Objekt im Bucket zu erstellen oder zu aktualisieren
ACL schreiben. Ermöglicht es dem Nutzer, die ACL für den Bucket zu schreiben
Ausführen Legt die Ausführungsberechtigung beim Zugriff als Dateisystem fest. Diese Berechtigung hat keine Auswirkungen, wenn auf das Objekt mithilfe der ECS-Objektprotokolle zugegriffen wird.
Vollzugriff Ermöglicht dem/der NutzerIn das Lesen, Schreiben sowie Lesen und Schreiben der ACL.
HINWEIS:  Nicht-Inhaber können Lesen, Schreiben, ACL lesen und ACL schreiben, wenn die Berechtigung erteilt wurde, oder können nur die Objekte auflisten.
Schreibzugriff mit erhöhten Rechten Ermöglicht es Nutzern, Schreibvorgänge in einen Bucket oder ein Objekt durchzuführen, wenn der Nutzer nicht über normale Schreibberechtigungen verfügt. Erforderlich für CAS-Buckets
Löschen Ermöglicht dem Nutzer das Löschen von Buckets und Objekten – erforderlich für CAS-Buckets
Keine Der Nutzer verfügt über keine Berechtigungen für den Bucket.

AWS unterstützt mehrere Policy-Typen.  

AWS Bucket ACL-Referenz

In der folgenden Tabelle sind die Berechtigungen aufgeführt, die Amazon S3 in einer ACL unterstützt. Der Satz von ACL-Berechtigungen ist für eine Objekt-ACL und eine Bucket-ACL identisch. Je nach Kontext (Bucket-ACL oder Objekt-ACL) gewähren diese ACL-Berechtigungen jedoch Berechtigungen für bestimmte Buckets oder Objektvorgänge. Die Tabelle listet die Berechtigungen auf und beschreibt, was sie im Kontext von Objekten und Buckets bedeuten.

Berechtigung Wenn für einen Bucket gewährt Wenn für ein Objekt gewährt
READ Ermöglicht dem Begünstigten das Auflisten der Objekte im Bucket Ermöglicht dem Empfänger das Lesen der Objektdaten und ihrer Metadaten
WRITE Ermöglicht dem Begünstigten das Erstellen, Überschreiben und Löschen beliebiger Objekte im Bucket Unzutreffend
READ_ACP Ermöglicht dem Begünstigten das Lesen der Bucket-ACL Ermöglicht dem Empfänger das Lesen der Objekt-ACL
WRITE_ACP Ermöglicht dem Begünstigten das Schreiben der ACL für den entsprechenden Bucket Ermöglicht es dem Begünstigten, die ACL für das entsprechende Objekt zu schreiben.
FULL_CONTROL Gewährt dem Begünstigten die Berechtigungen READ, WRITE, READ_ACP und WRITE_ACP für den Bucket Gewährt dem Empfänger die Berechtigungen READ, READ_ACP und WRITE_ACP für das Objekt.


Amazon S3-Dokumentation

Die folgende Tabelle zeigt, wie die einzelnen ACL-Berechtigungen den entsprechenden Zugriffs-Policy-Berechtigungen zugeordnet sind. Wie Sie sehen, erlaubt die Zugriffs-Policy mehr Berechtigungen als eine ACL. ACLs werden in erster Linie verwendet, um grundlegende Lese-/Schreibberechtigungen zu gewähren, ähnlich wie Dateisystemberechtigungen. Weitere Informationen dazu, wann eine ACL verwendet werden sollte, finden Sie unter Richtlinien für die Verwendung der verfügbaren Zugriffs-Policy-Optionen.

ACL-Berechtigung Entsprechende Zugriffs-Policy-Berechtigungen, wenn die ACL-Berechtigung für einen Bucket gewährt wird Entsprechende Zugriffs-Policy-Berechtigungen, wenn die ACL-Berechtigung für ein Objekt gewährt wird
READ s3:ListBuckets3:ListBucketVersionsund s3:ListBucketMultipartUploads s3:GetObjects3:GetObjectVersionund s3:GetObjectTorrent
WRITE

s3:PutObject und s3:DeleteObject

Wenn der Begünstigte der Bucket-Eigentümer ist, wird die Gewährung WRITE Berechtigung in einer Bucket-ACL ermöglicht die s3:DeleteObjectVersion Aktion, die für eine beliebige Version in diesem Bucket durchgeführt werden soll.

Unzutreffend
READ_ACP s3:GetBucketAcl s3:GetObjectAcl und s3:GetObjectVersionAcl
WRITE_ACP s3:PutBucketAcl s3:PutObjectAcl und s3:PutObjectVersionAcl
FULL_CONTROL Entspricht der Gewährung von READWRITEREAD_ACPund WRITE_ACP ACL-Berechtigungen – Diese ACL-Berechtigung wird also einer Kombination der entsprechenden Zugriffs-Policy-Berechtigungen zugeordnet. Entspricht der Gewährung von READREAD_ACPund WRITE_ACP ACL-Berechtigungen. Diese ACL-Berechtigung wird also einer Kombination der entsprechenden Zugriffs-Policy-Berechtigungen zugeordnet.

解析度

Möglichkeit 1:
Weitere Informationen zur Verwendung von Bucket-Policies finden Sie im ECS-Datenzugriffshandbuch. Im Gegensatz zu ACLs, die entweder alle oder keine Aktionen zulassen, gewähren Zugriffs-Policies bestimmten Nutzern oder allen Nutzern bedingte und granulare Berechtigungen für bestimmte Aktionen. Policy-Bedingungen können verwendet werden, um Berechtigungen für eine Reihe von Objekten zuzuweisen, die die Bedingung erfüllen. Dies kann verwendet werden, um neu hochgeladenen Objekten automatisch Berechtigungen zuzuweisen.

Referenz zu AWS S3:

https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html
https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html

https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.htmlGeben Sie unter UI-> Manage-Bucket-> Edit bucket policy etwas Ähnliches wie dieses in den Policy-Editor> ein: 

{
  "Version": "2012-10-17",
  "Id": "Policy1593674317613",
  "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "bucket_name/*",
      "Effect": "Allow",
      "Principal": "read-only_user",
      "Sid": "Stmt1593673962638"
    }
  ]
}
Wo Aktion: "S3:GetObject" ist die Aktion, um Objekte herunterladen zu können.
Womit Wirkung: "Allow"
where resource": "bucket_name/*" ist der Bucket-Name.
Wo Auftraggeber": "read-only_use r" ist ein Nicht-Bucket-Owner-Nutzer

Möglichkeit 2:
Ändern Sie mithilfe des S3-Browsers mit dem Objekteigentümer die Berechtigung für authentifizierte Nutzer für Objekte, die vor der schreibgeschützten Bucket-ACL hochgeladen wurden, um sicherzustellen, dass der Objektnutzer, der kein Eigentümer ist, das Objekt herunterladen kann:
Ändern Sie mithilfe des S3-Browsers mit dem Objekteigentümer die Berechtigung für authentifizierte Nutzer für Objekte, die vor der schreibgeschützten Bucket-ACL hochgeladen wurden, um sicherzustellen, dass der Nicht-Eigentümerobjektnutzer das Objekt herunterladen kann:

其他資訊

Wenn Sie Probleme beim Hochladen eines Objekts über den Objekteigentümer haben und die Berechtigungen nicht auf authentifizierte Nutzer mit Schreibzugriff angewendet werden, lesen Sie den Wissensdatenbank-Artikel 520711 
 

受影響的產品

ECS Appliance

產品

ECS Appliance, ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption
文章屬性
文章編號: 000070218
文章類型: Solution
上次修改時間: 10 9月 2025
版本:  5
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。