ECS: Skrivskyddad bucket-ACL för användare av icke-ägarobjekt, kan inte ladda ned uppladdade objekt

摘要: I den här 知識庫 förklaras begreppet buckets åtkomstkontrollistor (ACL:er) för användare av icke-ägarobjekt ur ett skrivskyddat perspektiv i S3-webbläsaren.

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

症狀

Icke-ägarobjektanvändare lades till som skrivskyddad i bucketen med hjälp av en bucket-ACL.

En icke-bucket-ägare, objektanvändare kan inte ladda ner objekt som har laddats upp av objektbucketägarens användare innan bucket-ACL:en skapas.

Problemflödet är följande:

  1. Bucket skapades med objektägaren tilldelad.
  2. Vissa filer laddades upp till bucketen av användaren av objektägaren.
  3. Icke-ägarobjektanvändare lades till som skrivskyddad i bucketen med hjälp av en bucket-ACL.
  4. När användaren försöker komma åt bucketen kan användaren av icke-ägarobjektet lista och ladda ned nyligen uppladdade objekt, men kan inte ladda ned objekt som laddats upp före skrivskyddade bucket-ACL. Vi kan se att användarrättigheterna för objekten inte är inställda via S3-webbläsaren enligt konfigurationen i ECS-gränssnittet.

Felet när användaren av icke-ägarobjektet klickar på ett objekt med S3-webbläsaren är följande: (Åtkomst nekad: Åtkomst nekad):
Felet när användaren som inte äger objektet klickar på ett objekt via S3-webbläsaren är följande: (Åtkomst nekad: Åtkomst nekad) 

Följande är konfigurationen av bucket-ACL för objektägaranvändaren (a_s3user) och icke-ägarobjektanvändaren (a_s3test):
Följande är konfigurationen av bucket-ACL för objektägaranvändaren (a_s3user) och icke-ägarobjektanvändaren (a_s3test)

原因

S3-behörigheter kan ställas in på bucket- eller objektnivå. ECS följer samma principer som AWS S3 – beroende på vilken typ av princip som tillämpas. Den avgör vilken typ av åtgärder som ska tillåtas på bucketnivå eller objektnivå.

  1. När READ och READ ACL beviljas på ECS-bucketnivå kommer icke-bucketägaren endast att lista objekten i bucketen, icke-bucketägaren kan inte ladda ned data från bucketen
  2. När du skriver ett objekt till en bucket har endast den användare som skriver objektet läsbehörighet. För att andra användare ska kunna läsa objekten måste ägaren uttryckligen bevilja behörighet till användarna.
  3. För att ge behörighet till icke-bucketägare måste vi använda S3-bucketpolicyer 

De ACL-behörigheter som kan tilldelas finns i följande tabell. Vilka behörigheter som är tillämpliga beror på typen av bucket.

Tabell 1, Bucket-ACL:er
ÅTKOMSTKONTROLLISTA Tillåtelse
Läsa Gör det möjligt för användaren att lista objekten i bucketen
Läs ACL Gör det möjligt för användaren att läsa bucket-ACL:en
Skriva Gör det möjligt för användaren att skapa eller uppdatera valfritt objekt i bucketen
Skriv ACL. Gör det möjligt för användaren att skriva ACL för bucketen
Utföra Anger körningsbehörighet vid åtkomst som ett filsystem – Den här behörigheten har ingen effekt när objektet används med hjälp av ECS-objektprotokollen.
Fullständig behörighet Tillåter användaren att läsa, skriva, läsa ACL och skriva ACL.
Obs!  Icke-ägare kan läsa, skriva, läsa ACL och skriva ACL om behörigheten har beviljats eller bara kan lista objekten.
Privilegierad skrivning Gör det möjligt för användaren att skriva till en bucket eller ett objekt när användaren inte har normal skrivbehörighet – krävs för CAS-bucketar
Ta bort Tillåter användaren att ta bort bucketar och objekt – krävs för CAS-bucketar
Inget Användaren har inga privilegier för bucketen.

AWS stöder flera principtyper.  

AWS Bucket ACL-referens

I följande tabell visas den uppsättning behörigheter som Amazon S3 stöder i en ACL. Uppsättningen ACL-behörigheter är densamma för en objekt-ACL och en bucket-ACL. Beroende på kontexten (bucket-ACL eller objekt-ACL) beviljar dessa ACL-behörigheter behörigheter för specifika bucketar eller objektåtgärder. Tabellen visar behörigheterna och beskriver vad de innebär i samband med objekt och bucketar.

