2017-09-10 20 views
11

Tôi đã tải thành công người dùng từ AWS iam bằng mô-đun boto python.Cách nhận thông tin về quyền hoặc nhóm của người dùng trong AWS iam bằng boto

Code:

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 ?

tôi đã thêm dòng mã này để có được những nhóm liên quan đến việc sử dụng và tôi nhận được lỗi nêu xuống dưới.

Mã Added:

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

đâu, "Shital" là người dùng đang tồn tại và là lấy từ trên cao. Đối với mục đích thử nghiệm, tôi tự chuyển nó đến một cuộc gọi hàm.

Lỗi:

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

Vấn đề của bạn là bạn không có quyền chính xác để thực hiện thao tác này 'người dùng/qa-api-người dùng không được phép thực hiện: iam: ListGroupsForUser trên tài nguyên: người dùng Shita' là một gợi ý mạnh mẽ. IIRC chỉ người dùng quản trị mới có thể thực hiện việc này. –

+0

@SteveBarnes Tôi đã kiểm tra các quyền. Thông tin đăng nhập tôi đang sử dụng có quyền được đặt cho tất cả chức năng. Nó có quyền truy cập đọc đến get_groups_for_user cũng như mọi hàm api khác. Nhưng tôi nhận được lỗi tương tự mà người dùng không được phép thực hiện. Theo thông báo lỗi, đó là vấn đề về quyền hạn nhưng người dùng có thẩm quyền nhưng tại sao tôi gặp lỗi –

+0

Tôi khuyên rằng đây là vấn đề với AWS, Boto hoặc Thư viện theo thứ tự khả năng giảm dần. –

Trả lời

0

Sử dụng thông tin có thẩm quyền phù hợp là điều cần thiết cho truy vấn này để làm việc. Như code_onkel chỉ ra, nó có ý nghĩa để gán IAMFullAccess hoặc AdministratorAccess khi cần thiết để hoàn tất giao dịch thành công.

Các vấn đề liên quan