【问题标题】:How to enable the API in AWS Managed Workflows for Apache Airflow?如何在 AWS Managed Workflows for Apache Airflow 中启用 API?
【发布时间】:2021-05-26 10:10:47
【问题描述】:

我正在通过Managed Workflows for Apache Airflow (MWAA) 在 AWS 上运行Apache Airflow 进行测试。 AWS 为我部署和管理的 Airflow 版本是 1.10.12

当我尝试在 /api/experimental/test 访问 v1 REST API 时,我得到了状态代码 403 Forbidden

是否可以在 MWAA 中启用实验性 API?怎么样?

【问题讨论】:

    标签: amazon-web-services airflow amazon mwaa airflow-api


    【解决方案1】:

    我认为 MWAA 提供了一个 REST 端点来使用 CLI

    https://$WEB_SERVER_HOSTNAME/aws_mwaa/cli

    这很令人困惑,因为您首先需要使用 awscli 创建一个 cli-token,然后使用该令牌访问端点。您将需要一个策略来允许您的 awscli 请求该令牌。 最后,并不是所有的命令都支持,只是一堆。

    无论如何,这一切都在用户指南中进行了解释 https://docs.aws.amazon.com/mwaa/latest/userguide/amazon-mwaa-user-guide.pdf

    【讨论】:

      【解决方案2】:

      默认情况下,api.auth_backend 配置选项在 MWAA 环境中设置为 airflow.api.auth.backend.deny_all。您需要将其覆盖为documentation中提到的一种身份验证方法,如下图所示:

      注意:强烈建议不要使用airflow.api.auth.backend.default,因为它会 让您的环境可公开访问。

      [2021/07/29] 编辑: 基于此comment,AWS 阻止了对 REST API 的访问。

      【讨论】:

      • 谢谢@hedi-bejaoui。也许我的问题不够清楚。我正试图在 MWAA 中专门完成这项工作。我无法在 MWAA 设置页面中设置 AIRFLOW__API__AUTH_BACKEND,所以我想问是否有其他方法可以让我在 MWAA 中打开 API。
      • @urig 我收到了你的问题,因为我也处于类似的位置,可能我的答案不是那么清楚。为了覆盖airflow.cfg 文件中的任何配置,您需要指定部分(括号之间的部分)后跟配置名称,如下所示:api.auth_backend。
      • @urig 以上截图来自MWAA设置界面。
      • 这真的可能吗?在 MWAA v2.0.2 中,尝试启用此设置时,我得到Some of the provided configurations belong to the blocklist and can not be applied: api.auth_backend.。是否有其他方法可以在 AWS MWAA 上启用/访问 Airflow API?
      猜你喜欢
      • 1970-01-01
      • 2022-12-12
      • 2021-08-22
      • 2021-09-07
      • 1970-01-01
      • 2022-10-18
      • 2021-06-12
      • 1970-01-01
      • 2022-12-04
      相关资源
      最近更新 更多