[英]Restrict acces to API Gateway endpoint to VPC in cloudformation
我正在嘗試將對我的API網關端點的訪問限制為來自我的VPC的請求。 有一些API網關資源策略的例子,甚至還有RestApi資源上的Policy屬性,但是當我還沒有創建API時,我無法弄清楚如何編寫需要API ID的策略。 基於AWS文檔,我有一個了解堆棧應該如何的示例:
MyRestApi:
Type: 'AWS::ApiGateway::RestApi'
Properties:
Name: My Great API
Policy:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal: '*'
Action: execute-api:Invoke
Resource:
Fn::Join:
- - ''
- 'arn:aws:execute-api:'
- Ref: region
- ':'
- Ref: accountId
- ':'
- Ref: MyRestApi
- Effect: Deny
Principal: '*'
Action: execute-api:Invoke
Resource:
Fn::Join:
- - ''
- 'arn:aws:execute-api:'
- Ref: Region
- ':'
- Ref: AccountId
- ':'
- Ref: MyRestApi
Condition:
StringNotEquals:
"aws:SourceVpc":
Ref: VpcId
關鍵在於,當它仍然被創建時,我無法在策略中引用MyRestApi 。 我確信我不是唯一一個想要這樣做的人......我寧願認為這是一個常見的問題,所以我很可能還沒有找到答案。
謝謝你的幫助,
斯特凡
PS:我使用的文檔是https://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy和https:// docs .aws.amazon.com / apigateway /最新/ developerguide / apigateway資源的政策,examples.html
根據AWS文檔 ,由於此問題,該策略支持Resource
的特殊語法。
"Resource": [
"execute-api:/stage/method/path"
]
在評論中,他們稱之為:
//這里支持簡化格式,因為apiId尚未知道,分區/區域/帳戶可以在導入時導出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.