База знаний LinxCloud Services

Prefix access keys

Описание

Если необходимо создать пользователей, которым доступ будет ограничен по определенному пути, следует использовать префиксные ключи (prefix access keys). Пользователи будут привязаны только к бакетам относительно которых работает их префикс. Используя префиксные ключи, нужно знать об ограничениях:

  • пользователь может быть привязан только к 1 бакету (при создании);
  • пользователь не будет иметь доступ к другим бакетам и содержанию своего бакета, для которого путь не будет начинаться с префикса данного пользователя;
  • ключи доступа возможно получить только при создании;
  • у пользователя может быть только 1 пара ключей;
  • для упрощения использования следует называть пользователей соответственно с префиксом, по которому они имеют доступ. Пример: username = user/folder1/file1; prefix = folder1/file1.

 

Создание префиксных ключей

Поддерживаемые методы PAK

  • CreatePrefixKey;
  • ListPrefixKeys;
  • DeletePrefixKey.

Описание

Создание пользователя examplename с префиксными ключами для доступа по пути exampleprefix. У одного такого пользователя может быть только одна пара префиксных ключей

Запрос

PUT /?pak&username=examplename&prefix=exampleprefix HTTP/1.1
Host: bucketName.hb.bizmrg.com
Date: Wed, 14 Feb 2018 11:21:57 GMT
Authorization: authorization string
Connection: 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="https://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 — публичный ключ.

 

Список префиксных пользователей

Запросы

GET /?pak&marker=prefix&max-keys=2&name-prefix=prefix HTTP/1.1
Authorization: authorization string
Connection: close
Date: Wed, 14 Feb 2018 12:28:10 GMT
Host: bucketName.hb.bizmrg.com

Параметры запроса

  • max-keys — количество элементов, которое максимально может быть в листинге optional.
  • name-prefix — префикс по именам пользователей optional.
  • marker — имя или часть имени пользователя, с которого начинается листинг optional.

Ответ

HTTP/1.1 200 OK

Server: nginx/1.12.1
Date: Wed, 14 Feb 2018 13:39:27 GMT
Content-Type: application/xml
Content-Length: 457
Connection: close
X-req-id: 35RBZWzAX

<?xml version="1.0" encoding="utf-8"?>
<ListPrefixKeysResult xmlns="https://s3.amazonaws.com/doc/2006-03-01/">
    <BucketName>bucketName</BucketName>
    <IsTruncated>false</IsTruncated>
    <NamePrefix>prefix</NamePrefix>
    <MaxKeys>2</MaxKeys>
    <Marker>prefix</Marker>
    <Contents>
          <UserName>prefixusers/prefix/for1</UserName>
          <Prefix>prefix/for1</Prefix>
    </Contents>
    <Contents>
          <UserName>prefixusers/prefix/for2</UserName>
          <Prefix>prefix/for2</Prefix>
     </Contents>
</ListPrefixKeysResult>

Описание XML-элементов

  • BucketName — название бакета.
  • IsTruncated — true, если выведена только часть префиксных пользователей.
  • Marker — имя или часть имени пользователя, на которую начнется листинг.
  • NamePrefix — префикс по именам пользователей.
  • MaxKeys — количество элементов, которое максимально может быть в листинге.
  • Contents — блок, содержащий пользователя.
  • UserName — имя пользователя.
  • Prefix — префикс, по которому доступны данные для этого пользователя.

 

Удаление префиксного ключа у пользователя

Запрос

DELETE /?pak&prefix=prefix/for1&username=prefixusers/prefix/for1 HTTP/1.1
Authorization: authorization string
Connection: close
Date: Wed, 14 Feb 2018 13:05:31 GMT
Host:  bucketName.hb.bizmrg.com

Параметры запроса

  • username — имя пользователя.
  • prefix — путь, по которому доступны объекты для данного пользователя optional.

Ответ

HTTP/1.1 200 OK

Server: nginx/1.12.1
Date: Wed, 14 Feb 2018 13:39:27 GMT
Content-Type: application/xml
Content-Length: 207
Connection: close
X-req-id: 33yVonNmQ

<?xml version="1.0" encoding="utf-8"?>
<DeletePrefixKeyResult xmlns="https://s3.amazonaws.com/doc/2006-03-01/">
     <UserName>prefixusers/prefix/for1</UserName>
     <Prefix>prefix/for1</Prefix>
</DeletePrefixKeyResult>

Описание XML-элементов

  • Prefix — префикс пути доступный по данным ключам.
  • UserName — пользователь, которому принадлежат данные ключи.
Что вас интересует?
Получить демо-доступ

Спасибо за ваш запрос, мы свяжемся с вами в ближайшее время!