【发布时间】:2020-05-15 16:54:51
【问题描述】:
我有一个用例,我想使用由 Cloud Custodian 创建的定期运行的 Lambda 函数查找已与特定账户共享的 AWS AMI。
为了对此进行测试,我创建了两个 AMI:一个私有/非共享,一个与已知帐户共享。当我运行 Lambda 函数时,我收到消息 Filtered from 2 to 2 ami,即我使用的过滤器没有以我想要的方式工作 - 我原以为它会过滤 2 到 1 个 AMI。
这是我正在使用的过滤器(我在此处输入了帐户的通用编号):
filters:
- type: image
key: LaunchPermissions[0].UserId
value: "123456789012"
我为密钥使用了不同的变体,但在每种情况下都找不到我希望策略过滤器找到的 AMI。我使用https://jmespath.org 来检查以下 JSON 的路径,这似乎返回了我想要的:
{
"ImageId": "ami-1234567890",
"LaunchPermissions": [
{
"UserId": "123456789012"
}
]
}
我确定我没有正确处理图像属性,但我似乎无法弄清楚哪个 JMESPath 会给我帐户 ID 字符串。
谁能给我指点一下,好吗?
【问题讨论】:
-
把
type: image改成type: value就可以了。
标签: amazon-web-services jmespath cloudcustodian