Обновлена: 27 марта 2024 г. в 14:33
Prefix access keys
Префиксные ключи (prefix access keys) позволяют создать пользователей, для которых доступ ограничен по определенному пути. Данные пользователи привязываются к бакетам относительно которых работает их префикс. При работе с префиксными ключами существуют следующие ограничения:
- пользователь может быть привязан только к 1 бакету (при создании);
- пользователь не будет иметь доступ к другим бакетам и содержанию своего бакета, для которого путь не будет начинаться с префикса данного пользователя;
- ключи доступа можно получить только при создании;
- у пользователя может быть только 1 пара ключей;
- для упрощения использования рекомендуется называть пользователей связанно с префиксом, по которому они имеют доступ. Например username = user/folder1/file1; prefix = folder1/file1.
Поддерживаемые методы PAK
- CreatePrefixKey;
- ListPrefixKeys;
- DeletePrefixKey.
Описание
Создание пользователя examplename с префиксными ключами для доступа по пути exampleprefix. У одного такого пользователя может быть только одна пара префиксных ключей
Запрос
1PUT /?pak&username=examplename&prefix=exampleprefix HTTP/1.1 2Host: bucketName.hb.vkcs.cloud 3Date: Wed, 14 Feb 2018 11:21:57 GMT 4Authorization: authorization string 5Connection: close
Параметры запроса
- username — пользователь, которому будут принадлежать ключи;
- prefix — префикс пути, который будет доступен по данным ключам.
Ответ
1HTTP/1.1 200 OK 2Server: nginx/1.12.1 3Date: Wed, 14 Feb 2018 13:38:54 GMT 4Content-Type: application/xml 5Content-Length: 351 6Connection: close 7X-req-id: 2NrqrYuki 8 9<?xml version="1.0" encoding="utf-8"?> 10<CreatePrefixKeyResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 11 <BucketName>bucketName</BucketName> 12 <Prefix>exampleprefix</Prefix> 13 <UserName>examplename</UserName> 14 <SecretKey>LVQaicnPLR7eVg5soGgWCJjGe3w3S8toaRxd329xv4w</SecretKey> 15 <AccessKey>6hGka6NefpEoNse4xJOEx3</AccessKey> 16</CreatePrefixKeyResult>
Описание XML-элементов
- BucketName — имя бакета.
- Prefix — префикс пути, который будет доступен по данным ключам.
- UserName — пользователь, которому принадлежат ключи.
- SecretKey — секретный ключ, возвращается только при создании, получить ключ впоследствии невозможно.
- AccessKey — публичный ключ.
Запросы
1GET /?pak&marker=prefix&max-keys=2&name-prefix=prefix HTTP/1.1 2Authorization: authorization string 3Connection: close 4Date: Wed, 14 Feb 2018 12:28:10 GMT 5Host: bucketName.hb.vkcs.cloud
Параметры запроса
- max-keys — максимальное количество элементов в листинге optional.
- name-prefix — префикс по именам пользователей optional.
- marker — имя или часть имени пользователя с которого начнется листинг optional.
Ответ
1HTTP/1.1 200 OK 2 3Server: nginx/1.12.1 4Date: Wed, 14 Feb 2018 13:39:27 GMT 5Content-Type: application/xml 6Content-Length: 457 7Connection: close 8X-req-id: 35RBZWzAX 9 10<?xml version="1.0" encoding="utf-8"?> 11<ListPrefixKeysResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 12 <BucketName>bucketName</BucketName> 13 <IsTruncated>false</IsTruncated> 14 <NamePrefix>prefix</NamePrefix> 15 <MaxKeys>2</MaxKeys> 16 <Marker>prefix</Marker> 17 <Contents> 18 <UserName>prefixusers/prefix/for1</UserName> 19 <Prefix>prefix/for1</Prefix> 20 </Contents> 21 <Contents> 22 <UserName>prefixusers/prefix/for2</UserName> 23 <Prefix>prefix/for2</Prefix> 24 </Contents> 25</ListPrefixKeysResult>
Описание XML-элементов
- BucketName — имя бакета.
- IsTruncated — true, если выведена только часть префиксных пользователей.
- Marker — имя или часть имени пользователя с которого начнется листинг.
- NamePrefix — префикс по именам пользователей.
- MaxKeys — максимальное количество элементов в листинге.
- Contents — блок, содержащий пользователя.
- UserName — имя пользователя.
- Prefix — префикс, по которому доступны данные для этого пользователя.
Запрос
1DELETE /?pak&prefix=prefix/for1&username=prefixusers/prefix/for1 HTTP/1.1 2Authorization: authorization string 3Connection: close 4Date: Wed, 14 Feb 2018 13:05:31 GMT 5Host: bucketName.hb.vkcs.cloud
Параметры запроса
- username — имя пользователя.
- prefix — путь, по которому доступны объекты для данного пользователя optional.
Ответ
1HTTP/1.1 200 OK 2 3Server: nginx/1.12.1 4Date: Wed, 14 Feb 2018 13:39:27 GMT 5Content-Type: application/xml 6Content-Length: 207 7Connection: close 8X-req-id: 33yVonNmQ 9 10<?xml version="1.0" encoding="utf-8"?> 11<DeletePrefixKeyResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 12 <UserName>prefixusers/prefix/for1</UserName> 13 <Prefix>prefix/for1</Prefix> 14</DeletePrefixKeyResult>
Описание XML-элементов
- Prefix — префикс пути, который будет доступен по данным ключам.
- UserName — пользователь, которому принадлежат ключи.