![](/img/trans.png)
[英]AWS CloudFormation Template (JSON) to Create EC2 - Unexpected Error
[英]EC2 resourcetag with colon in aws
我試圖限制由自動擴展組創建的任何實例上的EC2操作。 該組會自動使用鍵“ aws:autoscaling:groupName”和值“ my_as_group”創建標簽。 所以通常我會這樣設定我的政策:
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeImages",
"ec2:DescribeKeyPairs",
"ec2:DescribeSecurityGroups",
"ec2:DescribeAvailabilityZones",
"ec2:RunInstances",
"ec2:TerminateInstances",
"ec2:StopInstances",
"ec2:StartInstances"
],
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*", // Yes, in reality I put my real id...
"Condition": {
"StringEquals": {
"ec2:ResourceTag/aws:autoscaling:groupName": "my_as_group"
}
}
}
但是在aws.amazon.com的IAM界面中,它顯示錯誤:
在處理您的請求時,我們遇到了以下錯誤:
動作/條件只能包含一個冒號。
經過一些測試,我認為標簽鍵中不需要冒號...但是標簽鍵是由亞馬遜自動創建的。
是否知道如何將這些操作限制為as組創建的實例?
謝謝
由於以“ aws:”開頭的標簽僅限於AWS內部使用(如此處和此處所述 ),因此如果錯誤表明您無法基於“ aws:”執行您打算做的事情,那將更有意義。在標簽中。
但是,由於不是這種情況,並且錯誤更為普遍,因此這似乎與所記錄的行為不一致。 根據以下陳述,做您想做的事情似乎是合理的,這些陳述來自我在上一段中鏈接到的頁面:
約束:標記鍵區分大小寫,最多接受127個Unicode字符。 可能不以aws開頭:
最大密鑰長度-127個Unicode字符
標簽對Amazon EC2沒有任何語義含義,並且嚴格解釋為字符串
那么,這些語句中的東西是不准確或不完整的,如果一個:
是不是一個有效的ec2:resourcetag
在政策文件中。
當然,根據自動縮放添加的自動生成的標簽,文檔中的下一句話似乎也不正確:
同樣,標簽不會自動分配給您的資源。
糟糕,除了在這種情況下看起來確實如此,而且文檔應該說,或者應該更明確地表明“ aws:”標記可能是,而其他標記則不是。
如果文檔准確且完整,那將是很好的選擇,因此,我建議您在AWS論壇上發布有關您的問題的信息,並查看您是否得到AWS人員的關注(假設您沒有付費支持合同,在這種情況下,我想你會用過的。
另一方面,如果aws:*標簽超出了我們可以訪問的范圍,我想我們也不能抱怨太多,因為aws:*標簽顯然“ 不計入每個實例10個標簽的限制 ”。
也許您會在論壇上發過運,但是,如果是這樣,您可能仍然會發現這些標簽在設計上或由於策略聲明中的限制而無法訪問,如果是這種情況,則似乎是解決方法:
您可以定義一個自定義標簽,該標簽用於指示實例是自動擴展組的一部分,然后配置自動擴展組以將標簽應用於您。
現在,您最多可以將10個標簽添加到任何Auto Scaling組中。 如果願意,還可以將標簽傳播到從組中啟動的EC2實例。
— http://aws.typepad.com/aws/2012/01/new-tagging-features-for-auto-scaling-groups.html
聽起來很有希望。
(可選)您可以將Auto Scaling組標簽傳播到由Auto Scaling啟動的Amazon EC2實例。 您傳播到Amazon EC2實例的Auto Scaling組標簽可以像其他任何Amazon EC2實例標簽一樣使用[...]
當您在as-create-or-update-tags命令中使用PropagateAtLaunch標志時,您創建的標簽將應用於Auto Scaling組啟動的新Amazon EC2實例。 同樣,當您修改標簽時,更新的版本將應用於更改后由Auto Scaling組啟動的新實例。 使用as-create-or-update-tags命令創建或修改的標簽將不適用於使用該命令時已經在運行的實例。
— http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html
只要您不必擔心您的自定義標簽可能會惡意地應用於另一個實例,以使受影響的憑據獲得對另一個資源的不當控制的一種方式(盡管這意味着惡意方已經可以訪問該資源,因此可能不是問題)。
這對連接到EC2實例的卷無濟於事,但無論如何似乎都沒有自動縮放功能,所以也許這可以滿足您的需求。
但是,最后的想法是,我不確定您要允許的某些操作是否可以綁定到實例上的標簽... DescribeImages
, ec2:DescribeKeyPairs
, ec2:DescribeSecurityGroups
, ec2:DescribeAvailabilityZones
和ec2:DescribeAvailabilityZones
我所知, ec2:DescribeAvailabilityZones
不會與“實例”資源相關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.