Tillåtelse När det beviljas på en hink När ett objekt beviljas
READ Gör det möjligt för bidragstagaren att lista objekten i bucketen Gör det möjligt för bidragstagaren att läsa objektdata och dess metadata
WRITE Tillåter beviljad att skapa, skriva över och ta bort alla objekt i bucketen Inte applicerbart
READ_ACP Gör det möjligt för bidragsmottagaren att läsa bucket-ACL:en Gör det möjligt för mottagaren att läsa objektets ACL
WRITE_ACP Gör det möjligt för beviljad att skriva ACL för tillämplig bucket Gör det möjligt för beviljaren att skriva ACL för det aktuella objektet
FULL_CONTROL Ger den som beviljats behörigheterna LÄSA, SKRIVA, READ_ACP och WRITE_ACP för bucketen Ger den som beviljats behörighet att läsa, READ_ACP och WRITE_ACP för objektet


Dokumentation för Amazon S3

I följande tabell visas hur varje ACL-behörighet mappas till motsvarande behörigheter för åtkomstprinciper. Som du ser tillåter åtkomstprincipen fler behörigheter än vad en ACL gör. Du använder ACL:er främst för att bevilja grundläggande läs-/skrivbehörigheter, ungefär som filsystembehörigheter. Mer information om när du ska använda en ACL finns i Riktlinjer för hur du använder de tillgängliga alternativen för åtkomstprinciper.

ACL-behörighet Motsvarande behörigheter för åtkomstprincip när ACL-behörigheten beviljas för en bucket Motsvarande åtkomstprincipbehörigheter när ACL-behörigheten beviljas för ett objekt
READ s3:ListBuckets3:ListBucketVersionsoch s3:ListBucketMultipartUploads s3:GetObjects3:GetObjectVersionoch s3:GetObjectTorrent
WRITE

s3:PutObject och s3:DeleteObject

Dessutom, när bidragsmottagaren är ägare till en hink, WRITE behörighet i en bucket-ACL gör det möjligt för s3:DeleteObjectVersion Åtgärd som ska utföras på alla versioner i den bucketen.

Inte applicerbart
READ_ACP s3:GetBucketAcl s3:GetObjectAcl och s3:GetObjectVersionAcl
WRITE_ACP s3:PutBucketAcl s3:PutObjectAcl och s3:PutObjectVersionAcl
FULL_CONTROL Likvärdigt med att bevilja READWRITEREAD_ACPoch WRITE_ACP ACL-behörigheter – Den här ACL-behörigheten mappar därför till en kombination av motsvarande behörigheter för åtkomstprinciper. Likvärdigt med att bevilja READREAD_ACPoch WRITE_ACP ACL-behörigheter. Den här ACL-behörigheten mappar därför till en kombination av motsvarande behörigheter för åtkomstprinciper.

解析度

Alternativet 1:
Se manualen för ECS-dataåtkomst och information om hur du använder bucketpolicyer. Till skillnad från ACL:er, som antingen tillåter alla åtgärder eller ingen, ger åtkomstprinciper specifika användare, eller alla användare, villkorliga och detaljerade behörigheter för specifika åtgärder. Principvillkor kan användas för att tilldela behörigheter för ett intervall med objekt som matchar villkoret. Detta kan användas för att automatiskt tilldela behörigheter till nyligen uppladdade objekt.

Referens 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.htmlFrån UI-> Manage-Bucket>-> Edit bucket policy lägger du till något som liknar detta i principredigeraren: 

{
  "Version": "2012-10-17",
  "Id": "Policy1593674317613",
  "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "bucket_name/*",
      "Effect": "Allow",
      "Principal": "read-only_user",
      "Sid": "Stmt1593673962638"
    }
  ]
}
Där Åtgärd: "S3:GetObject" är den åtgärd som ska tillåtas för att kunna ladda ned objekt.
Där effekt: "Tillåt"
där resurs": "bucket_name/*" är bucket-namnet.
Om huvudmannen": "read-only_use r" är en icke-bucket-ägare

Alternativet 2:
Med hjälp av S3-webbläsaren med objektägaren ändrar du behörigheten för Autentiserade användare för objekt som laddats upp före skrivskyddade bucket-ACL för att säkerställa att icke-ägarobjektanvändaren kan ladda ned objektet:
Använd S3-webbläsaren med objektägaren och ändra behörigheten för Autentiserade användare för objekt som laddats upp före skrivskyddade bucket-ACL för att säkerställa att användaren som inte äger objektet kan ladda ned objektet:

其他資訊

Om du stöter på problem med att ladda upp ett objekt via objektägaren och behörigheterna inte tillämpas på autentiserade användare som har skrivåtkomst kan du läsa kunskapsbasartikeln 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 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。