Настройка Amazon S3 для обмена файлами в Rocket.Chat
Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как настроить Amazon S3 для обмена файлами в Rocket.Chat.
Rocket.Chat - это открытая и полностью настраиваемая коммуникационная платформа, разработанная на JavaScript для организаций с высокими стандартами защиты данных.
Подробно о том, как установить Rocket.Chat на Ubuntu Server, вы можете прочитать в моем руководстве “Установка Rocket.Chat на Ubuntu Server”.
Также у вас должна быть учетная запись, обладающая правами администратора, в Amazon Web Services.
Обратите внимание, для настройки обмена файлами вам необходимо обладать правами администратора в Rocket.Chat.
Вначале создадим корзину, воспользовавшись сервисом Amazon S3. Корзина позволит хранить файлы, которыми будут обмениваться пользователи Rocket.Chat.
Переходим по ссылке, указываем при необходимости имя пользователя и пароль учетной записи, обладающей правами администратора, в Amazon Web Services и нажимаем на кнопку “Create bucket”.
В поле “Bucket name” указываем уникальное DNS-совместимое имя для корзины.
Обратите внимание, на несколько важных вещей при создании нового имени для корзины:
- Имя корзины должно быть уникальным для всех существующих сегментов в Amazon S3.
- После создания корзины вы не можете изменить ее имя.
- Выберите имя корзины, отражающее предназначения объектов, которые вы планируете в ней хранить. Это важно, так как имя корзины отображается в URL-адресе, который указывает на объекты в ней.
В данном руководстве в качестве имени корзины будет использоваться “rocketchat-heyvaldemar”.
В поле “Region” указываем желаемый регион, в котором будет создана корзина.
Нажимаем на кнопку “Create”.
Корзина успешно создана.
Теперь необходимо настроить права доступа к корзине, чтобы пользователи Rocket.Chat могли обмениваться файлами, используя эту корзину.
Выбираем ранее созданную корзину.
Переходим на вкладку “Permissions”, затем выбираем “CORS configuration”.
Далее вставляем следующую конфигурацию. для работы корзины.
В данном руководстве для доступа к Rocket.Chat из сети Интернет будет использоваться субдомен rocketchat.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому Rocket.Chat будет доступен из сети Интернет.
Нажимаем на кнопку “Save”.
Изменения успешно сохранены.
Теперь необходимо создать политику для доступа к ранее созданной корзине.
Нажимаем на кнопку “Services” и в разделе “Security, Identity & Compliance” выбираем “IAM”.
Далее переходим в раздел “Policies” и нажимаем на кнопку “Create policy”.
Переходим на вкладку “JSON”.
Вставляем следующие параметры для политики.
В данном руководстве в качестве имени корзины используется “rocketchat-heyvaldemar”. Вам нужно будет указать ваше имя корзины.
Нажимаем на кнопку “Review policy”.
В поле “Name” указываем имя для новой политики и нажимаем на кнопку “Create Policy”.
В данном руководстве в качестве имени политики для доступа к ранее созданной корзине будет использоваться “RocketChatFileUpload”.
Политика успешно создана.
Теперь необходимо создать нового пользователя и назначить ему ранее созданную политику доступа к корзине. Этот пользователь потребуется для подключения Rocket.Chat к корзине.
Переходим в раздел “Users” и нажимаем на кнопку “Add user”.
В поле “User name” указываем имя для нового пользователя и нажимаем на кнопку “Next: Permissions”.
В данном руководстве в качестве имени пользователя будет использоваться “rocketchat-upload”.
Далее выбираем “Attach existing policies directly”.
В строке поиска указываем имя ранее созданной политики и в представленном результате поиска выбираем нужную политику.
В данном руководстве в качестве имени политики для доступа к ранее созданной корзине используется “RocketChatFileUpload”.
Нажимаем на кнопку “Next: Tags”.
На следующем шаге можно не вносить никаких изменений.
Нажимаем на кнопку “Next: Review”.
Все готово для создания нового пользователя.
Нажимаем на кнопку “Create user”.
Пользователь успешно создан и обладает необходимыми правами для доступа к ранее созданной корзине.
Теперь необходимо сохранить полученные “Access key ID” и “Secret access key”. Эти данные понадобятся для подключения Rocket.Chat к ранее созданной корзине.
Нажимаем на кнопку “Show” для отображения содержимого раздела “Secret access key” и сохраняем содержимое раздела в надежное место.
Нажимаем на кнопку “Close”.
Новый пользователь появится в разделе “Users”.
Теперь необходимо найти код для региона, в котором была создана корзина.
Переходим по ссылке и находим нужный код региона в колонке “Region” рядом с колонкой “Region Name”, значение в которой должно соответствовать региону, в котором была создана корзина.
В данном руководстве корзина была создана в регионе “EU (Frankfurt)”, соответственно необходимое значение кода региона будет “eu-central-1”.
Теперь нужно указать параметры для подключения Rocket.Chat к ранее созданной корзине.
Заходим в Rocket.Chat под учетной записью с правами администратора, нажимаем на значок с изображением трех точек в левом верхнем углу экрана и выбираем “Administration”.
Далее находим раздел “File Upload”.
Параметр “File Uploads Enabled” должен иметь значение “True”.
Параметр “Protect Uploaded Files” должен иметь значение “True”.
Параметр “File Uploads Enabled” должен иметь значение “True”.
Параметр “Enable Json Web Tokens protection to file uploads” должен иметь значение “True”.
В поле “Storage Type” выбираем “AmazonS3”.
Параметр “File Uploads Enabled in Direct Messages” должен иметь значение “True”.
Нажимаем на кнопку “Save Changes”.
Далее нужно указать параметры в подразделе “Amazon S3”.
В поле “Bucket name” указываем имя ранее созданной корзины.
В поле “Access Key” указываем “Access key ID”, полученный ранее после создания пользователя.
В поле “Secret Key” указываем “Secret access key”, полученный ранее после создания пользователя.
В поле “Region” указываем код региона корзины, полученный ранее по ссылке.
Параметр “Proxy Avatars” должен иметь значение “True”.
Параметр “Proxy Uploads” должен иметь значение “True”.
Нажимаем на кнопку “Save Changes”.
Теперь загрузим файл с компьютера в общий канал под названием IT, чтобы проверить корректность работы загрузки файлов в Rocket.Chat, используя сервис Amazon S3.
Открываем канал в Rocket.Chat, затем в правом нижнем углу экрана нажимаем на значок с изображением плюса и выбираем “Computer”.
Выбираем файл, который необходимо загрузить.
Файл готов к загрузке.
Нажимаем на кнопку “Send”.
Файл успешно загружен и доступен для всех участников канала IT в Rocket.Chat.
Теперь пользователи Rocket.Chat могут обмениваться файлами, используя сервис Amazon S3.
Мои курсы
🎓 Погрузитесь в мои обширные курсы по информационным технологиям, разработанные как для энтузиастов, так и для профессионалов. Независимо от того, хотите ли вы освоить Docker, покорить Kubernetes или углубить свои навыки в области DevOps, мои курсы предлагают структурированный путь к повышению вашего технического мастерства.
Мои услуги
💼 Загляните в мой каталог услуг и узнайте, как мы можем сделать вашу технологическую жизнь лучше. Будь то повышение эффективности вашей IT-инфраструктуры, развитие вашей карьеры или расширение технологических горизонтов — я здесь, чтобы помочь вам достичь ваших целей. От DevOps-трансформаций до сборки игровых компьютеров — давайте сделаем ваши технологии непревзойденными!
Пополнить запасы моего кофе
💡 Telegram | Boost
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi
Подпишись
⭐ Telegram | Блог
🎬 YouTube
🐦 Twitter
🎨 Instagram
🐘 Mastodon
🧵 Threads
🎸 Facebook
🧊 Bluesky
🎥 TikTok
💻 LinkedIn
📣 daily.dev Squad
🧩 LeetCode
🐈 GitHub
Этот контент создан искусственным интеллектом?
Нет! Каждая статья — результат моей работы, наполненной страстью к Docker и десятилетиями опыта в IT. Я применяю ИИ для улучшения грамматики, чтобы обеспечить четкость технических деталей, однако все идеи, стратегии и рекомендации исключительно мои. Этот метод иногда может вызывать срабатывание детекторов ИИ, но можете быть уверены, что вся представленная информация и опыт — подлинно мои.