2013-05-14 140 views
7

我寫了一個函數由剛剛創建EC2連接對象如何驗證Amazon訪問密鑰和密鑰是否正確?

import boto.ec2 
try: 
    ec2Conn = boto.ec2.connect_to_region(region, aws_access_key_id=access_key, aws_secret_access_key=secret_key) 
    return ec2Conn 
except boto.exception.EC2ResponseError as e: 
    print e 

但即使密鑰是錯的還是它創建的EC2連接對象來驗證AWS鍵。

所以我驗證通過獲取各區域的訪問密鑰和祕密密鑰,

region = ec2Conn.get_all_regions() 

是否有任何方法或方式,而不是取出區域驗證訪問密鑰和祕密密鑰?

回答

10

驗證AWS憑證的唯一方法是實際使用它們來簽署請求並查看它是否有效。你是正確的,簡單地創建連接對象不會告訴你什麼,因爲它不執行請求。所以你必須選擇一些始終有效的請求,不會返回大量的數據,也不會在服務器端創建任何資源。我認爲get_all_regions()的要求是一個不錯的選擇。