- 22, Oct 2024
- #1
У нас есть одна учетная запись AWS, в которой запущен экземпляр Ec2, где установлен Jenkins, и мы прикрепили к ней роль IAM с разрешением доступа s3.
У нас есть задания Jenkins, для которых требовались разрешения aws, специфичные для общих, таких как Lambda или CodeCommit, а для некоторых заданий требовались конфиденциальные разрешения, такие как getParameters и ssh.
Просматривая множество форумов и статей, кто-либо предлагал прикрепить эти разрешения к роли IAM, которая прикреплена к этому экземпляру EC2.
Итак, мои опасения...
- Любой пользователь, получивший доступ к серверу, также будет иметь доступ к getParameters и сможет получать информацию с помощью команды CLI.
- Если одному заданию требуется доступ к getParameters, а другому — нет, можем ли мы ограничить это разрешение отдельными заданиями?
Вопросы:
- До сих пор я думал о создании новых ролей в AWS, специфичных для заданий, группирующих определенные разрешения, и их использовании через роль Assume для использования в задании Jenkin. Но мне не удалось найти никакой темы по этому поводу, поскольку роль Assume переключит текущую роль в Ec2, что я предполагаю, но не уверен, поскольку я тестировал один раз и не смог выполнить задание.
А также я прочитал много статей о ролевом доступе к нескольким учетным записям, чего я не могу сделать, поскольку у меня только одна учетная запись.
Итак, есть ли способ временно использовать роль (созданную в той же учетной записи aws, что и прикрепленная роль EC2) в каждом задании?
- Какова наилучшая практика, если я хочу реализовать то же самое. Как я также думал о группировке разрешений по степени серьезности (от общих до конфиденциальных) и предоставлении разрешений для конкретного задания с использованием роли?
Пожалуйста, дайте мне знать, если кто-то применил описанный выше процесс, и любезно предложите, возможен ли какой-либо другой способ, если вышеуказанный процесс не может быть применен. Спасибо.
#jenkins #amazon-web-services #jenkins-pipeline #aws-cli