教學課程:限制 Amazon MWAA 使用者存取 DAGs的子集 - Amazon Managed Workflows for Apache Airflow

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

教學課程:限制 Amazon MWAA 使用者存取 DAGs的子集

Amazon MWAA 會將您的 IAM 主體映射至一或多個 Apache Airflow 的預設角色,以管理對您環境的存取。下列教學課程說明如何限制個別 Amazon MWAA 使用者僅檢視特定 DAG 或一組 DAGs 並與之互動。

注意

只要可以擔任 IAM 角色,就可以使用聯合存取來完成本教學中的步驟。

先決條件

若要完成本教學課程中的步驟,您需要下列項目:

步驟一:使用預設 Public Apache Airflow 角色為您的 IAM 主體提供 Amazon MWAA Web 伺服器存取權。

使用 授予許可 AWS Management Console
  1. 使用 Admin角色登入 AWS 您的帳戶,並開啟 IAM 主控台

  2. 在左側導覽窗格中,選擇使用者,然後從使用者資料表中選擇您的 Amazon MWAA IAM 使用者。

  3. 在使用者詳細資訊頁面的摘要下,選擇許可索引標籤,然後選擇許可政策以展開卡片,然後選擇新增許可

  4. 授予許可區段中,選擇直接連接現有政策,然後選擇建立政策以建立和連接您自己的自訂許可政策。

  5. 建立政策頁面上,選擇 JSON,然後在政策編輯器中複製並貼上下列 JSON 許可政策。Tha 政策使用預設 Public Apache Airflow 角色將 Web 伺服器存取權授予使用者。

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:us-east-1:111122223333:role/YOUR_ENVIRONMENT_NAME/Public" ] } ] }

步驟二:建立新的 Apache Airflow 自訂角色

使用 Apache Airflow UI 建立新角色
  1. 使用您的管理員 IAM 角色,開啟 Amazon MWAA 主控台並啟動您環境的 Apache Airflow UI。

  2. 從頂端的導覽窗格中,將滑鼠游標暫留在安全性上以開啟下拉式清單,然後選擇列出角色以檢視預設 Apache Airflow 角色。

  3. 從角色清單中,選取使用者,然後在頁面頂端選擇動作以開啟下拉式清單。選擇複製角色,並確認確定

    注意

    複製 OpsViewer 角色,分別授予更多或更少的存取權。

  4. 找到您在資料表中建立的新角色,然後選擇編輯記錄

  5. 編輯角色頁面上,執行下列動作:

    • 針對名稱,在文字欄位中輸入角色的新名稱。例如 Restricted

    • 如需許可清單,請移除 can read on DAGscan edit on DAGs,然後為您要提供存取權的一組 DAGs 新增讀取和寫入許可。例如,對於 DAG、example_dag.py、新增 can read on DAG:example_dagcan edit on DAG:example_dag

    選擇儲存。您現在應該有一個新角色,限制對 Amazon MWAA 環境中可用 DAGs 子集的存取。您現在可以將此角色指派給任何現有的 Apache Airflow 使用者。

步驟三:將您建立的角色指派給 Amazon MWAA 使用者

指派新角色
  1. 使用 的存取憑證MWAAUser,執行下列 CLI 命令來擷取您環境的 Web 伺服器 URL。

    $ aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME | jq '.Environment.WebserverUrl'

    如果成功,您會看到下列輸出:

    "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
  2. MWAAUser 登入 後 AWS Management Console,開啟新的瀏覽器視窗並存取下列 URl。將 取代Webserver-URL為您的資訊。

    https://<Webserver-URL>/home

    如果成功,您會看到Forbidden錯誤頁面,因為 MWAAUser 尚未授予存取 Apache Airflow UI 的許可。

  3. Admin 登入 後 AWS Management Console,再次開啟 Amazon MWAA 主控台,並啟動您環境的 Apache Airflow UI。

  4. 從 UI 儀表板中,展開安全性下拉式清單,這次選擇列出使用者

  5. 在使用者表格中,尋找新的 Apache Airflow 使用者,然後選擇編輯記錄。使用者的名字將符合以下模式的 IAM 使用者名稱:user/mwaa-user

  6. 編輯使用者頁面的角色區段中,新增您建立的新自訂角色,然後選擇儲存

    注意

    姓氏欄位為必要欄位,但空格符合需求。

    IAM Public主體授予存取 Apache Airflow UI 的MWAAUser許可,而新角色則提供查看其 DAGs所需的額外許可。

重要

IAM 未授權且使用 Apache Airflow UI 新增的 5 個預設角色 (例如 Admin),都會在下次使用者登入時移除。

後續步驟

  • 若要進一步了解如何管理 Amazon MWAA 環境的存取權,以及查看可供環境使用者使用的 JSON IAM 政策範例,請參閱 存取 Amazon MWAA 環境

  • 存取控制 (Apache Airflow 文件) – 進一步了解 Apache Airflow 文件網站上的預設 Apache Airflow 角色。