Как пройти аутентификацию в AWS с помощью федерации для запуска экземпляра ec2 - PullRequest
0 голосов
/ 20 января 2019

Я новичок в AWS. Моя компания использует федерацию AD для входа в консоль управления AWS. Я пытаюсь запустить экземпляр ec2 через Ansible 2.7.5, но я думаю, что мне нужно пройти аутентификацию в AWS с помощью модуля sts_session_token?

ansible 2.7.5 файл конфигурации = Нет настроенный путь поиска модулей = ['~ / .ansible / plugins / modules', '/ usr / share / ansible / plugins / modules'] расположение модуля ansible python = /usr/local/Cellar/ansible/2.7.5/libexec/lib/python3.7/site-packages/ansible расположение исполняемого файла = / usr / local / bin / ansible версия Python = 3.7.2 (по умолчанию, 13 января 2019 г., 12:50:15) [Clang 10.0.0 (clang-1000.11.45.5)]

Я думаю по этой ссылке здесь: https://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwi-xbHX-_zfAhWGiOAKHUslBdAQjRx6BAgBEAU&url=https%3A%2F%2Fwww.slideshare.net%2FAmazonWebServices%2Fdelegating-access-to-your-aws-environment&psig=AOvVaw2fyLa59UGpxplzXgLCyDqB&ust=1548094527815558

Я думаю по этой ссылке: https://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwi-xbHX-_zfAhWGiOAKHUslBdAQjRx6BAgBEAU&url=https%3A%2F%2Fwww.slideshare.net%2FAmazonWebServices%2Fdelegating-access-to-your-aws-environment&psig=AOvVaw2fyLa59UGpxplzXgLCyDqB&ust=1548094527815558

Для python у меня установлены boto, boto3 и botocore.

У меня есть каталог ~ / .aws / с учетными данными и конфигурацией

Полномочия

[по умолчанию]

aws_access_key_id =

aws_secret_access_key =

Config

[по умолчанию]

регион = мы-восток-1

* * Выход тысяча двадцать восемь = * 1029 JSON *

