Извиняюсь за мою наивность, я новичок в aws - облачности
сценарий:
У меня есть лямбда-функция (F1)
В отдельном стеке в той же учетной записи AWS у меня есть шлюз API (API1), подключенный к другой лямбда-функции (F2)
второй stack template.yaml:
Resources:
#############
# Rest Api #
#############
API1:
Type: AWS::Serverless::Api
Properties:
StageName: Prod
DefinitionBody:
"Fn::Transform":
Name: "AWS::Include"
Parameters:
Location: !Ref OpenApiDefinitionLocation
##############
# Functions #
#############
F2:
Type: AWS::Serverless::Function
Properties:
CodeUri: lambda/dist
Handler: handler/code.foo
Role: !GetAtt F2Role.Arn
Events:
bobEvents:
Type: Api
Properties:
Path: /bob/{proxy+}
Method: any
RestApiId: !Ref API1
и openapi.yml:
openapi: "3.0.1"
paths:
/jim/{bar+}:
get:
x-amazon-apigateway-integration:
uri:
Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${foo.Arn}/invocations"
passthroughBehavior: "when_no_match"
httpMethod: "POST"
type: "aws_proxy"
/bob/{proxy+}:
x-amazon-apigateway-any-method:
parameters:
- name: "proxy"
in: "path"
required: true
schema:
type: "string"
x-amazon-apigateway-integration:
uri:
Fn::Sub: "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${F2.Arn}/invocations"
responses:
default:
statusCode: "200"
passthroughBehavior: "when_no_match"
httpMethod: "post"
contentHandling: "CONVERT_TO_TEXT"
type: "aws_proxy"
Я хочу сделать путь /bob/{proxy+}
, чтобы он был доступен только для F1 (в первом стек) (или просто блокировка, чтобы он не был доступен за пределами моей учетной записи AWS). но я все еще хочу, чтобы /jim/{bar+}
был общедоступным.
любой совет или указатели были бы удивительными, спасибо.