2016-12-21 7 views
-1

私はAWS Marketplaceに入れたいEC2インスタンスにアプリケーションを持っています。アプリケーションはAmazonS3を使用し、起動時にユーザにAccess Key,Secret Key、およびBucketNameと入力する必要があります。その後、Accekeyと秘密キーを使用してバケット(BucketNameで指定)を作成します。ただし、これはAWS Marketplaceでは許可されていません。S3リソースを必要とするアプリケーションをAWS Marketplaceに配置する方法

しかし、AWS Marketplaceのために、我々はAWS アイデンティティおよびアクセス管理(IAM)の役割を使用するアプリケーションの作成者を必要とし、アクセスまたは秘密鍵の使用 を許可していません。

質問

私はこの問題を回避し、まだAWS Marketplaceの上で私のAMIを置く方へと混乱しています。私の目標は、ユーザーが自分のAWS環境で独自のS3バケットを作成することです。

答えて

1

お客様は、必要なリソース(S3バケット)にアクセスしてAWS IAM rolesを作成し、アカウントでこれらの役割を使用することができます。説明書にあるので、

このメカニズムの背後にある理由は、あなたの顧客はprinciple of least privilegeに従うと、これらのリソースに非常に特定のリソースおよびアクションへのアクセスを制限することができるということです(代わりに自分のアカウント全体への無担保/ rootアクセスを提供する)

+0

、 S3FullAccess Policyを使用して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

関連する問題