Ansible Playbook

 ---
 - hosts: localhost
   gather_facts: False
   tasks:

      - name: Get Session Token Credentials from STS
        sts_session_token:
         duration_seconds: 3600
        register: session_credentials

      - debug:
         var: session_credentials

      - name: Assume Role AWS
        sts_assume_role:
         role_arn: "arn:aws:iam::<id+role>"
         role_session_name: "session role name"
        register: assumed_role

      - debug:
         var: assumed_role`

Результаты с ошибками:

Полный возврат: Traceback (последний вызов был последним): Файл "~ / .ansible / tmp / ansible-tmp-1548008584.240192-70823728355706 / AnsiballZ_sts_session_token.py", строка 113, в _ansiballz_main () Файл "~ / .ansible / tmp / ansible-tmp-1548008584.240192-70823728355706 / AnsiballZ_sts_session_token.py", строка 105, в _ansiballz_main invoke_module (zipped_mod, temp_path, ANSIBALLZ_PARAMS) Файл "~ / .ansible / tmp / ansible-tmp-1548008584.240192-70823728355706 / AnsiballZ_sts_session_token.py", строка 48, в invoke_module imp.load_module (' main ', мод, модуль, MOD_DESC) Файл "/var/folders/gn/2zrt_ymj2_qf1dqysz6rgk99ymbz39/T/ansible_sts_session_token_payload_6Rj3ys/main.py", строка 155, в Файл "/var/folders/gn/2zrt_ymj2_qf1dqysz6rgk99ymbz39/T/ansible_sts_session_token_payload_6Rj3ys/main.py", строка 151, в основном Файл "/var/folders/gn/2zrt_ymj2_qf1dqysz6rgk99ymbz39/T/ansible_sts_session_token_payload_6Rj3ys/main.py", строка 124, в get_session_token Файл "/var/folders/gn/2zrt_ymj2_qf1dqysz6rgk99ymbz39/T/ansible_sts_session_token_payload_6Rj3ys/ansible_sts_session_token_payload.zip/ansible/module_utils/basic.py", ошибка 23J, строка 2369 Файл "/var/folders/gn/2zrt_ymj2_qf1dqysz6rgk99ymbz39/T/ansible_sts_session_token_payload_6Rj3ys/ansible_sts_session_token_payload.zip/ansible/module_utils/basic.py", строка 2341, infor_format_for_format_for __in_inted, forfor 23forted, forfor_format_for_for_in_inted_for __in_in_st_2_2, строка 2341 Файл "/var/folders/gn/2zrt_ymj2_qf1dqysz6rgk99ymbz39/T/ansible_sts_session_token_payload_6Rj3ys/ansible_sts_session_token_payload.zip/ansible/module_utils/basic.py" удалить в строке 522 Файл "/var/folders/gn/2zrt_ymj2_qf1dqysz6rgk99ymbz39/T/ansible_sts_session_token_payload_6Rj3ys/ansible_sts_session_token_payload.zip/ansible/module_utils/basic.py_connect_value, строка 505 TypeError: Значение неизвестного типа:, Произошла ошибка (InvalidClientTokenId) при вызове операции GetSessionToken: маркер безопасности, включенный в запрос, недействителен.

фатально: [localhost]: СБОЙ! => { «изменено»: ложно,"module_stderr": "Traceback (последний вызов был последним): \ n файл \" ~ / .ansible / tmp / ansible-tmp-1548008584.240192-70823728355706 / AnsiballZ_sts_session_token.py \ ", строка 113, в \ n _ansiballz_main () \ n Файл \ "~ / .ansible / tmp / ansible-tmp-1548008584.240192-70823728355706 / AnsiballZ_sts_session_token.py \", строка 105, в _ansiballz_main \ n invoke_module (zipped_mod, temp_path, ANSIBALLZ_Pible \ n \ \ \ \ tmp).) /ansible-tmp-1548008584.240192-70823728355706/AnsiballZ_sts_session_token.py \ ", строка 48, в invoke_module \ n imp.load_module (' main ', мод, модуль, MOD_DESC) \ n файл \" / var / папки / gn / 2zrt_ymj2_qf1dqysz6rgk99ymbz39 / T / ansible_sts_session_token_payload_6Rj3ys / main .py \ ", строка 155, в \ n файле \" / var / folder / gn / 2zrt_ymj2ys_y_jys_y_y_n__j___y__d_t_0_0_0_0_0_6_6_6_6_6_6_6_6_6_6_1 * .py \ ", строка 151, в основном \ n файле \" / var / folder / gn / 2zrt_ymj2_qf1dqysz6rgk99ymbz39 / T / ansible_sts_session_token_payload_6Rj3ys / main .py \ ", строка 124, в get_s ession_token \ n File \ "/ var / folder / gn / 2zrt_ymj2_qf1dqysz6rgk99ymbz39 / T / ansible_sts_session_token_payload_6Rj3ys / ansible_sts_session_token_payload.zip / ansible / файл_in \ \ \ \ \ n \ \ in_p \" 2zrt_ymj2_qf1dqysz6rgk99ymbz39 / T / ansible_sts_session_token_payload_6Rj3ys / ansible_sts_session_token_payload.zip / анзибль / module_utils / basic.py \ "строка 2341, в _return_formatted \ п Файл \" / Var / папки / дп / 2zrt_ymj2_qf1dqysz6rgk99ymbz39 / T / ansible_sts_session_token_payload_6Rj3ys / ansible_sts_session_token_payload.zip / анзибль / module_utils /basic.py \ ", line522, в файлах remove_values ​​\ n \ \ / var / folder / gn / 2zrt_ymj2_qf1dqysz6rgk99ymbz39 / T / ansible_sts_session_token_payload_6Rj3ys / ansible_sts_session_token_pays_y_s_y__y_y_y_y_y_in_y_p_s_setup_in_setup_in_setup_in_set_p_p_p_s_p_p_s_s_y_y_p_p_s_p_p_s \ : Значение неизвестного типа:, Произошла ошибка (InvalidClientTokenId) при вызове операции GetSessionToken: Маркер безопасности, включенный в запрос, недействителен. \ N ", "module_stdout": "", "msg": "MODULE FAILURE \ nСмотрите stdout / stderr для точной ошибки", "rc": 1 }

1 Ответ

0 голосов
/ 22 января 2019

Вам нужно попробовать модуль EC2 , установить boto и настроить it.Вы можете найти образец playbook здесь .Это самый простой способ сделать это.Но хранение учетных данных в экземплярах EC2 (ваша рассылка) не рекомендуется, поэтому рекомендуется использовать роль AWS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...