配置 AWS IAM Identity Center¶
为了使用 AWS 认证管理器,您首先需要配置 AWS IAM Identity Center。AWS IAM Identity Center 被 AWS 认证管理器用于身份验证目的(登录和注销)。配置完成后,Airflow 环境管理员可以使用 Identity Center 服务管理用户和组。
创建资源¶
AWS 认证管理器在 AWS IAM Identity Center 中需要两个资源:一个实例和一个应用程序。您必须手动创建它们。
创建实例¶
AWS 认证管理器利用 SAML 2.0 作为对 AWS Identity Center 进行身份验证的底层技术。
有几种实例类型,但只有组织级别的实例才能使用 SAML 2.0 应用程序。在此处查看有关实例类型的更多详细信息。这里。
请按照 AWS 文档创建一个组织级别的 AWS IAM Identity Center 实例。
创建应用程序¶
请按照以下说明创建 AWS IAM Identity Center 应用程序。
- 选择 Applications。 
- 选择 Customer managed 选项卡。 
- 选择 Add application。 
- 在 Select application type 页面上,在 Setup preference 下,选择 I have an application I want to set up。 
- 在 Application type 下,选择 SAML 2.0。 
- 选择 Next。 
- 在 Configure application 页面上,在 Configure application 下,为应用程序输入一个 Display name(显示名称),例如 - Airflow。然后,输入一个 Description(描述)。
- 在 IAM Identity Center metadata 下,复制 IAM Identity Center SAML metadata file 的地址。 
注意
稍后您需要在 Airflow 配置中设置此地址。
- 在 Application metadata 下,选择 Manually type your metadata values。然后,按如下方式提供 Application ACS URL 和 Application SAML audience。 - 重要 - 将 - <base_url>替换为您 Airflow UI 的基本 URL。它应在- AIRFLOW__WEBSERVER__BASE_URL中定义(例如,如果 Airflow 在本地运行,则为- localhost:8080)。
Application ACS URL:
<base_url>/login_callback
Application SAML audience:
<base_url>/login_metadata
- 选择 Submit。应用程序现已创建。 
属性映射配置¶
应用程序创建后,您需要配置属性映射。
- 转到您刚刚创建的应用程序的详细信息页面。 
- 选择 Actions。 
- 在 Actions 下,选择 Edit attribute mappings。 
- 在 Attribute mappings 页面上,您需要配置身份源和 AWS IAM Identity Center 之间不同的属性映射。有关属性映射的更多信息,请参阅 IAM Identity Center 文档。AWS 认证管理器需要两个属性:id 和 groups。如果您使用默认的 Identity Center 目录作为身份源,可以使用以下配置 - id - User attribute in the application: - id
- Maps to this string value or user attribute in IAM Identity Center: - ${user:AD_GUID}
- Format: - basic
 
- groups - User attribute in the application: - groups
- Maps to this string value or user attribute in IAM Identity Center: - ${user:groups}
- Format: - basic
 
 
- 定义了 id 和 groups 这两个属性后,选择 Save changes。 
配置 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>'