Этот подход позволяет клиентам управлять всем доступом к своим S3 бакетам в одном месте (в политике IAM для принимаемой роли), не просматривая все политики бакетов, чтобы добавить или удалить доступ. В разделе ниже вы узнаете, как это настроить.
Получение ARN роли IAM вашего сервиса ClickHouse
- Войдите в свою учетную запись ClickHouse Cloud.
- Выберите сервис ClickHouse, для которого хотите создать интеграцию.
- Выберите вкладку Settings.
- Прокрутите страницу вниз до раздела Network security information в нижней части страницы.
- Скопируйте значение Service role ID (IAM) для сервиса, как показано ниже.
Настройка IAM Assume Role
Развертывание с помощью стека CloudFormation
- Войдите в свою учетную запись AWS в браузере под пользователем IAM, у которого есть права на создание роли IAM и управление ею.
- Перейдите по следующему URL CloudFormation, чтобы заполнить параметры стека CloudFormation.
- Введите (или вставьте) Service role ID (IAM) для вашего сервиса, который вы получили ранее, в поле “ClickHouse Instance Roles” ID сервисной роли можно вставить в точности так, как он отображается в консоли Cloud.
-
Введите имя вашего бакета в поле “Bucket Names”. Если URL вашего бакета —
https://ch-docs-s3-bucket.s3.eu-central-1.amazonaws.com/clickhouseS3/, то имя бакета —ch-docs-s3-bucket.
Указывайте не полный ARN бакета, а только имя бакета.
- Настройте стек CloudFormation. Ниже приведена дополнительная информация об этих параметрах.
- Установите флажок I acknowledge that AWS CloudFormation might create IAM resources with custom names.
- Нажмите кнопку Create stack в правом нижнем углу
- Убедитесь, что создание стека CloudFormation завершилось без ошибок.
- Выберите только что созданный Stack, затем откройте вкладку Outputs этого стека CloudFormation
- Скопируйте значение RoleArn для этой интеграции — оно потребуется для доступа к вашему S3 бакету.
Создайте роль IAM вручную
- Войдите в свой аккаунт AWS в браузере под пользователем IAM, у которого есть права на создание и управление ролью IAM.
- Перейдите в консоль сервиса IAM
-
Создайте новую роль IAM со следующими политиками IAM и доверия. Замените
{ClickHouse_IAM_ARN}на ARN роли IAM, относящейся к вашему экземпляру ClickHouse.
- После создания скопируйте новый ARN роли IAM — он понадобится для доступа к вашему S3 бакету.
Получите доступ к S3 бакету с ролью ClickHouseAccess
extra_credentials в табличной функции S3.
Ниже приведён пример выполнения запроса с использованием только что созданной роли, скопированной выше.
role_session_name используется в качестве общего секрета для запроса данных из бакета.
Если role_session_name указан неверно, эта операция завершится ошибкой.
Мы рекомендуем размещать исходный S3 в том же регионе, что и ваш сервис ClickHouse Cloud, чтобы сократить расходы на передачу данных.
Подробнее см. в разделе Тарифы S3
Расширенный контроль действий
aws:SourceVpce. Чтобы получить конечные точки VPC для вашего региона ClickHouse Cloud, откройте терминал и выполните: