2016-04-28 57 views
1

我想在IAM中創建一個用戶,該用戶基本上可以對該用戶自己創建的資源執行任何操作(創建,修改,刪除)。AWS IAM用戶角色或策略自包含

這將包括創建其他角色和策略......但只有這樣才能允許控制由父級用戶自己創建的資源。

目的是爲了能夠創建一個非管理員用戶可以運行的CloudFormation模板,但仍然創建所需的全部資源(包括實例配置文件和lambda執行角色等)。所有這些資源只能由擁有的用戶管理,因此可以自主和隔離。

我有一種感覺,這可以在政策文件中的條件下完成,但不確定具體如何。

回答

1

這絕不是完美的解決方案,我不知道這是你需要什麼,但我最近做了類似的事情,這是我如何解決它:

我們有一個具有AmazonElasticMapReduceFullAccess作用和Cloudformation只讀策略(由Amazon管理)以及一個具有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 ...它只是使事情變得更容易,並允許用戶只需要對Cloudformation進行一次調用,而不是直接管理EMR。它可能看起來有點滑稽創建和刪除與Cloudformation,而不是直接集羣,但它是非常容易管理單個JSON模板比您的自定義配置...

如果你不喜歡,你的用戶應該有整個EMR完全訪問權限(相當多),我建議你玩的EMR完全訪問策略,允許用戶創建只有某些資源,並限制以類似的方式刪除的資源。也許你可以授予用戶一定的權限,以便使用特定的模板而不是那個來調用Cloudformation?我不知道,如果這樣做,雖然沒有其他權限的工作......

此外,還可以設置VisibleToAllUsers=False在您的模板(see the docs),所以只有創建它應該能夠管理集羣用戶。

相關問題