本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:限制 Amazon MWAA 用户对部分 DAG 的访问权限
Amazon MWAA 通过将 IAM 主体映射到一个或多个 Apache Airflow 的默认角色
注意
只要可以担任 IAM 角色,就可以使用联合访问完成本教程中的步骤。
主题
先决条件
要完成本教程中的步骤,你需要以下内容:
-
Admin
具有AdministratorAccess权限的 IAM 委托人和可以限制 DAG 访问权限的 IAM 用户作为委托人。 MWAAUser
有关管理员角色的更多信息,请参阅《IAM 用户指南》中的管理员任务函数注意
请勿将权限策略直接附加到 IAM 用户。我们建议设置用户可以代入的 IAM 角色来临时访问 Amazon MWAA 资源。
-
Amazon Command Line Interface 已安装@@ 版本 2。
步骤 1:使用默认 Public
Apache Airflow 角色向 IAM 主体提供 Amazon MWAA Web 服务器访问权限。
要授予权限,请使用 Amazon Web Services Management Console
-
使用
Admin
角色登录您的 Amazon 账户并打开 IAM 控制台。 -
在左侧导航窗格中,选择用户,然后从用户表中选择 Amazon MWAA IAM 用户。
-
在用户详细信息页面的摘要下,选择权限选项卡,然后选择权限策略以展开卡片并选择添加权限。
-
在设置权限部分中,选择直接附加现有策略,然后选择创建策略。
-
在创建策略页面上,选择 JSON,然后将以下 JSON 权限策略复制并粘贴到策略编辑器中。该策略向具有默认
Public
Apache Airflow 角色的用户授予网络服务器访问权限。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:
YOUR_REGION
:YOUR_ACCOUNT_ID
:role/YOUR_ENVIRONMENT_NAME
/Public" ] } ] }
步骤 2:创建新的 Apache Airflow 自定义角色
使用 Apache Airflow UI 创建新角色
-
使用管理员 IAM 角色,打开 Amazon MWAA 控制台
并启动环境的 Apache Airflow UI。 -
在顶部的导航窗格中,将鼠标悬停在安全上以打开下拉列表,然后选择列出角色以查看默认的 Apache Airflow 角色。
-
从角色列表中选择用户,然后在页面顶部选择操作以打开下拉列表。选择复制角色,然后确认确定
注意
复制操作或查看者角色以分别授予或多或少的访问权限。
-
在表格中找到您创建的新角色,然后选择编辑记录。
-
在切换角色页面上,执行以下操作:
-
对于名称,在文本字段中键入角色的新名称。例如,
Restricted
。 -
要查看权限列表,请移除
can read on DAGs
和can edit on DAGs
,然后为要提供访问权限的 DAG 集添加读写权限。例如,对于 DAGexample_dag.py
,添加
和can read on DAG:
example_dag
。can edit on DAG:
example_dag
选择保存。现在,您应该拥有一个新角色,该角色可以限制对 Amazon MWAA 环境中可用的部分 DAG 的访问权限。现在,您可以将此角色分配给任何现有的 Apache Airflow 用户。
-
步骤 3:将您创建的角色分配给 Amazon MWAA 用户
分配新角色
-
使用访问凭证
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"
-
MWAAUser
登录后 Amazon Web Services Management Console,打开一个新的浏览器窗口并访问以下 URL。将Webserver-URL
替换为您的信息。https://
<Webserver-URL>
/home如果成功,您将看到一个
Forbidden
错误页面,因为MWAAUser
尚未获得访问 Apache Airflow UI 的权限。 -
Admin
登录后 Amazon Web Services Management Console,再次打开亚马逊 MWAA 控制台并启动环境的 Apache Airflow 用户界面。 -
在 UI 控制面板中,展开安全下拉列表,这次选择列出用户。
-
在用户表中,找到新的 Apache Airflow 用户并选择编辑记录。用户的名字将按以下模式匹配 IAM 用户名:
user/
。mwaa-user
-
在编辑用户页面的角色部分,添加您创建的新自定义角色,然后选择保存。
注意
姓氏字段是必填字段,但空格可以满足要求。
IAM
Public
主体授予访问 Apache Airflow UI 的MWAAUser
权限,而新角色则提供查看其 DAG 所需的额外权限。
重要
使用 Apache Airflow UI 添加的 5 个未经 IAM 授权的默认角色(例如 Admin
)中的任何一个都将在下次用户登录时移除。
后续步骤
-
要了解有关管理 Amazon MWAA 环境访问权限的更多信息,并查看可供环境用户使用的 JSON IAM 策略 示例,请参阅 访问 Amazon MWAA 环境
相关资源
-
访问控制
(Apache Airflow 文档)— 在 Apache Airflow 文档网站上了解有关默认 Apache Airflow 角色的更多信息。