我有一个用例,我想使用由 Cloud Custodian 创建的定期运行的 Lambda 函数查找已与特定账户共享的 AWS AMI。
为了测试这一点,我创建了两个 AMI:一个私有/非共享,一个与已知帐户共享。当我运行 Lambda 函数时,我收到消息Filtered from 2 to 2 ami
,即我使用的过滤器没有以我想要的方式工作 - 我希望它能够从 2 个 AMI 过滤到 1 个 AMI。
这是我正在使用的过滤器(我在此处输入了帐户的通用编号):
filters:
- type: image
key: LaunchPermissions[0].UserId
value: "123456789012"
我对密钥使用了不同的变体,但在每种情况下都找不到我希望策略过滤器找到的 AMI。我使用https://jmespath.org根据下面的 JSON 检查路径,这似乎返回了我想要的:
{
"ImageId": "ami-1234567890",
"LaunchPermissions": [
{
"UserId": "123456789012"
}
]
}
我确定我没有正确处理图像属性,但我似乎无法弄清楚哪个 JMESPath 会给我帐户 ID 字符串。
有人可以在这里给我指点吗?