2015-01-08 3 views
2

Можно ли проверить, имеет ли конкретный ключ IAM AWS разрешения для набора конкретных команд?Как проверить, имеют ли ключи доступа IAM определенные разрешения?

По существу, есть ли API для AWS privacy simulator?

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

Пример:

# needed resource: 'elasticloadbalancer:SetLoadBalancerListenerSSLCertificate' 

# Check: 
try: 
    elb.set_listener_SSL_certificate(443, 'fake') 
except BotoServerError as e: 
    if e.error_code == 'AccessDenied': 
     print ("You don't have access to " 
       "elasticloadbalancer:SetLoadBalancerListenerSSLCertificate") 

Это, очевидно, Hacky. В идеале у меня был бы вызов функции вроде iam.check_against(resource) или что-то в этом роде. Какие-либо предложения?

ответ

1

IAM Policy Simulator обеспечивает отличный пользовательский интерфейс для определения того, какие пользователи имеют доступ к определенным вызовам API.

Если вы хотите протестировать это программно, используйте параметр DryRun для вызова API. Функция фактически не будет выполняться, но вам будет сообщено, есть ли у нее достаточные разрешения для выполнения. Однако он не будет проверять, мог ли сам вызов выполнить (например, с неправильным именем сертификата).

+0

Я не думаю, что каждый вызов boto имеет параметр DryRun. Я проверил, и это всего лишь несколько вызовов vpc и ec2. Или я что-то не понимаю? Меня не интересует пользовательский интерфейс, я специально говорю «API для симулятора конфиденциальности AWS», – Mikhail

Смежные вопросы