2017-06-23 127 views
-1

我正在使用AWS S3桶來保存Java AWS Lambdas的配置文件。如何配置存儲桶以僅允許訪問任何lambda函數而沒有其他內容?將AWS S3桶限制爲僅允許Lambda訪問

+0

一般來說,如果你想解決的AWS服務作爲一個IAM政策主犯,那麼你可以使用「服務」:「lambda.amazonaws.com」(或「s3.amazonaws.com」,「ec2.amazonaws.com」等)然而,在這種情況下,我認爲這不是與Lambda服務相關的,而是假定您的Lambda函數正在運行的IAM角色,因爲它是從S3存儲桶檢索配置的被調用的Lambda函數本身(推測)。 – jarmod

回答

0

您需要在區域us-east-1添加S3存儲策略帳戶123456789012 -

{ 
    "Id": "Policy1498253351771", 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1498253327847", 
      "Action": [ 
         "s3:GetObject", 
         "s3:PutObject" 
        ], 
      "Effect": "Allow", 
      "Resource": "arn:aws:s3:::<bucket_name>/<prefix>", 
      "Principal": { 
      "AWS": [ 
       "arn:aws:lambda:us-east-1:123456789012:function:*" 
       ] 
      } 
     } 
    ] 
} 

以上就是對所有的lambda函數的一般政策。

如果你需要生成一個更細化的政策,按您的用例,你可以嘗試AWS Policy Generator

+1

顯示的策略允許持有者針對us-east-1中的AWS賬戶123456789012中的所有Lambda函數調用所有Lambda API。它不能幫助任何Lambda函數從S3中檢索對象,或者阻止非Lambda函數從S3存儲桶中檢索對象。 – jarmod

+1

@jarmod,我已經把一個通用的,以便它可以作爲參考,而從我分享的鏈接生成一個政策。我已根據您的建議更新了我的政策,請審覈。謝謝- – tom

相關問題