AWS IAM Identity Center 为与 AWS 资源(例如 EC2 实例或 S3 存储桶)交互的用户提供 SSO 身份管理。您可以将 AWS IAM 作为 SAML 身份提供商集成到 Cloudflare Zero Trust 中,从而允许用户使用其 AWS 凭据向 Zero Trust 进行身份验证。
- 对 IAM Identity Center 组织实例 ↗具有管理员访问权限
将 AWS IAM 设置为身份提供商(SAML)的步骤:
-
打开您的 IAM Identity Center 控制台 ↗,前往 Applications(应用程序)。
-
选择 Customer managed(客户托管) 选项卡。
-
选择 Add application(添加应用程序)。
-
选择 I have an application I want to set up(我有一个要设置的应用程序)。
-
对于 Application type(应用程序类型),选择 SAML 2.0。
-
选择 Next(下一步)。
-
为应用程序输入 Display name(显示名称)(例如
Cloudflare One)。 -
下载 IAM Identity Center SAML metadata file(IAM Identity Center SAML 元数据文件)。在后续步骤中配置 Cloudflare One 身份提供商时,您将需要此文件。
-
在 Application metadata(应用程序元数据) 下,选择 Manually type your metadata values(手动输入元数据值)。
-
在 Application ACS URL(应用程序 ACS URL) 和 Application SAML audience(应用程序 SAML 受众) 中,输入以下 URL:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback您可以在 Cloudflare 仪表板 ↗ 的 Settings(设置)> Team name and domain(团队名称和域名)> **Team name(团队名称)**下找到您的团队名称。
-
选择 Submit(提交)。
-
接下来,选择 Actions(操作) 下拉菜单,然后选择 Edit attribute mappings(编辑属性映射)。
-
对于
Subject用户属性,输入${user:email}。 -
(推荐)添加用户名属性:
| 用户属性 | 字符串值 |
|---|---|
name |
${user:name} |
surName |
${user:familyName} |
| givenName | ${user:givenName} |
-
选择 Save changes(保存更改)。
-
在 Assign users and groups(分配用户和组) 下,添加应被允许登录 Cloudflare One 的个人和/或组。
-
在 Cloudflare 仪表板 ↗中,前往 Zero Trust > Integrations(集成) > Identity providers(身份提供商)。
-
在 Your identity providers(您的身份提供商) 下,选择 Add new identity provider(添加新的身份提供商)。
-
选择 SAML。
-
为 IdP 集成输入一个 Name(名称)(例如
AWS)。 -
上传您在步骤 8 中下载的 IAM Identity Center SAML 元数据文件。
-
选择 Save(保存)。
要测试连接是否正常,请选择 Test(测试)。
{
"config": {
"issuer_url": "https://portal.sso.eu-central-1.amazonaws.com/saml/assertion/b2yJrC4kjy3ZAS0a2SeDJj74ebEAxozPfiURId0aQsal3",
"sso_target_url": "https://portal.sso.eu-central-1.amazonaws.com/saml/assertion/b2yJrC4kjy3ZAS0a2SeDJj74ebEAxozPfiURId0aQsal3",
"attributes": ["email"],
"email_attribute_name": "email",
"sign_request": true,
"idp_public_certs": [
"MIIDpDCCAoygAwIBAgIGAV2ka+55MA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEG\nA1UEC.....GF/Q2/MHadws97cZg\nuTnQyuOqPuHbnN83d/2l1NSYKCbHt24o"
]
},
"type": "saml",
"name": "AWS IAM SAML example"
}