2016-12-21 34 views
-1

我有一個應用程序放在我希望放在AWS Marketplace上的EC2實例上。該應用程序使用AmazonS3並在啓動時要求用戶輸入Access Key,Secret KeyBucketName。然後它使用Accekey和secretkey創建一個桶(由BucketName指定)。但是,這在AWS Marketplace上是不允許的。如何在AWS Marketplace上放置一個需要S3資源的應用程序

然而,對於AWS市場,我們需要應用程序的作者使用AWS 身份和訪問管理(IAM)的角色和不允許訪問或密鑰的使用 。

問題

我很困惑,如何解決這個問題,仍然把我的AMI在AWS市場。我的目標是讓用戶在他們自己的AWS環境中創建自己的S3存儲桶。

回答

1

您的客戶可以創建AWS IAM roles以訪問所需的資源(S3存儲桶),並允許您的帳戶使用這些角色。

背後機制的原因是你的客戶可以按照principle of least privilege和限制訪問非常特殊的資源和行動上的這些資源(而不是提供無抵押/根訪問他們的整個帳戶)

+0

所以,在說明書我應該提及用戶使用S3FullAccess策略創建IAM角色並在啓動AMI時指定此角色?另外,在我的AMI中,我應該從EC2實例元數據中獲取憑據? – Anthony

+2

@Anthony - 確實如此。我會遵循像[Cloudberry](http://www.cloudberrylab.com/blog/cloudberry-products-support-amazon-iam-roles)描述的模型 - 您的用戶需要在創建IAM角色時提供IAM角色實例,並且該角色應具有最少的一組權限才能使設備正常工作。然後,您的代碼可以依賴我在回答您的其他問題時描述的元數據回退行爲,並自動使用實例角色的權限。 – birryree

+0

如果你確實需要完全訪問權限,那麼是的。如果您不需要創建和刪除存儲桶,則可以使用更多限制性策略(這可以讓您的客戶更加確信,您身邊的任何錯誤都不會對其他S3資源產生負面影響) – Krease

相關問題