Автоматическое создание временного доступа через AWS и Bash

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

awsbashiam

ℹ️ Одна из распространённых задач DevOps — предоставление временного доступа к инфраструктуре. Например, разработчику нужно временно подключиться к базе данных для отладки. Вместо того чтобы вручную управлять доступами, можно использовать AWS IAM и Bash для автоматизации процесса.

🔥 Сценарий:

Вы хотите дать разработчику временный доступ к базе данных на 1 час.

  1. 🖥 1. Создайте временного пользователя в AWS

    Используйте команду aws iam create-user для создания пользователя:

    USERNAME="temp-user-$(date +%s)"
    aws iam create-user --user-name "$USERNAME"
  2. ➡️ 2. Привяжите минимально необходимые права

    Используйте управляемую политику доступа:

    aws iam attach-user-policy --user-name "$USERNAME" \ 
        --policy-arn arn:aws:iam::aws:policy/AmazonRDSReadOnlyAccess
  3. 🔒 3. Создайте временные ключи доступа:

    aws iam create-access-key --user-name "$USERNAME" > temp-keys.json
  4. 4. Настройте автоматическое удаление пользователя через час

    Создайте at-задачу для удаления пользователя:

    echo "aws iam delete-user --user-name $USERNAME" | at now + 1 hour
  5. 📩 5. Отправьте временные ключи разработчику

    Вытяните данные из temp-keys.json и отправьте разработчику:

    ACCESS_KEY=$(jq -r '.AccessKey.AccessKeyId' temp-keys.json)
    SECRET_KEY=$(jq -r '.AccessKey.SecretAccessKey' temp-keys.json)
    echo "Access Key: $ACCESS_KEY"
    echo "Secret Key: $SECRET_KEY"

✳️ Такой подход помогает сделать управление доступами более удобным и защищённым, избегая человеческого фактора.

tags: #полезно #aws #безопасность

🧭 @recura_tech

Темная фигура в худи держит светящийся логотип AWS на фоне цифровых схем и терминала; стилизованное изображение темы облачной безопасности и доступа
Стилизованное изображение, символизирующее тему доступа и безопасности в AWS.

Читайте так же