我制定了一个白名单策略,其中包含我要从中获取IP的IP地址列表
以下示例,考虑策略 ARNarn:aws:iam::0000000:policy/Whitelister
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"W.X.Y.Z",
"A.B.C.D"
]
}
}
}
]
}
我有一个 AWS Elasticsearch(ES( 账户,它允许基于 JSON 的访问策略。如何在 AWS ES 策略中使用上述策略来限制对这些 IP 的访问。
我现在有硬写的IP,但这会导致冗余,更新IP将很困难。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "*",
"Resource": [
"arn:aws:es:****************/domain-name/*",
"arn:aws:es:****************/domain-name/"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"W.X.Y.Z",
"A.B.C.D"
]
}
}
}
]
}
遗憾的是,不能在 ES 域的 IP 策略中使用策略。
让我对此进行一些详细说明,因为我认为基于资源的策略(例如 ES 域的 IP 策略(与 IAM 用户、角色或组的基于身份的策略之间存在混淆。AWS 文档中介绍了这些差异。
简而言之,您的策略arn:aws:iam::0000000:policy/Whitelister
就是所谓的托管策略。托管策略只能附加到可以是IAM 用户、组或角色IAM identity
。它们不能附加到基于资源的策略。