Amazon Ec2 – Перекрестный Доступ К Учетной Записи Ec2 К Другим Учетным Записям

  • Автор темы Mishar1
  • Обновлено
  • 25, Oct 2024
  • #2

Если предположить сценарий с двумя учетными записями A и B, пояснительные шаги должны быть следующими:

  1. В счет А, я создал роль (например
     
     
     
     
     
     STS::AssumeRole 
    ) to trust счет Би прикрепите к ранее созданной роли IAM-политика чтобы позволить ему выполнять некоторые операции чтения в счет А. $ export AWS_ACCESS_KEY_ID=AKIAI44QH8DHBEXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_SESSION_TOKEN=FQoGZXIvYXCUm8iG6/zLdQ...<remainder of security token> $ aws ec2 describe-instances --region us-east-1
  2. В счет Б, я создал роль (например stdout ) and attach a политика позволить ему взять на себя роль, созданную в счет А.
  3. В счет Б Свяжитесь с вашим экземпляром EC2 jenkins@bb-jenkins-vault:~$ aws sts assume-role --role-arn arn:aws:iam::521111111144:role/DeployMaster --role-session-name "project-dev-jenkins-deploy" { "AssumedRoleUser": { "AssumedRoleId": "AROAJBXGEHOQBXGEHOQ:project-dev-jenkins-deploy", "Arn": "arn:aws:sts::521111111144:assumed-role/DeployMaster/project-dev-jenkins-deploy" }, "Credentials": { "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "FQoGZXIvYXCUm8iG6/zLdQ7foognvCDpxKP7cRJiZgc...CUm8iG6/zLdQ7foognvCDpxKP7c+OQF", "Expiration": "2019-03-29T15:41:02Z", "AccessKeyId": "AKIAI44QH8DHBEXAMPLE" } } the IAM role ( aws sts assume-role --role-arn "arn:aws:iam::Account_A_ID:role/RoleForB" --role-session-name "EC2FromB"` ), созданный на шаге 2.
  4. В счет Б войдите в этот экземпляр EC2, чтобы взять на себя роль в Счет А используя команду { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } } .
  5. В счет Б Терминал EC2, когда команда шаг 4. закончено, вы можете увидеть идентификатор ключа доступа, секретный ключ доступа и токен сеанса откуда бы вы его ни направили, в нашем случае AssumeRoleInA either manually or by using a script. You can then assign these values to environment variables ( { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::Account_A_ID:role/RoleForB" ] } ] } , RoleForB , policy )

Итак, давайте шаг за шагом проверим упомянутые выше конфигурации, но с некоторыми подробностями режима:

  1. Как и ранее представлено в счет А, это укрепляет доверие к счет Б создав роль с именем AssumeRoleInA and attaching { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::Account_B_ID:root"}, "Action": "sts:AssumeRole" } } разрешение на это.
ReadOnlyAccess
  1. В счет Б, создайте роль названный RoleForB then attach the corresponding AWS_SESSION_TOKEN чтобы позволить ему принять на себя роль с именем AWS_SECRET_ACCESS_KEY in счет А.
AWS_ACCESS_KEY_ID
  1. В счет Б, создайте новый Экземпляр EC2 (если он еще не существует) и свяжите его ec2-профиль с Роль IAM названный stdout .
aws sts assume-role --role-arn "arn:aws:iam::Account_A_ID:role/RoleForB" --role-session-name "EC2FromB"
  1. В счет Б войдите в этот экземпляр EC2, чтобы взять на себя роль в Счет А используя команду:
AssumeRoleInA

например:

ec2-profile
  1. В счет Б Терминал EC2, когда команда шаг 4. закончено, вы можете увидеть идентификатор ключа доступа, секретный ключ доступа и токен сеанса откуда бы вы его ни направили, в нашем случае AssumeRoleInA either manually or by using a script. You can then assign these values to environment variables
e.g ReadOnlyAccess

кредит: https://stackoverflow.com/a/55420220/6657158

 

Occuchkeete


Рег
08 Oct, 2015

Тем
84

Постов
197

Баллов
617
Похожие темы Дата
Похожие темы
Порты. Почему Ansible Не Отправляет Правильный Пароль Sudo?
Как Добавить Зависимость Задания К Триггеру Gerrit В Конвейере Jenkins?
Kubernetes — Как Мне Справиться С «Исправлением» Контейнера В Строгом Процессе Выпуска?
Как Создать Карту Из Декартова Произведения Двух Списков Для Использования С For_Each На Ресурсе С Terraform
Веб-Сервисы Amazon — Стратегия Автоматизации Создания Промежуточной Бд Из Производственной Базы Данных + Автоматическое Обновление
Непрерывное Развертывание. Как Автоматически Публиковать Релизы/Комментарии Git На Сайте?
Docker — Непрерывная Интеграция С Использованием Конвейеров Bitbucket Не Удалась Для Openedx
Ansible — Облачная Технология С Автоматическим Обновлением Моей Версии Ос И Версии Веб-Сервера?
Kubernetes — Установка Драйвера Nvidia На Узлах Eks
Управление Конфигурацией. Чем Декларативные Дистрибутивы Отличаются От Kickstart?
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно