我想在IAM中創建一個用戶,該用戶基本上可以對該用戶自己創建的資源執行任何操作(創建,修改,刪除)。AWS IAM用戶角色或策略自包含
這將包括創建其他角色和策略......但只有這樣才能允許控制由父級用戶自己創建的資源。
目的是爲了能夠創建一個非管理員用戶可以運行的CloudFormation模板,但仍然創建所需的全部資源(包括實例配置文件和lambda執行角色等)。所有這些資源只能由擁有的用戶管理,因此可以自主和隔離。
我有一種感覺,這可以在政策文件中的條件下完成,但不確定具體如何。
我想在IAM中創建一個用戶,該用戶基本上可以對該用戶自己創建的資源執行任何操作(創建,修改,刪除)。AWS IAM用戶角色或策略自包含
這將包括創建其他角色和策略......但只有這樣才能允許控制由父級用戶自己創建的資源。
目的是爲了能夠創建一個非管理員用戶可以運行的CloudFormation模板,但仍然創建所需的全部資源(包括實例配置文件和lambda執行角色等)。所有這些資源只能由擁有的用戶管理,因此可以自主和隔離。
我有一種感覺,這可以在政策文件中的條件下完成,但不確定具體如何。
這絕不是完美的解決方案,我不知道這是你需要什麼,但我最近做了類似的事情,這是我如何解決它:
我們有一個具有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),所以只有創建它應該能夠管理集羣用戶。