OpenStack S3 Swift: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
| Строка 86: | Строка 86: | ||
===s3cfg-user-prod.cfg=== |
===s3cfg-user-prod.cfg=== |
||
| + | <PRE> |
||
| + | [default] |
||
| + | access_key = XXX |
||
| + | secret_key = YYYYYYYYY |
||
| + | host_base = https://staging.domain.tld |
||
| + | host_bucket = |
||
| + | </PRE> |
||
| + | * <code>access_key</code> XXX id который вывдится при создании пользователя |
||
| + | * <code>secret_key</code> YYYYYYYYY секрет который вывдится при создании пользователя |
||
| + | * <code>host_base</code> https://staging.domain.tld - endpoint полученный из OpenStack |
||
===s3cfg-user-dqs.cfg=== |
===s3cfg-user-dqs.cfg=== |
||
Версия 19:15, 21 марта 2025
Openstack S3 Swift
Задача
- создать 2 бакета
- создать 2 пользователя
- настроить права что бы первый пользователь мог работать с 2 бакетами а второй только с одним
Задачу можно решать 2 способами - с использованием пользователей keystone и с использованием пользователей rados
rados
Создать пользователей
radosgw-admin user create --uid user-prod --display-name user-prod
{
"user_id": "user-prod",
"display_name": "user-prod",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"subusers": [],
"keys": [
{
"user": "user-prod",
"access_key": "XXX",
"secret_key": "YYYYYYYYY"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "",
"default_storage_class": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"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": []
}
Аналогично
radosgw-admin user create --uid user-dqs --display-name user-dqs
Получить из OpenStack endpoint
Получить название региона
openstack region list
+-----------------+---------------+-------------+ | Region | Parent Region | Description | +-----------------+---------------+-------------+ | staging-region | None | | +-----------------+---------------+-------------+
Получить endpoint с учетом региона
openstack \ versions show \ --service object-store \ --status CURRENT \ --interface public \ --region staging-region \ -c Endpoint -f value | sed 's/\/swift\/.*$//' https://staging.domain.tld
Конфигурационные файлы для s3cmd
Для каждого пользователя свой конфигурационный файл соответвенно
s3cfg-user-prod.cfg
[default] access_key = XXX secret_key = YYYYYYYYY host_base = https://staging.domain.tld host_bucket =
access_keyXXX id который вывдится при создании пользователяsecret_keyYYYYYYYYY секрет который вывдится при создании пользователяhost_basehttps://staging.domain.tld - endpoint полученный из OpenStack