AWS CodeCommit: создание, клонирование и удаление репозитория
Введение

AWS CodeCommit — это полностью управляемый сервис репозиториев Git от AWS. Он хранит файлы с шифрованием в покое и при передаче, поддерживает все команды Git и устраняет необходимость в самостоятельном размещении и сопровождении SCM-сервера. Этот гид проведёт вас через базовые операции: создание репозитория, настройку доступа через HTTPS для IAM-пользователя, клонирование, коммит и удаление репозитория.
В этом материале вы найдёте не только инструкции, но и рекомендации по безопасности, альтернативные подходы, чек-листы для разных ролей и тест-кейсы для приёмо-сдаточных проверок.
Пре-условия
- Аккаунт AWS (если нет — зарегистрируйте).
- IAM-пользователь с политикой AWSCodeCommitPowerUser или эквивалентными правами. Минимум — разрешения на создание и управление репозиториями CodeCommit.
- Установленный Git на вашей машине (git –version).
- Базовое знание команд Git (clone, add, commit, push).
Важно: для производственных репозиториев подумайте о централизованной политике IAM и практике least privilege.
Что мы сделаем
- Войдём в AWS Console.
- Создадим репозиторий CodeCommit.
- Сгенерируем HTTPS-учётные данные для IAM-пользователя.
- Клонируем репозиторий и выполним базовые операции (add/commit/push).
- Удалим репозиторий.
Вход в AWS
Перейдите на страницу входа в консоль AWS и войдите под своей учётной записью.

После успешного входа вы увидите главную панель управления (AWS Management Console).

Создание репозитория CodeCommit
- В консоли нажмите «Services» и в строке поиска введите CodeCommit. Выберите сервис CodeCommit.

- Откроется панель CodeCommit. Если в выбранном регионе ещё нет репозиториев, список будет пуст.

- Нажмите кнопку «Create repository», укажите имя и (опционально) описание и теги. Затем нажмите «Create».

- После создания вы попадёте на страницу репозитория. На ней доступны шаги подключения и Clone URL.

- Нажмите «Clone URL» — увидите варианты клонирования. Мы используем опцию Clone HTTPS.

Генерация HTTPS-учётных данных Git для IAM-пользователя
Для клонирования по HTTPS требуется пара учётных данных Git (username и password) для IAM-пользователя. Этот метод удобен для локальных машин и CI-систем, где вы не хотите настраивать SSH-ключи.
- Убедитесь, что у вас есть IAM-пользователь с необходимыми правами (AWSCodeCommitPowerUser или эквивалент).
- В консоли AWS перейдите в IAM → Users → выберите нужного пользователя → вкладка Security credentials.
- В секции «HTTPS Git credentials for AWS CodeCommit» нажмите «Generate credentials».

- Сохраните выданные username и password в безопасном месте. Они больше нигде не будут показаны.

Примечание: можно настроить и SSH-доступ — об этом ниже в разделе «Альтернативные подходы».
Базовые операции с репозиторием (клонирование, коммит, push)
На локальной машине выполните команды Git. Примеры команд приведены ниже.
# Посмотреть содержимое рабочего каталога
ls -lt
# Клонировать репозиторий (замените URL на ваш)
git clone https://git-codecommit.eu-west-3.amazonaws.com/v1/repos/my-first-repository
# Перейдите в каталог репозитория
cd my-first-repository/
# Проверить статус
ls -la
git statusПри первом клонировании по HTTPS Git запросит username и password — введите сгенерированные учётные данные.

Создадим файл и отправим его в репозиторий:
# Создать пустой файл
touch first-file
# Проверить статус
git status
# Добавить файл в индекс
git add first-file
# Проверить статус
git status
# Сделать коммит
git commit -m "my first commit to aws CodeCommit"Если коммит создан под неподходящей identity, можно изменить автора:
# Отредактировать глобальную конфигурацию (имя, email)
git config --global --edit
# Перезаписать автора для последнего коммита
git commit --amend --reset-author
# Посмотреть лог
git log
# Отправить изменения в удалённый репозиторий
git pushПример экрана с запросом на добавление информации о коммите после –amend:

И пример успешного push:

Вернувшись в консоль AWS в страницу репозитория, вы увидите ваш коммит и добавленный файл.

Удаление репозитория
Если репозиторий больше не нужен, его можно удалить из консоли. Перейдите в репозиторий и нажмите «Delete repository», затем подтвердите действие. Удаление необратимо.


