配置 AWS IAM Identity Center

为了使用 AWS 身份验证管理器,您首先需要配置 AWS IAM Identity Center。AWS 身份验证管理器使用 AWS IAM Identity Center 进行身份验证(登录和注销)。配置完成后,Airflow 环境管理员可以使用 Identity Center 服务管理用户和组。

创建资源

AWS 身份验证管理器在 AWS IAM Identity Center 中需要两个资源:一个实例和一个应用程序。您可以通过提供的 CLI 命令或手动创建它们。

使用 CLI 创建资源

注意

CLI 命令与通过 AWS Organizations 管理的 AWS 账户不兼容。如果您的 AWS 账户是通过 AWS Organizations 管理的,请按照 手动配置 进行操作。

注意

要为 AWS 身份验证管理器创建所有必要的资源,您可以使用 AWS 身份验证管理器提供的 CLI 命令。在执行命令之前,请确保 AWS 身份验证管理器已配置为 Airflow 实例的身份验证管理器。请参阅 配置 Airflow 以使用 AWS 身份验证管理器

要创建资源,请运行以下命令

airflow aws-auth-manager init-identity-center

CLI 命令应成功退出并显示以下消息

AWS IAM Identity Center resources created successfully.

如果 CLI 命令因错误而退出,请仔细查看 CLI 命令输出,以了解哪些资源已成功创建或未成功创建。未成功创建的资源需要 手动创建

如果出现以下错误消息,请按照 以下说明 通过控制台创建 AWS IAM Identity Center 应用程序

Creation of SAML applications is only supported in AWS console today. Please create the application through the console.

手动创建资源

创建实例

请按照 AWS 文档 创建 AWS IAM Identity Center 实例。

创建应用程序

请按照以下说明创建 AWS IAM Identity Center 应用程序。

  1. 打开 IAM Identity Center 控制台

  2. 选择“应用程序”。

  3. 选择“客户管理”选项卡。

  4. 选择“添加应用程序”。

  5. 在“选择应用程序类型”页面上的“设置首选项”下,选择“我要设置的应用程序”。

  6. 在“应用程序类型”下,选择“SAML 2.0”。

  7. 选择“下一步”。

  8. 在“配置应用程序”页面上的“配置应用程序”下,输入应用程序的“显示名称”,例如 Airflow。然后,输入描述。

  9. 在“IAM Identity Center 元数据”下,复制“IAM Identity Center SAML 元数据文件”的地址。

注意

您稍后需要在 Airflow 配置中设置此地址。

  1. 在“应用程序元数据”下,选择“手动输入元数据值”。然后,按如下方式提供“应用程序 ACS URL”和“应用程序 SAML 受众”。

    重要

    <base_url> 替换为 Airflow UI 的基本 URL。它应该在 AIRFLOW__WEBSERVER__BASE_URL 中定义(例如,如果 Airflow 在本地运行,则为 localhost:8080)。

  • **应用程序 ACS URL**: <base_url>/login_callback

  • **应用程序 SAML 受众**: <base_url>/login_metadata

  1. 选择“提交”。应用程序现已创建。

属性映射配置

创建应用程序后,您需要配置属性映射。

  1. 转到您刚刚创建的应用程序的详细信息页面。

  2. 选择“操作”。

  3. 在“操作”下,选择“编辑属性映射”。

  4. 在“属性映射”页面上,您需要配置身份源和 AWS IAM Identity Center 之间的不同属性映射。有关属性映射的更多信息,请参阅 IAM Identity Center 文档。AWS 身份验证管理器需要两个属性:**id** 和 **groups**。如果您使用默认的 Identity Center 目录作为身份源,则可以使用以下配置

    • id

      • **应用程序中的用户属性**: id

      • **映射到 IAM Identity Center 中的此字符串值或用户属性**: ${user:AD_GUID}

      • **格式**: basic

    • groups

      • **应用程序中的用户属性**: groups

      • **映射到 IAM Identity Center 中的此字符串值或用户属性**: ${user:groups}

      • **格式**: basic

  5. 定义了 **id** 和 **groups** 这两个属性后,选择“保存更改”。

配置 Airflow

您需要在 Airflow 配置中设置先前创建的 IAM Identity Center SAML 元数据文件。

[aws_auth_manager]
saml_metadata_url = <saml_metadata_file_url>

export AIRFLOW__AWS_AUTH_MANAGER__SAML_METADATA_URL='<saml_metadata_file_url>'

此条目对您有帮助吗?