Минимальная политика IAM, необходимая для запуска функций Boto - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь запустить некоторые функции boto в скрипте Python.Мне нужно создать политику IAM с минимальными необходимыми разрешениями для выполнения этих функций boto.Есть ли хороший способ связать эти функции boto с разрешениями AWS IAM, которые мне нужны для их выполнения.

Например, вот мои модули boto (python), которые у меня есть.Какие разрешения IAM потребуются пользователю для их запуска?Есть ли хороший способ найти это?

boto.ec2.autoscale.connect_to_region
boto.ec2.elb.connect_to_region
boto.ec2.connect_to_region
boto.ec2.instance.Instance
boto.ec2.elb.loadbalancer.LoadBalancer
boto.ec2.autoscale.group.AutoScalingGroup

1 Ответ

0 голосов
/ 16 февраля 2019

Между перечисленными вами функциями и вызовом API для AWS нет соотношения 1: 1.

Если вы используете функцию client, вам необходимо специальное разрешение для этой функции, например:

response = ec2_client.describe_instances()

Для этой команды потребуется разрешение ec2:DescribeInstances.

boto3 также предоставляет resource функции, обеспечивающие более похожий объект, например:

instance = ec2_resource.Instance('id')

Такие функции могут вызывать любое количество базовых вызовов API, поэтому нелегко определить разрешения, необходимые для таких вызовов.

Вы можете использовать AWS CloudTrail для просмотра базовых вызовов APIкоторые были сделаны, так что разрешения могут быть определены.

...