---
title: "Политики доступа в S3"
description: "Управление политиками доступа в хранилище S3. Документация и инструкции по использованию и настройке облачных сервисов Timeweb Cloud."
---

# Bucket Policies в S3

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

Возможности управления доступом к данным в хранилищах S3 позволяют гибко настраивать правила доступа для различных сценариев. Рассмотрим несколько полезных примеров настройки политик доступа для S3.

## Ограничение доступа только через SSL (HTTPS)

Чтобы обезопасить передачу данных, можно ограничить доступ к бакету, разрешив только HTTPS-соединения. Это предотвращает попытки получить доступ через незащищенные HTTP-запросы, снижая риск компрометации данных.

Создайте файл с политикой `ssl.json`:

```yml
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::<имя_бакета>/*",
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": "true"
                }
            }
        }
    ]
}
```

Примените политику с помощью команды:

```shell
aws s3api put-bucket-policy --bucket <имя_бакета> --policy file://ssl.json --endpoint-url https://s3.twcstorage.ru
```

Теперь, при попытке обращения по HTTP будет возникать ошибка 403.

## Ограничение доступа по IP-адресам

Для дополнительной безопасности можно ограничить доступ к бакету только для определенных IP-адресов. Это может быть полезно, например, для защиты данных от несанкционированного доступа извне.

Создайте файл с политикой `ip.json`:

```yml
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::<имя_бакета>/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "<IP-адрес>"
                    ]
                }
            }
        }
    ]
}
```

Примените политику с помощью команды:

```shell
aws s3api put-bucket-policy --bucket <имя_бакета> --policy file://ip.json --endpoint-url https://s3.twcstorage.ru
```

## Доступ только для конкретного префикса

Если вам нужно дать доступ к определенным объектам в бакете, например, к файлам, находящимся в конкретном префиксе, можно использовать следующую политику. Она подойдет для приватного бакета, чтобы предоставить доступ только к определенным данным.

Создайте файл с политикой `prefix.json`:

```yml
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<имя_бакета>/html/*"
        }
    ]
}
```

Примените политику с помощью команды:

```shell
aws s3api put-bucket-policy --bucket <имя_бакета> --policy file://prefix.json --endpoint-url https://s3.twcstorage.ru
```

Теперь все файлы из префикса `/html` будут доступны для чтения.
