ЕКС: ACL сегмента лише для читання для користувача, який не є власником об'єкта, не може завантажити завантажені об'єкти

摘要: Ця база знань пояснює концепцію списків контролю доступу (ACL) для користувача, який не є власником об'єкта, з точки зору лише читання в браузері S3.

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

症狀

Користувача об'єкта, який не є власником, було додано до сегмента лише для читання за допомогою списку керування доступом (ACL).

Користувач об'єкта, який не є власником сегмента, не може завантажувати об'єкти, які були завантажені користувачем власника сегмента об'єкта до створення сегмента ACL.

Перебіг проблеми полягає в наступному:

  1. Сегмент було створено з призначенням власника об'єкта користувача.
  2. Деякі файли були завантажені в сегмент користувачем-власником об'єкта.
  3. Користувача об'єкта, який не є власником, було додано до сегмента лише для читання за допомогою списку керування доступом (ACL).
  4. Намагаючись отримати доступ до сегмента, користувач об'єкта, який не є власником, може відображати та завантажувати нові завантажені об'єкти, але не може завантажувати об'єкти, завантажені до використання в сегменті ACL, доступного лише для читання. Ми бачимо, що права користувачів на об'єкти не встановлюються через S3 Browser відповідно до конфігурації в інтерфейсі ECS.

Помилка, коли користувач об'єкта, який не є власником, натискає на об'єкт за допомогою браузера S3, виглядає наступним чином: (Доступ заборонено: Доступ заборонено):
Помилка, коли користувач, який не є власником об'єкта, натискає на об'єкт через S3 Browser, виглядає наступним чином: (Доступ заборонено: Доступ заборонено) 

Нижче наведено налаштування ACL сегмента для користувача власника об'єкта (a_s3user) та користувача об'єкта, який не є власником (a_s3test):
Нижче наведено налаштування ACL сегмента для користувача власника об'єкта (a_s3user) і користувача об'єкта, який не є власником (a_s3test)

原因

Дозволи S3 можна встановити на рівні сегмента або об'єкта. ECS дотримується тих самих принципів, що й AWS S3 - залежно від типу застосовуваної політики. Він визначає тип операцій, які будуть дозволені на рівні Bucket або Object.

  1. Коли READ і READ ACL надаються на рівні сегмента ECS, власник nonbucket буде лише перераховувати об'єкти в сегменті, а non власник не може завантажувати дані з сегмента
  2. Під час запису об'єкта в сегмент дозвіл на читання має лише користувач, який записує об'єкт. Для того, щоб інші користувачі могли прочитати об'єкти, власник повинен явно надати дозвіл користувачам.
  3. Щоб надавати дозвіл власникам, які не є користувачами сегмента, ми маємо використовувати правила сегмента S3 

Дозволи ACL, які можна призначити, наведено в наступній таблиці. Відповідні дозволи залежать від типу сегмента.

Таблиця 1. Ковшові ACL
ACL Дозволу
Читати Дозволяє користувачу перераховувати об'єкти в сегменті
Читати ACL Дозволяє користувачеві зчитувати ACL сегмента
Написати Дозволяє користувачу створювати або оновлювати будь-який об'єкт у сегменті
Напишіть ACL. Дозволяє користувачу записувати ACL для сегмента
Виконати Встановлює дозвіл на виконання при зверненні як до файлової системи - Цей дозвіл не має сили, коли доступ до об'єкта здійснюється за допомогою протоколів об'єктів ECS.
Повний контроль Дозволяє користувачеві читати, записувати, читати ACL і записувати ACL.
ПРИМІТКИ:  Особи, які не є власниками, можуть читати, записувати, читати ACL та записувати ACL, якщо дозвіл було надано, або можуть перераховувати лише об'єкти.
Привілейоване письмо Дозволяє користувачу виконувати запис у сегмент або об'єкт, якщо користувач не має звичайного дозволу на запис - Обов'язковий для сегментів CAS
Видалити Дозволяє користувачу видаляти сегменти та об'єкти - обов'язковий для сегментів CAS
Ніхто Користувач не має привілеїв на сегменті.

AWS підтримує кілька типів політик.  

Довідник AWS Bucket ACL

У наведеній нижче таблиці наведено набір дозволів, які Amazon S3 підтримує в ACL. Набір прав доступу ACL однаковий для об'єкта ACL та сегмента ACL. Однак, залежно від контексту (ACL сегмента або ACL об'єкта), ці дозволи ACL надають дозволи для конкретних сегментів або операцій з об'єктами. У таблиці перераховані дозволи та описано, що вони означають у контексті об'єктів і сегментів.

Дозволу Коли дають на відро При наданні на об'єкт
READ Дозволяє грантоотримувачу перераховувати об'єкти у відрі Дозволяє грантоотримувачу зчитувати дані об'єкта та його метадані
WRITE Дозволяє грантоотримувачу створювати, перезаписувати та видаляти будь-який об'єкт у сегменті Не застосовується
READ_ACP Дозволяє грантоотримувачу читати відро ACL Дозволяє грантоотримувачу читати об'єкт ACL
WRITE_ACP Дозволяє грантоотримувачу записувати ACL для відповідного сегмента Дозволяє грантоотримувачу записати ACL для відповідного об'єкта
FULL_CONTROL Дозволяє отримувачу отримувати дозволи на читання, запис, READ_ACP та WRITE_ACP на сегменті Дозволяє отримувачу отримувати дозволи READ, READ_ACP та WRITE_ACP на об'єкт


Документація Amazon S3

У наведеній нижче таблиці показано, як кожен дозвіл ACL зіставляється з відповідними дозволами політики доступу. Як бачите, політика доступу надає більше дозволів, ніж ACL. Списки керування доступом (ACL) використовуються в основному для надання базових дозволів на читання/запис, подібно до дозволів файлової системи. Щоб дізнатися більше про те, коли слід використовувати список керування доступом, перегляньте статтю Рекомендації щодо використання доступних параметрів політики доступу.

Дозвіл ACL Відповідні дозволи політики доступу, коли дозвіл ACL надається в сегменті Відповідні дозволи політики доступу при наданні дозволу ACL на об'єкт
READ s3:ListBuckets3:ListBucketVersionsі s3:ListBucketMultipartUploads s3:GetObjects3:GetObjectVersionі s3:GetObjectTorrent
WRITE

s3:PutObject і s3:DeleteObject

Крім того, коли грантоотримувач є власником відра, надання WRITE дозвіл у відрі ACL дозволяє s3:DeleteObjectVersion дія, яку потрібно виконати для будь-якої версії в цьому сегменті.

Не застосовується
READ_ACP s3:GetBucketAcl s3:GetObjectAcl і s3:GetObjectVersionAcl
WRITE_ACP s3:PutBucketAcl s3:PutObjectAcl і s3:PutObjectVersionAcl
FULL_CONTROL Еквівалент надання READWRITEREAD_ACPі WRITE_ACP Дозволи ACL - Отже, цей дозвіл ACL зіставляється з комбінацією відповідних дозволів політики доступу. Еквівалент надання READREAD_ACPі WRITE_ACP Дозволи ACL. Таким чином, цей дозвіл ACL зіставляється з комбінацією відповідних дозволів політики доступу.

解析度

Варіант 1:
Довідник із Посібника з доступу до даних ECS, де описано, як користуватися політиками сегмента. На відміну від списків керування доступом, які або дозволяють усі дії, або жодну, політики доступу надають конкретним користувачам або всім користувачам умовні та детальні дозволи на конкретні дії. Умови політики можна використовувати для призначення дозволів для ряду об'єктів, які відповідають умові. Це можна використовувати для автоматичного призначення дозволів нещодавно завантаженим об'єктам.

Еталон 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.htmlЗ UI-> Manage-Bucket>-> Редагувати політику сегмента, додайте щось подібне до цього в редактор політик: 

{
  "Version": "2012-10-17",
  "Id": "Policy1593674317613",
  "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "bucket_name/*",
      "Effect": "Allow",
      "Principal": "read-only_user",
      "Sid": "Stmt1593673962638"
    }
  ]
}
Де дія: "S3:GetObject" - це дія, якій буде дозволено завантажувати об'єкти.
Де діють: "дозволяти"
де ресурс": "bucket_name/*" — це назва сегмента.
Де директор": "read-only_user" є користувачем, який не є власником сегмента. 

Варіант 2:
Використовуючи браузер S3 з власником об'єкта, змініть дозвіл для автентифікованих користувачів на об'єкти, завантажені до сегмента ACL, доступного лише для читання, щоб гарантувати, що користувач об'єкта, який не є власником, може завантажити об'єкт:
Використовуючи браузер S3 з власником об'єкта, змініть дозвіл для автентифікованих користувачів на об'єкти, завантажені в сегмент ACL лише для читання, щоб гарантувати, що користувач об'єкта, який не є власником, може завантажити об'єкт:

其他資訊

Якщо у вас виникли проблеми із завантаженням об'єкта через власника об'єкта, а дозволи не застосовуються до автентифікованих користувачів, які мають доступ до запису, перегляньте статтю бази знань 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 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。