Доброго дня. Мне нужно создать юзера, у которого есть "полные

права" для работы с несколькими EC2-инстансами. Точнее, мне нужно, чтобы юзер мог:

- открывать порты
- делать снапшоты
- переустанавливать образ (условно, стереть всё и поставить свежую ubuntu)
- перезапускать инстанс
- получить доступ к инстансу через VNC/serial port

Я попросил нашего админа сделать такого юзера, но после нескольких часов активного взаимодействия с AWS админ плюнул и дал мне рутовые права в том числе на прод, что, мягко говоря, меня пугает.

Я попробовал создать ещё одного юзера и применить к нему policy, которое разрешит мне пользоваться исключительно затеганными (условно, owner=%username%) ресурсами, но половина фич таки не работает. Осложняется всё тем, что это вообще мой первый раз глубокой работы с AWS.

Вот так выглядит мой текущий IAM policy:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:*",
"ec2-instance-connect:*"
],
"Resource": "arn:aws:ec2:*:*:*/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/owner": "embedded"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifySecurityGroupRules"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "ssm:*",
"Resource": "*"
}
]
}

Тут, например, я вообще даю доступ ко всем security groups, и я так и не понял, как получить доступ к тегам security group и таки дать права исключительно к нескольким группам. Может быть, есть где-то готовый пример, как вообще нормальные люди дают полные доступ к нескольким инстансам? Я читал документацию (Controlling access to AWS resources using tags), но там слишком уж базовый пример, который мало что в итоге действительно делает.

1 ответов

5 просмотров

1. Сделай политику 2. Создай роль 3. Создай политику relationship определи своего юзера как доверенное 4. Делай switch role

Похожие вопросы

Обсуждают сегодня

вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Здравствуйте, а хорошая ли идея смешивать нейронки? То есть, у нейронки задача щелкнуть 1 раз, но есть датасет с одним типом картинок и с другим. Хотелось бы сделать универсал...
Никита
5
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
это группа токсиков или тех кто помогает?
Ибрагим
9
ребят, привет есть ли возможность мигрировать Policies + Auth Methods из нескольких Vault в один? пытаюсь сократить Vault кластера, немного не удобно что для каждой тестовой ...
azadevlab
2
Всем привет. Есть задача понимать пустая ли пластина 3д принтера (не в печатающем режиме). Из идей просто сравнивать 2 изображения (эталонное) и текущее, по контурам. Но боюсь...
Nikita Radionov
5
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Карта сайта