gpt4 book ai didi

aws-lambda - 使用 cloudformation 或 Lambda 添加 IP 地址

转载 作者:行者123 更新时间:2023-12-03 07:26:10 25 4
gpt4 key购买 nike

我有 opensearch 服务的配置,它按预期工作。

{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:1234:domain/esupport/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"1.2.3.4",
"5.6.7.8"
]
}
}
}
]
}

它将允许从上述 2 个 IP 地址进行访问。如果我想再添加一个,我可以编辑代码并更新。但我想使用 cloudformation 模板或 Lambda 函数 URL 添加 IP 地址。可能吗?

最佳答案

是的,这就是我在 YAML CloudFormation 中定义 OpenSearch 的方式。我作弊并转移到 JSON,因为 YAML 正在 YAMLing 我。

  Opensearch:
Type: AWS::OpenSearchService::Domain
Properties:
AccessPolicies:
{
"Version": "2012-10-17",
"Statement":
[
{
"Effect": "Allow",
"Principal": { "AWS": "*" },
"Action": ["es:*"],
"Resource": "*",
"Condition":
{ "IpAddress": { "aws:SourceIp": ["1.2.3.4"] } },
},
],
}
AdvancedOptions:
rest.action.multi.allow_explicit_index: true
ClusterConfig:
InstanceCount: 1
InstanceType: t2.small.search
DomainName: ${sls:stage}-mydomain
EBSOptions:
EBSEnabled: true
VolumeSize: 20
VolumeType: gp2
EngineVersion: OpenSearch_1.0
LogPublishingOptions:
ES_APPLICATION_LOGS:
CloudWatchLogsLogGroupArn: !GetAtt OSAppLogGroup.Arn
Enabled: true
SEARCH_SLOW_LOGS:
CloudWatchLogsLogGroupArn: !GetAtt OSSlowLogGroup.Arn
Enabled: true
INDEX_SLOW_LOGS:
CloudWatchLogsLogGroupArn: !GetAtt OSIndexSlowLogGroup.Arn
Enabled: true
Tags:
- Key: stage
Value: ${sls:stage}

IP 条件只是标准策略模板上的一个字符串,因此您还可以使用变量定义策略 JSON(例如,如果您使用 Terraform 或 Serverless)。但我认为使用 CF 资源这是不可能的。

如果您定期更改 IP,最好将其放在 API 网关等单个入口点后面,以便您可以在该点管理 IP block 。

关于aws-lambda - 使用 cloudformation 或 Lambda 添加 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76445429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com