ECS: Alleen-lezen bucket ACL voor niet-eigenaar objectgebruiker kan geüploade objecten niet downloaden

摘要: In deze knowledge base wordt het concept van buckets Access Control Lists (ACL's) voor de niet-eigenaar uitgelegd vanuit een alleen-lezen perspectief in S3 Browser.

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

症狀

Objectgebruiker zonder eigenaar is toegevoegd als alleen-lezen aan de bucket met behulp van een bucket-ACL.

Een niet-bucket-eigenaar, objectgebruiker kan geen objecten downloaden die zijn geüpload door de gebruiker van de objectbucket-eigenaar, voordat de bucket-ACL werd gemaakt.

De probleemstroom is als volgt:

  1. Bucket is gemaakt waaraan de gebruiker van de objecteigenaar is toegewezen.
  2. Sommige bestanden zijn geüpload naar de bucket door de gebruiker van de objecteigenaar.
  3. Objectgebruiker zonder eigenaar is toegevoegd als alleen-lezen aan de bucket met behulp van een bucket-ACL.
  4. Bij een poging om toegang te krijgen tot de bucket, kan de gebruiker van het niet-eigenaarsobject nieuw geüploade objecten vermelden en downloaden, maar geen objecten downloaden die vóór de alleen-lezen bucket ACL zijn geüpload. We kunnen zien dat de gebruikersrechten op de objecten niet zijn ingesteld via S3-browser volgens de configuratie in de ECS-gebruikersinterface.

De fout wanneer de niet-eigenaar van het object op een object klikt met behulp van S3 Browser is als volgt: (Toegang geweigerd: Toegang geweigerd):
De fout wanneer de niet-eigenaar van het object gebruiker op een object klikt via S3 Browser is als volgt: (Toegang geweigerd: Toegang geweigerd) 

Hieronder volgt de bucket-ACL-instelling voor de objecteigenaargebruiker (a_s3user) en de niet-eigenaar objectgebruiker (a_s3test):
Hieronder volgt de bucket-ACL-instelling voor de objecteigenaargebruiker (a_s3user) en niet-eigenaar objectgebruiker (a_s3test)

原因

S3-machtigingen kunnen worden ingesteld op bucket- of objectniveau. ECS hanteert dezelfde principes als AWS S3, afhankelijk van het type beleid dat wordt toegepast. Het bepaalt het type bewerkingen dat is toegestaan op bucketniveau of objectniveau.

  1. Wanneer READ en READ ACL worden toegekend op ECS bucket-niveau, mag de niet-bucket-eigenaar alleen de objecten in de bucket weergeven. De niet-bucket-eigenaar kan geen data uit de bucket downloaden
  2. Bij het schrijven van een object naar een bucket heeft alleen de gebruiker die het object schrijft leesmachtiging. Om ervoor te zorgen dat andere gebruikers de objecten kunnen lezen, moet de eigenaar expliciet toestemming geven aan de gebruikers.
  3. Om toestemming te verlenen aan niet-bucket-eigenaren, moeten we S3-bucket-beleidsregels gebruiken 

De ACL-machtigingen die kunnen worden toegewezen, vindt u in de volgende tabel. De machtigingen die van toepassing zijn, zijn afhankelijk van het type bucket.

Tabel 1. Bucket ACL's
ACL Toestemming
Lezen Hiermee kan de gebruiker de objecten in de bucket vermelden
ACL lezen Hiermee kan de gebruiker de bucket ACL lezen
Schrijven Hiermee kan de gebruiker elk object in de bucket maken of bijwerken
Schrijf ACL. Hiermee kan de gebruiker de ACL voor de bucket schrijven
Executeren Hiermee stelt u de uitvoeringsmachtiging in bij toegang als bestandssysteem: deze machtiging heeft geen effect wanneer het object wordt benaderd met behulp van de ECS-objectprotocollen.
Volledige controle Hiermee kan de gebruiker de ACL lezen, schrijven, lezen en ACL schrijven.
Opmerking:  Niet-eigenaren kunnen ACL lezen, schrijven, ACL lezen en ACL schrijven als de machtiging is verleend of alleen de objecten kunnen vermelden.
Bevoorrecht schrijven Hiermee kan de gebruiker schrijfbewerkingen uitvoeren naar een bucket of object wanneer de gebruiker geen normale schrijfmachtiging heeft - vereist voor CAS-buckets
Verwijderen Hiermee kan de gebruiker buckets en objecten verwijderen - vereist voor CAS-buckets
Geen De gebruiker heeft geen rechten op de bucket.

AWS ondersteunt meerdere beleidstypen.  

AWS Bucket ACL-referentie

De volgende tabel bevat de set machtigingen die Amazon S3 ondersteunt in een ACL. De set ACL-machtigingen is hetzelfde voor een object-ACL en een bucket-ACL. Afhankelijk van de context (bucket-ACL of object-ACL) verlenen deze ACL-machtigingen echter machtigingen voor specifieke buckets of objectbewerkingen. De tabel bevat de machtigingen en beschrijft wat ze betekenen in de context van objecten en buckets.

Toestemming Indien toegekend op een bucket Indien toegekend op een object
READ Hiermee kan de begunstigde de objecten in de bucket vermelden Hiermee kan de begunstigde de objectdata en de metadata lezen
WRITE Hiermee kan de begunstigde elk object in de bucket maken, overschrijven en verwijderen Niet van toepassing
READ_ACP Hiermee kan de begunstigde de bucket ACL lezen Hiermee kan de begunstigde het object ACL lezen
WRITE_ACP Hiermee kan de begunstigde de ACL voor de toepasselijke bucket schrijven Hiermee kan de begunstigde de ACL voor het betreffende object schrijven
FULL_CONTROL Hiermee krijgt de begunstigde de machtigingen LEZEN, SCHRIJVEN, READ_ACP en WRITE_ACP op de bucket Hiermee krijgt de begunstigde de machtigingen READ, READ_ACP en WRITE_ACP voor het object


Amazon S3-documentatie

In de volgende tabel ziet u hoe elke ACL-machtiging wordt toegewezen aan de bijbehorende toegangsbeleidsmachtigingen. Zoals u kunt zien, staat het toegangsbeleid meer machtigingen toe dan een ACL. U gebruikt ACL's voornamelijk om basismachtigingen voor lezen/schrijven toe te kennen, vergelijkbaar met machtigingen voor het bestandssysteem. Zie Richtlijnen voor het gebruik van de beschikbare opties voor toegangsbeleid voor meer informatie over het gebruik van een ACL.

ACL-toestemming Corresponderende toegangsbeleidsmachtigingen wanneer de ACL-machtiging wordt verleend op een bucket Corresponderende toegangsbeleidsmachtigingen wanneer de ACL-machtiging wordt verleend voor een object
READ s3:ListBuckets3:ListBucketVersionsen s3:ListBucketMultipartUploads s3:GetObjects3:GetObjectVersionen s3:GetObjectTorrent
WRITE

s3:PutObject als s3:DeleteObject

Bovendien, wanneer de begunstigde de eigenaar van de bucket is, WRITE toestemming in een emmer ACL staat de s3:DeleteObjectVersion Actie die moet worden uitgevoerd op elke versie in die bucket.

Niet van toepassing
READ_ACP s3:GetBucketAcl s3:GetObjectAcl als s3:GetObjectVersionAcl
WRITE_ACP s3:PutBucketAcl s3:PutObjectAcl als s3:PutObjectVersionAcl
FULL_CONTROL Komt overeen met het verlenen van READWRITEREAD_ACPen WRITE_ACP ACL-machtigingen - Deze ACL-machtiging wordt dus toegewezen aan een combinatie van overeenkomstige toegangsbeleidsmachtigingen. Komt overeen met het verlenen van READREAD_ACPen WRITE_ACP ACL-machtigingen. Deze ACL-machtiging is dus gekoppeld aan een combinatie van overeenkomstige toegangsbeleidsmachtigingen.

解析度

Optie 1:
Raadpleeg de ECS Data Access Guide, het gebruik van bucketbeleid. In tegenstelling tot ACL's, die alle of geen acties toestaan, biedt het toegangsbeleid specifieke gebruikers of alle gebruikers voorwaardelijke en gedetailleerde machtigingen voor specifieke acties. Beleidsvoorwaarden kunnen worden gebruikt om machtigingen toe te wijzen voor een reeks objecten die overeenkomen met de voorwaarde. Dit kan worden gebruikt om automatisch machtigingen toe te wijzen aan nieuw geüploade objecten.

Referentie 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.htmlVan UI-> Manage-Bucket>-> Edit bucket policy, plaats iets soortgelijks als dit in de beleidseditor: 

{
  "Version": "2012-10-17",
  "Id": "Policy1593674317613",
  "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "bucket_name/*",
      "Effect": "Allow",
      "Principal": "read-only_user",
      "Sid": "Stmt1593673962638"
    }
  ]
}
Waar Actie: "S3:GetObject" is de actie om objecten te mogen downloaden.
Waar Effect: "Toestaan"
waar Resource": "bucket_name/*", is de naam van de bucket.
Waar Opdrachtgever": "read-only_user", is een gebruiker zonder bucket-eigenaar. 

Optie 2:
Gebruik S3 Browser met de objecteigenaar en wijzig de machtiging voor geverifieerde gebruikers voor objecten die zijn geüpload vóór de alleen-lezen bucket ACL om ervoor te zorgen dat de niet-eigenaar het object kan downloaden:
Met behulp van S3 Browser met de objecteigenaar, wijzigt u de machtiging voor geverifieerde gebruikers voor objecten die zijn geüpload vóór de alleen-lezen bucket ACL om ervoor te zorgen dat de niet-eigenaar het object kan downloaden:

其他資訊

Als u problemen ondervindt bij het uploaden van een object via de objecteigenaar en de machtigingen niet worden toegepast op geverifieerde gebruikers die schrijftoegang hebben, lees dan het Knowledge Base-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 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。