> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yahont.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# S3: роль IAM

> Авторизация коннектора S3 с помощью роли AWS IAM с политикой assume role.

### Когда использовать этот метод

* Когда нужно разделить права, предоставив конкретный доступ к S3 без изменения основной роли вашего
  инстанса EC2
* Когда нужны временные, часто меняемые учётные данные для доступа к S3 без управления
  долгоживущими ключами доступа
* При работе в мультиаккаунтных средах AWS, чтобы обеспечить межаккаунтный доступ к S3 через
  принятие роли

### Настройка роли IAM

**1. Создайте роль доступа к S3**

* В консоли AWS откройте **IAM › Roles** и нажмите **Create role**
* Для **Trusted entity type** выберите **Custom trust policy**
* В JSON-редакторе Custom trust policy настройте, кто может принимать эту роль.
  Можно выбрать:
* **IAM Role**: `"AWS": "arn:aws:iam::YOUR_AWS_ACCOUNT_ID:role/YourExistingEC2Role"`
* **AWS Service**: `"Service": "ec2.amazonaws.com"` (для инстансов EC2)

Пример для роли EC2 (замените `YOUR_AWS_ACCOUNT_ID` и `YourExistingEC2Role`):

```json theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::YOUR_AWS_ACCOUNT_ID:role/YourExistingEC2Role"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

* Нажмите **Next**
* Прикрепите политику **AmazonS3ReadOnlyAccess** или создайте пользовательскую политику для конкретных корзин:

```json theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::your-source-bucket-name",
        "arn:aws:s3:::your-source-bucket-name/*"
      ]
    }
  ]
}
```

* Назовите роль (например, `OnyxS3AccessRole`) и нажмите **Create role**
* Скопируйте **Role ARN** со страницы сводки роли (например, `arn:aws:iam::YOUR_AWS_ACCOUNT_ID:role/YOUR_CREATED_ROLE_NAME`)

![Схема страницы, где можно скопировать Role ARN](https://mintcdn.com/yahont-ai/gQVGDVoirOMFHw3D/assets/admins/connectors/blob/s3/role-arn.png?fit=max\&auto=format\&n=gQVGDVoirOMFHw3D\&q=85\&s=e76ba6c043d4de70e08a419b2641ae29)

**2. Предоставьте роли инстанса EC2 право AssumeRole**

* Вернитесь в **IAM > Roles** и найдите существующую роль вашего инстанса EC2
* Нажмите на роль и откройте вкладку **Permissions**
* Нажмите **Add permissions > Create inline policy**
* Переключитесь на JSON и добавьте эту политику (замените на ваш реальный ID аккаунта и имя роли):

```json theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::YOUR_AWS_ACCOUNT_ID:role/YOUR_CREATED_ROLE_NAME"
    }
  ]
}
```

* Назовите политику (например, `AllowAssumeOnyxS3Role`) и нажмите **Create policy**

![Схема назначения роли IAM](https://mintcdn.com/yahont-ai/GgKRVXXDNIirDkuK/assets/admins/connectors/blob/s3/iam-role.png?fit=max\&auto=format\&n=GgKRVXXDNIirDkuK\&q=85\&s=c5fee6c710cc02afb1e9149f17b7400c)

Теперь ваш инстанс EC2 использует свой существующий профиль инстанса,
чтобы получать временные учётные данные для роли `OnyxS3AccessRole`,
которая затем может безопасно работать с указанными корзинами S3.

### Ввод учётных данных в Yahont

При настройке коннектора S3 в Yahont нужно:

**1. Откройте вкладку IAM Role**

Нажмите на вкладку **IAM Role**

**2. Введите Role ARN**

Введите **Role ARN**, скопированный ранее (например, `arn:aws:iam::YOUR_AWS_ACCOUNT_ID:role/YOUR_CREATED_ROLE_NAME`)

![Снимок экрана настройки роли IAM для S3 в Yahont с вкладками](https://mintcdn.com/yahont-ai/GgKRVXXDNIirDkuK/assets/admins/connectors/blob/s3/onyx-iam-role.png?fit=max\&auto=format\&n=GgKRVXXDNIirDkuK\&q=85\&s=6912534f0ae78dd59fd9b933e23b5b08)

Получив Role ARN роли IAM, перейдите к [шагам индексации в обзоре](./overview#indexing), чтобы настроить коннектор S3.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.