2017-09-10 11 views
11

Kullanıcıları, AWS iam python boto modülünü kullanarak başarıyla getirdim.AWS iam içindeki kullanıcıların izin veya grup ayrıntılarını boto kullanarak edinme

Kodu:

import boto 
from boto.iam.connection import IAMConnection 


    cfn = IAMConnection(aws_access_key_id='somekeyid',aws_secret_access_key ='secret_here') 
    data = cfn.get_all_users() 

    for user in data.users: 
     print user,"\n" 

How do I get the Groups details the user is associated with or the Permission type user is associated to ?

Ben kullanıcıyla ilişkili grup almak için bu kod satırı eklendi ve hata feryat aşağı sözü alıyorum.

Eklendi Kodu:

group=cfn.get_groups_for_user("Shital") 
print group 

, "Shital" var ve yukarıdan alınıyor kullanıcıdır. Test amacı için bunu manuel olarak bir işlev çağrısına geçiriyorum.

Hata: Bu sorgu çalışmak için uygun yetki ile

Traceback (most recent call last): 
    File "getuser.py", line 14, in <module> 
    pol=cfn.get_groups_for_user("Shita") 
    File "/home/tara/testinghere/IAM/env/local/lib/python2.7/site-packages/boto/iam/connection.py", line 509, in get_groups_for_user 
    list_marker='Groups') 
    File "/home/tara/testinghere/IAM/env/local/lib/python2.7/site-packages/boto/iam/connection.py", line 102, in get_response 
    raise self.ResponseError(response.status, response.reason, body) 
boto.exception.BotoServerError: BotoServerError: 403 Forbidden 
<ErrorResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/"> 
    <Error> 
    <Type>Sender</Type> 
    <Code>AccessDenied</Code> 
    <Message>User: arn:aws:iam::586848946515:user/qa-api-users is not authorized to perform: iam:ListGroupsForUser on resource: user Shita</Message> 
    </Error> 
    <RequestId>7e9a4b56-95f0-11e7-9bb0-8b8eb22708c5</RequestId> 
</ErrorResponse> 
+3

Sorununuz, bu işlemi gerçekleştirmek için doğru izinlere sahip değilsiniz: kullanıcı/qa-api kullanıcıları gerçekleştirme yetkisine sahip değil: iam: ListGroupsForUser kaynakta: kullanıcı Shita' güçlü bir ipucudur. IIRC sadece yönetici kullanıcılar bunu yapabilir. –

+0

@SteveBarnes İzinleri kontrol ettim. Kullandığım kimlik bilgileri, tüm işlevsellik için ayarlanmış izinlere sahip. Get_groups_for_user'a ayrıca diğer tüm api işlevlerine de okuma erişimi vardır. Ancak, kullanıcının gerçekleştirmeye yetkili olmadığı aynı hatayı alıyorum. Hata mesajına göre, bir yetki problemi ancak kullanıcı otoriteye sahipti ama neden ben –

+0

hatasını alıyorum, bunun ya AWS, Boto ya da Kütüphane ile ilgili bir olasılığın azalan sıralaması olduğunu söyleyebilirim. –

cevap

0

kullanma kimlik esastır. Code_onkel'in işaret ettiği gibi, işlemi başarıyla tamamlamak için gerektiğinde IAMFullAccess veya AdministratorAccess atamak mantıklıdır.

İlgili konular