Важно: перед удалением убедитесь, что у вас есть резервные копии важных данных.
Альтернативные подходы и когда их использовать
- SSH-доступ: используйте, если вы хотите управлять доступом через SSH-ключи и хранить публичные ключи в IAM. Удобно для разработчиков и CI с долгоживущими агентами.
- AWS CLI / AWS SDK: автоматизация создания репозиториев и управления правами. Подходит для инфраструктуры как кода (IaC).
- CodeCommit credential helper: AWS предоставляет credential helper для Git, который упрощает аутентификацию на основе временных токенов.
Когда HTTPS не подходит: в сценариях, где требуется централизованное управление SSH-ключами или автоматическая ротация ключей, рассмотрите SSH + IAM или использование ролей и AWS CodeBuild/CodePipeline.
Безопасность и рекомендации
- На уровне доступа используйте принцип наименьших привилегий (least privilege).
- Включите MFA для административных аккаунтов.
- Ограничьте доступ к репозиториям через IAM-политики и теги.
- Используйте KMS для управления ключами шифрования, если требуется дополнительный контроль.
- Храните HTTPS-учётные данные в менеджере секретов (AWS Secrets Manager) или в зашифрованных секретах CI, не в открытом виде.
- Настройте аудит и логирование доступа через CloudTrail.
Important: после генерации HTTPS-учётных данных сохраните их в безопасном месте — пароли показываются только один раз.
Ролевые чек-листы
Разработчик
- Проверить доступ к репозиторию (клонирование).
- Настроить git user.name и user.email.
- Создать ветку, внести изменения, сделать commit и push.
Администратор (админ AWS)
- Создать репозиторий и теги.
- Назначить IAM-политику (или роль) с правами доступа.
- Включить аудит CloudTrail и логи.
Аудитор
- Проверить логи доступа и список действий в CloudTrail.
- Убедиться в наличии MFA для администраторов.
SOP: быстрый рецепт создания репозитория (шаги для автоматизации)
- Войти в AWS CLI или Console.
- Создать репозиторий (Console или aws codecommit create-repository –repository-name
). - Создать или назначить IAM-пользователя/роль с правами CodeCommit.
- Сгенерировать HTTPS-учётные данные для IAM-пользователя (если нужен HTTPS).
- Клонировать репозиторий и сделать тестовый push.
- Включить CloudTrail и проверить логи.
- Добавить политику резервного копирования (если требуется).
Decision flow для выбора метода доступа
flowchart TD
A[Нужно подключение к репозиторию?] --> B{Это локальная машина или CI?}
B -->|Локальная машина| C{Нужна централизованная ротация ключей?}
C -->|Да| D[Использовать SSH + IAM или AWS Secrets Manager]
C -->|Нет| E[HTTPS с Git credentials]
B -->|CI| F{Агент персистентен?}
F -->|Да| D
F -->|Нет| G[Использовать CodeCommit credential helper или временные токены через IAM роль]Тест-кейсы и критерии приёмки
- Клонирование: git clone завершает работу без ошибок при вводе сгенерированных учётных данных.
- Коммит и push: изменения появляются в консоли CodeCommit в истории коммитов.
- Безопасность: пользователь без прав не может удалить или изменить репозиторий.
- Удаление: при удалении репозиторий исчезает из списка; CloudTrail содержит запись удаления.
Трудности и способы устранения неполадок
Проблема: «Authentication failed» при git clone по HTTPS
- Проверьте, что вводите правильные username и password, сгенерированные в IAM.
- Убедитесь, что URL репозитория корректен и регион совпадает.
Проблема: «Permission denied» при push
- Проверьте IAM-политику пользователя.
- Убедитесь, что branch protection или внешние политики не блокируют push.
Проблема: неправильный автор коммита
- Проверьте git config –global user.name и user.email.
- Используйте git commit –amend –reset-author для исправления последнего коммита.
Короткий глоссарий (одно предложение)
- IAM: сервис управления доступом в AWS; даёт права пользователям и сервисам.
- KMS: сервис управления ключами шифрования в AWS.
- HTTPS Git credentials: пара логин/пароль, генерируемая для IAM-пользователя для доступа к CodeCommit по HTTPS.
Локальные особенности и примечания для России
- При работе с удалёнными репозиториями учитывайте стабильность интернет-соединения и политику доступа вашей организации.
- Для компаний с усиленными требованиями к контролю доступа используйте AWS Organizations и централизованное управление IAM.
Заключение
Мы создали репозиторий в AWS CodeCommit, сгенерировали HTTPS-учётные данные для IAM-пользователя, клонировали репозиторий, выполнили базовые git-операции и удалили репозиторий. Дополнительно рассмотрели альтернативы (SSH, AWS CLI), рекомендации по безопасности, SOP и чек-листы для разных ролей.
Краткие рекомендации: используйте принцип наименьших привилегий, храните секреты в менеджере секретов и включайте аудит доступа.
Сводка:
- Создайте репозиторий через консоль или AWS CLI.
- Выдайте минимальные права IAM и при необходимости сгенерируйте HTTPS-учётные данные.
- Клонируйте, добавляйте, коммитьте и отправляйте изменения через Git.
- Удаляйте репозиторий только после резервного копирования данных.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента