2016-04-28 11 views
1

IAMで、ユーザー自身が作成したリソースに対して基本的に何か(作成、変更、削除)を実行できるユーザーを作成したいと考えています。AWS IAMユーザーロールまたはポリシー

これには、他の役割とポリシーの作成が含まれますが、親ユーザー自身によって作成されたリソースの制御を可能にするものもあります。

この目的は、管理者以外のユーザーが実行できるが、必要なすべてのリソース(インスタンスプロファイルやラムダ実行ロールなど)を作成できるCloudFormationテンプレートを作成できるようにすることです。そのようなすべてのリソースは所有ユーザーだけが管理することができ、自律性と独立性を確保できます。

私はこれがポリシー文書の条件で達成できると感じていますが、正確な方法はわかりません。これはノーである

答えて

1

は完璧なソリューションを意味し、それはあなたが必要なものである場合、私はわからないんだけど、私は最近、似た何かをした、これは私がそれに解決する方法です:

を我々はAmazonElasticMapReduceFullAccessを持っている役割を持っています(amazonによって管理されている)および1つの追加のカスタムポリシー(coloudformation:DeleteStackの権限(EMRクラスターリソースを削除するためのもの))を使用します。

リソースレベルでIAMポリシーを制限できます。たとえば、削除スタックのためのカスタムポリシーは次のようになります。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "cloudformation:DeleteStack" 
     ], 
     "Resource": "arn:aws:cloudformation:*:*:stack/EMRCluster*" 
    } 
    ] 
} 

それが動作する方法は、ユーザーがEMRクラスタを必要とするとき、彼らは役割を担うとEMRCluster<date>-<UUID>という名前スタックを作成し、彼らは彼らをやっているときということですCloudformationを使用してクラスタリソースを削除します。これは厳密に言えば、ユーザーが既にEMRのフルアクセス権を持っており、EMRのWebコンソールまたはboto3 EMR APIからリソースを(自分だけでなく)削除することができるため、実際には必要ありません。 EMRを直接管理するのではなく、ただひとつのCloudformを呼び出すだけです。クラウドフォーメーションを使用してクラスターを直接作成するのではなく、作成して削除するのはちょっと面白いかもしれませんが、カスタム構成よりも単一のJSONテンプレートを管理する方がはるかに簡単です...

あなたは、全体のEMRフルアクセス許可(非常にたくさん)、私はあなたが特定のリソースだけを作成し、同様の方法でリソースを削除することを制限することができるようにするために、EMRのフルアクセスポリシーを使いこなすことをお勧めします。たぶんあなたは、その代わりに特定のテンプレートを使ってCloudFormを呼び出すための権限しかユーザに与えられないでしょうか?しかし、他の権限なしでも動作するかどうかはわかりません...

さらに、VisibleToAllUsers=Falseをテンプレート(see the docs)に設定できるため、作成したユーザーだけがクラスタを管理できるはずです。

関連する問題