не могу удалить объекты в ведре s3 ceph
У меня есть кластер ceph и я запускаю на нем несколько ведер s3, пользователь 'gitlab-s3-api' имеет полные права на все (users= ; buckets= ;metadata= ;usage= ;zone=* ), но, как ни странно, он не может удалить любой файл в отдельной корзине.
{
"user_id": "gitlab-s3-api",
"display_name": "Gitlab s3 bucket",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"subusers": [],
"keys": [
{
"user": "gitlab-s3-api",
"access_key": "xxxx",
"secret_key": "xxxx"
}
],
"swift_keys": [],
"caps": [
{
"type": "buckets",
"perm": "*"
},
{
"type": "metadata",
"perm": "*"
},
{
"type": "usage",
"perm": "*"
},
{
"type": "users",
"perm": "*"
},
{
"type": "zone",
"perm": "*"
}
],
"op_mask": "read, write, delete",
"default_placement": "",
"default_storage_class": "",
"placement_tags": [],
"bucket_quota": {
"enabled": true,
"check_on_raw": false,
"max_size": 32212254720,
"max_size_kb": 31457280,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"temp_url_keys": [],
"type": "rgw",
"mfa_ids": []
}
Я также добавил политику DeleteObject для пользователя, но она не работает.
s3cmd info s3://gitlab
s3://gitlab/ (bucket):
Location: default
Payer: BucketOwner
Expiration Rule: none
Policy: {
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"AWS": ["arn:aws:iam:::user/gitlab-s3-api"]},
"Action": "s3:DeleteObject",
"Resource": [
"arn:aws:s3:::gitlab/*"
]
}]
}
CORS: none
ACL: Gitlab s3 bucket: FULL_CONTROL
Здесь вы можете видеть, что я не могу удалить объект.
s3cmd rm s3://gitlab/ansible.cfg
ERROR: Error parsing xml: Malformed error XML returned from remote server.. ErrorXML: <html><body><h1>403 Forbidden</h1>
Request forbidden by administrative rules.
</body></html>
ERROR: S3 error: 403 (Forbidden)
1 ответ
Возможно ли, что у вас включена функция блокировки объектов (WORM)? Это заблокирует операции удаления.