簡體   English   中英

在cloudformation中將對API Gateway端點的訪問限制為VPC

[英]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-policyhttps:// 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM