Bucket Policy
In this article:
Bucket Policy#
Bucket Policy позволяет задать детальные правила доступа к ресурсам в объектном хранилище. Заданные правила для бакета применяются только к тем объектам, права на которые принадлежат владельцу бакета. Однако они не распространяются на объекты, права владения на которые принадлежат другим пользователям.
К2 Облако поддерживает Bucket Policy с некоторыми ограничениями. В частности, в качестве Principal нельзя указать конкретного пользователя — только проект, которому принадлежит бакет. Соответственно, все пользователи проекта получат одинаковые права.
PutBucketPolicy#
Задаёт правила доступа к бакету.
Пример запроса#
Разрешает всем пользователям (\*
) запрашивать объекты из бакета с указанного сайта.
Запрос
PUT /bucket1?policy=null HTTP/1.1
Host: s3.k2.cloud
X-Amz-Content-Sha256: beaead3198f7da1e70d03ab969765e0821b24fc913697e929e726aeaebf0eba3
X-Amz-Date: 20220601T141452Z
Authorization: AWS4-HMAC-SHA256 Credential=project:user@customer.ru/20220601/{region}/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6522eeb1996b5a93b9cffc6091fde816d700d06dcd16c6f2322c86585c5863fa
Content-Type: application/json
Content-Length: 478
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadFromSite",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket1/*",
"Condition":{
"StringLike":{"aws:Referer":["http://www.site.com/*","http://site.com/*"]}
}
}
]
}
Пример ответа#
Ответ
HTTP/1.1 200 OK
x-amz-request-id: tx0000000000000083bd671-006297745c-40173986-default
content-length: 0
date: Wed, 01 Jun 2022 14:14:52 GMT
GetBucketPolicy#
Возвращает правила доступа к бакету.
Пример запроса#
Запрос
GET /bucket1?lifecycle=null HTTP/1.1
Host: s3.k2.cloud
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20220601T114555Z
Authorization: AWS4-HMAC-SHA256 Credential=project:user@customer.ru/20220601/{region}/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=7f49aa189dd0b80285149fe3f979b166a9be8ccf2ef7da2a394ac98bd2056d93
Пример ответа#
Ответ
HTTP/1.1 200 OK
x-amz-request-id: tx00000000000000843275a-0062978777-41e627a3-default
content-type: application/json
content-length: 478
date: Wed, 01 Jun 2022 11:45:55 GMT
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadFromSite",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket1/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://www.site.com/*",
"http://site.com/*"
]
}
}
}
]
}
DeleteBucketPolicy#
Удаляет правила доступа к бакету.
Пример запроса#
Запрос
DELETE /tf-test/?policy=null HTTP/1.1
Host: s3.k2.cloud
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20220601T155557Z
Authorization: AWS4-HMAC-SHA256 Credential=project:user@customer.ru/20220601/{region}/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=67fae605dc8ceb75f85f60f4937e98ce7c27eed4aa8f52b4fb784c4f6dabf5d3
Пример ответа#
Ответ
HTTP/1.1 200 OK
x-amz-request-id: tx00000000000000481dd53-0062978c0d-41e72c37-default
content-length: 0
date: Wed, 01 Jun 2022 15:55:57 GMT