【问题标题】:Get the ARN for the API gateway resource that the serverless framework creates within my serverless.yml file获取无服务器框架在我的 serverless.yml 文件中创建的 API 网关资源的 ARN
【发布时间】:2019-03-25 08:43:08
【问题描述】:

如何获取无服务器框架在我的 serverless.yml 文件中创建的 API 网关资源的 ARN?

我想获取 API Gateway 资源的 ARN,以便我可以在 IAM 策略中使用它在网关上执行基于 IAM 的授权。

【问题讨论】:

    标签: amazon-web-services aws-api-gateway serverless-framework


    【解决方案1】:

    API 的整个 ARN 属于 form:arn:aws:execute-api:region:account-id:api-id/stage/METHOD_HTTP_VERB/Resource-path)。在 serverless.yml 中使用 { "Ref" : "ApiGatewayRestApi" } (link) 会为您提供 apiId。

    您可以执行以下操作(请参阅资源部分)将其转换为整个 Arn 以引用 API:

    PolicyName: InvokeAPI
    PolicyDocument:
      Version: "2012-10-17"
      Statement:
        Effect: "Allow"
        Action: "execute-api:Invoke"
        Resource:
          - Fn::Join:
            - "/"
            - 
              - Fn::Join: [":", ["arn:aws:execute-api", {"Ref": "AWS::Region"}, {"Ref":"AWS::AccountId"}, {"Ref": "ApiGatewayRestApi"}]]
              - "*"
    

    【讨论】:

      猜你喜欢
      • 2021-03-16
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 2022-06-16
      • 2018-05-29
      • 1970-01-01
      • 2018-04-05
      • 2021-11-27
      相关资源
      最近更新 更多