У меня есть кластер ceph, и на нем запущено несколько ведер s3, пользователь 'gitlab-s3-api' имеет полное разрешение на все (users=;ведра=;метаданные=;использование=;zone=* ), но, как ни странно, он не может удалить ни один файл из своей корзины.
{
"user_id": "gitlab-s3-api",
"display_name": "Корзина Gitlab s3",
"электронное письмо": "",
«подвешено»: 0,
"max_buckets": 1000,
"подпользователи": [],
"ключи": [
{
"пользователь": "gitlab-s3-api",
"access_key": "хххх",
"секрет_ключ": "хххх"
}
],
"быстрые_ключи": [],
"колпачки": [
{
"тип": "ведра",
"пермь": "*"
},
{
"тип": "метаданные",
"пермь": "*"
},
{
"тип": "использование",
"пермь": "*"
},
{
"тип": "пользователи",
"пермь": "*"
},
{
"тип": "зона",
"пермь": "*"
}
],
"op_mask": "читать, писать, удалять",
"default_placement": "",
"класс_хранилища_по умолчанию": "",
"размещение_тегов": [],
"ведро_квота": {
"включено": правда,
"check_on_raw": ложь,
"max_size": 32212254720,
"max_size_kb": 31457280,
"макс_объектов": -1
},
"user_quota": {
"включено": ложь,
"check_on_raw": ложь,
"max_size": -1,
"max_size_kb": 0,
"макс_объектов": -1
},
"temp_url_keys": [],
"тип": "ргв",
"mfa_ids": []
}
Я также добавил пользователю политику DeleteObject, но она не работает.
s3cmd информация s3://gitlab
s3://gitlab/ (ведро):
Местоположение: по умолчанию
Плательщик: BucketOwner
Правило истечения срока действия: нет
Политика: {
«Версия»: «2012-10-17»,
"Заявление": [{
«Эффект»: «Разрешить»,
"Основной": {"AWS": ["arn:aws:iam:::user/gitlab-s3-api"]},
«Действие»: «s3: УдалитьОбъект»,
"Ресурс": [
"arn:aws:s3:::gitlab/*"
]
}]
}
КОРС: нет
ACL: корзина Gitlab s3: FULL_CONTROL
Здесь вы можете видеть, что я не могу удалить объект.
s3cmd rm s3://gitlab/ansible.cfg
ОШИБКА: Ошибка при синтаксическом анализе xml: с удаленного сервера возвращен неправильный XML-файл с ошибкой. ErrorXML: <html><body><h1>403 Forbidden</h1>
Запрос запрещен административными правилами.
</тело></html>
ОШИБКА: ошибка S3: 403 (запрещено)