簡體   English   中英

使用帶有Boto 2.38的IAM角色連接到AWS SQS的問題

[英]Issue connecting to AWS SQS using IAM Role with Boto 2.38

我無法使用其與Boto 2.38庫(和Python 3 )關聯的IAM角色EC2實例向AWS Simple Queue Service (SQS)進行身份驗證。

我找不到關於它的文檔的任何具體信息,但是據我從示例和周圍的其他問題可以理解的是,它應該可以像這樣打開連接。

conn = boto.sqs.connect_to_region('us-east-1')
queue = conn.get_queue('my_queue')

取而代之的是,除非從我的環境中或顯式地向該方法提供憑據,否則我將從connect方法獲得一個對象。

我很確定自己的角色還可以,因為它可以透明地用於S3等其他服務,描述EC2標簽,將指標發送到CloudWatch等。 我的SQS政策是這樣的:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "SQSFullAccess",
      "Effect": "Allow",
      "Action": [
        "sqs:*"
      ],
      "Resource": [
        "arn:aws:sqs:us-east-1:<account_id>:<queue_name1>",
        "arn:aws:sqs:us-east-1:<account_id>:<queue_name2>"
      ]
    }
  ]
}

為了消除對我的策略的懷疑,我什至暫時將FullAdmin策略與我的角色相關聯,但沒有成功。

我還驗證了它也不能與AWS CLI一起使用(據我所知,它也使用Boto )。 因此,我唯一能得出的結論是,這是SQS客戶端的Boto問題。

會有人有不同的經歷嗎? 我知道切換到Boto 3可能會解決它,但是我現在不考慮這樣做,如果它確實是個錯誤,我認為應該在git上進行報告。

謝謝。

回答我自己。

寶途的2.38 SQS客戶端與IAM角色的工作。 我的應用程序中有一個錯誤。

對於AWS CLI,我的本地帳戶中存在一個憑證文件( 〜/ .aws / credentials ),並且該憑證文件代替了實例的角色,因為該角色是CLI所要查找的最后一個文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM