本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:限制 Amazon MWAA 使用者存取 DAGs的子集
Amazon MWAA 會將您的 IAM 主體映射至一或多個 Apache Airflow 的預設角色
注意
只要可以擔任 IAM 角色,即可使用聯合存取完成本教學中的步驟。
主題
先決條件
若要完成本教學課程中的步驟,您需要下列項目:
-
Admin具有 AdministratorAccess許可的 IAM 主體,以及 IAM 使用者 MWAAUser,作為您可以限制 DAG 存取的主體。如需管理員角色的詳細資訊,請參閱《IAM 使用者指南》中的管理員任務函數注意
請勿將許可政策直接連接至您的 IAM 使用者。建議您設定使用者可以擔任的 IAM 角色,以取得 Amazon MWAA 資源的暫時存取權。
步驟一:使用預設 Public Apache Airflow 角色為您的 IAM 主體提供 Amazon MWAA Webserver 存取權。
使用 授予許可 AWS Management Console
-
AWS 帳戶 使用
Admin角色登入您的 ,並開啟 IAM 主控台。 -
在左側導覽窗格中,選擇使用者,然後從使用者資料表中選擇您的 Amazon MWAA IAM 使用者。
-
在使用者詳細資訊頁面的摘要下,選擇許可索引標籤,然後選擇許可政策以展開卡片,然後選擇新增許可。
-
在授予許可區段中,選擇直接連接現有政策,然後選擇建立政策以建立和連接您自己的自訂許可政策。
-
在建立政策頁面上,選擇 JSON,然後在政策編輯器中複製並貼上下列 JSON 許可政策。Tha 政策使用預設
PublicApache Airflow 角色將 Web 伺服器存取權授予使用者。
步驟二:建立新的 Apache Airflow 自訂角色
使用 Apache Airflow UI 建立新角色
-
使用您的管理員 IAM 角色,開啟 Amazon MWAA 主控台
並啟動您環境的 Apache Airflow UI。 -
從頂端的導覽窗格中,將滑鼠游標暫留在安全性上以開啟下拉式清單,然後選擇列出角色以存取預設 Apache Airflow 角色。
-
從角色清單中,選取使用者,然後在頁面開頭選擇動作以開啟下拉式清單。選擇複製角色,並確認確定
注意
複製 Ops 或 Viewer 角色,分別授予更多或更少的存取權。
-
找到您在資料表中建立的新角色,然後選擇編輯記錄。
-
在編輯角色頁面上,執行下列動作:
-
針對名稱,在文字欄位中輸入角色的新名稱。例如
Restricted。 -
如需許可清單,請移除
can read on DAGs和can edit on DAGs,然後為您要提供存取權的一組 DAGs 新增讀取和寫入許可。例如,對於 DAG、example_dag.py、新增和can read on DAG:example_dag。can edit on DAG:example_dag
選擇儲存。現在,您有一個新角色,限制對 Amazon MWAA 環境中可用 DAGs 子集的存取。您可以將此角色指派給任何現有的 Apache Airflow 使用者。
-
步驟三:將您建立的角色指派給您的 Amazon MWAA 使用者
指派新角色
-
使用 的存取憑證
MWAAUser,執行下列 CLI 命令來擷取您環境的 Web 伺服器 URL。aws mwaa get-environment --nameYOUR_ENVIRONMENT_NAME| jq '.Environment.WebserverUrl'如果成功,您將參考下列輸出:
"ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
-
MWAAUser登入 後 AWS Management Console,開啟新的瀏覽器視窗並存取下列 URl。將 取代Webserver-URL為您的資訊。https://<Webserver-URL>/home如果成功,您會收到
Forbidden錯誤頁面,因為MWAAUser尚未獲得存取 Apache Airflow UI 的許可。 -
Admin登入 後 AWS Management Console,再次開啟 Amazon MWAA 主控台,並啟動您環境的 Apache Airflow UI。 -
從 UI 儀表板中,展開安全性下拉式清單,這次選擇列出使用者。
-
在使用者表格中,尋找新的 Apache Airflow 使用者,然後選擇編輯記錄。使用者的名字將與下列模式的 IAM 使用者名稱相符:
user/。mwaa-user -
在編輯使用者頁面上的角色區段中,新增您建立的新自訂角色,然後選擇儲存。
注意
姓氏欄位為必要欄位,但空格符合需求。
IAM
Public主體授予存取 Apache Airflow UI 的MWAAUser許可,而新角色則提供取得其 DAGs所需的額外許可。
重要
使用 Apache Airflow UI 新增且未經 IAM 授權的 5 個預設角色 (例如 Admin),都會在下次使用者登入時移除。
後續步驟
-
若要進一步了解如何管理 Amazon MWAA 環境的存取權,以及取得可供環境使用者使用的 JSON IAM 政策範例,請參閱 存取 Amazon MWAA 環境
相關資源
-
存取控制
(Apache Airflow 文件) – 進一步了解 Apache Airflow 文件網站上的預設 Apache Airflow 角色。