本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用 SAML 与 Amazon Identity and Access Management
OpenSearch UI 支持安全断言标记语言 2.0(SAML),这是许多身份提供商使用的开放标准。这将启用与 Amazon Identity and Access Management (IAM) 的联合身份验证。有了这种支持,您的账户或组织中的用户可以通过担任 IAM 角色直接访问用户 OpenSearch 界面。您可以为最终用户创建由身份提供商启动 (IdP) 的单点登录体验,他们可以在外部身份提供商中进行身份验证,然后直接路由到您在 UI 中定义的页面。 OpenSearch 您还可以通过将最终用户或群组配置为扮演不同的 IAM 角色来实现精细的访问控制,这些角色具有不同的访问用户 OpenSearch 界面和相关数据源的权限。
本主题介绍 step-by-step如何通过 OpenSearch 用户界面配置 SAML 使用。在这些步骤中,我们以配置 Okta 身份和访问管理应用程序的步骤为例。其他身份提供商(例如 Azure Active Directory 和 Ping)的配置步骤类似。
主题
步骤 1:设置身份提供者应用程序 (Okta)
要使用带有 OpenSearch UI 的 SAML,第一步是设置您的身份提供商。
任务 1:创建 Okta 用户
-
以具有管理权限的用户身份登录您https://login.okta.com的
Okta 组织。 -
在管理员控制台的导航窗格的 “目录” 下,选择 “人员”。
-
选择 Add person(添加人员)。
-
在名字中,输入用户名字。
-
在姓氏中,输入用户姓氏。
-
在用户名称中,以电子邮件格式输入用户的用户名称。
-
选择我将设置密码并输入密码
-
(可选)如果您不希望用户在首次登录时更改密码,请清除 “用户必须在首次登录时更改密码” 复选框。
-
选择保存。
任务 2:创建和分配群组
-
以具有管理权限的用户身份登录您https://login.okta.com的
Okta 组织。 -
在管理员控制台的导航窗格目录下,选择群组。
-
选择添加组。
-
输入群组名称并选择 “保存”。
-
选择新创建的群组,然后选择 “分配人员”。
-
选择加号 (+),然后选择完成。
-
(可选)重复步骤 1—6 以添加更多群组。
任务 3:创建 Okta 应用程序
-
以具有管理权限的用户身份登录您https://login.okta.com的
Okta 组织。 -
在管理员控制台的导航窗格的 “应用程序” 下,选择 “应用程序”。
-
选择 Create App Integration(创建应用程序集成)。
-
选择 SAML 2.0 作为登录方法,然后选择 “下一步”。
-
输入应用程序集成的名称(例如
OpenSearch_UI
),然后选择 “下一步”。 -
在应用程序中输入以下值;您无需更改其他值:
-
1. 对于单点登录 URL,请输入
https://signin.aws.amazon.com/saml
商业 Amazon 区域或您所在地区的特定网址。 -
2. 对于受众 URI(SP 实体 ID)中,输入
urn:amazon:webservices
。 -
3. 对于 “姓名 ID 格式”,请输入
EmailAddress
。
-
-
选择下一步。
-
选择 “我是 Okta 客户,正在添加内部应用程序”,然后选择 “这是我们创建的内部应用程序”。
-
选择完成。
-
选择 “分配”,然后选择 “分配”。
-
选择 “分配给群组”,然后选择要添加的群组旁边的 “分配”。
-
选择完成。
任务 4:设置 Okta 高级配置
创建自定义 SAML 应用程序后,请完成以下步骤:
-
以具有管理权限的用户身份登录您https://login.okta.com的
Okta 组织。 在管理员控制台的 “常规” 区域中,选择 “SAML 设置” 下的 “编辑”。
-
选择下一步。
-
使用以下格式将 OpenSearch UI 端点的默认中继状态设置为:
https://
.region
.console.aws.amazon.com/aos/home?region=region
#opensearch/applications/application-id
/redirectToDashboardURL以下是示例:
https://us-east-2.console.aws.amazon.com/aos/home?region=us-east-2#opensearch/applications/abc123def4567EXAMPLE/redirectToDashboardURL
-
在 A tttribute Statements (option)(可选
-
使用 Role 属性以逗号分隔的格式提供 IAM 角色和身份提供商。在稍后的步骤中,您将在设置 Amazon 配置时使用相同的 IAM 角色和身份提供商。
-
将 user.login 设置为。RoleSessionName它用作代入角色时颁发的临时凭证的标识符。
供参考:
名称 名称格式 格式 示例 https://aws.amazon.com/SAML/Attributes/Role
未指定的内容
arn:aws:iam::
aws-account-id
:role/role-name,arn:aws:iam::aws-account-id
:saml-provider/provider-name
arn:aws:iam::111222333444:role/oktarole,arn:aws:iam::111222333444:saml-provider/oktaidp
https://aws.amazon.com/SAML/Attributes/RoleSessionName
未指定的内容
user.login
user.login
-
-
添加属性属性后,选择 “下一步”,然后选择 “完成”。
属性的格式应与下图中显示的属性相似。默认中继状态值是指在您的账户或组织中的最终用户完成 Okta 的单点登录验证后为他们定义登录页面的 URL。您可以将其设置为 OpenSearch UI 中的任何页面,然后将该 URL 提供给其目标最终用户。

步骤 2:设置 Okt Amazon a 的配置
要为 Okta 设置 Amazon 配置,请完成以下任务。
任务 1:收集 Okta 信息
在此步骤中,您需要收集 Okta 信息,以便以后可以在中 Amazon对其进行配置。
-
以具有管理权限的用户身份登录您https://login.okta.com的
Okta 组织。 -
在页面右下角的登录选项卡上,选择查看 SAML 设置说明。
-
记下身份提供商单点登录 URL(身份提供商单点登录 URL)的值。在连接到任何第三方 SQL 客户端(例如 SQL Workbench/J)时,您可以使用此 URL
。 -
使用区块 4 中的身份提供商元数据,然后将元数据文件保存为.xml 格式(例如,
metadata.xml
)。
任务 2:创建 IAM 提供者
要创建您的 IAM 提供者,请完成以下步骤:
登录到 Amazon Web Services Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格的访问管理下,选择身份提供商。
-
选择 Add provider(添加提供程序)。
-
对于提供商类型,请选择 SAML。
-
对于提供商名称,请输入一个名称。
-
对于元数据文档,选择选择文件并上传您之前下载的元数据文件 (.xml)。
-
选择 Add provider(添加提供程序)。
任务 3:创建 IAM 角色
要创建您的 Amazon Identity and Access Management 角色,请完成以下步骤:
登录到 Amazon Web Services Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格的 “访问管理” 下,选择 “角色”。
-
选择创建角色。
-
对于可信实体类型,请选择 SAML 2.0 联合。
-
对于基于 SAML 2.0 的提供者,选择您之前创建的身份提供者。
-
选择 “允许编程和 Amazon Web Services Management Console 访问”。
-
选择下一步。
-
在 “权限策略” 列表中,选中之前创建的策略和 “” 的复选框OpenSearchFullAccess。
-
选择下一步。
-
在 “查看” 区域的 “角色名称” 中,输入您的角色名称;例如,
oktarole
。 -
(可选)对于 D es cription(描述),输入角色用途的简要描述。
-
选择创建角色。
-
导航到您刚刚创建的角色,选择 “信任关系” 选项卡,然后选择 “编辑信任策略”。
-
在 “编辑语句” 窗格的 “为 STS 添加操作” 下,选中相应的复选框TagSession。
-
选择更新策略。
步骤 3:在 IAM 中创建亚马逊 OpenSearch 服务访问策略
本主题提供有关配置您的 IAM 角色以访问 OpenSearch 服务的信息。我们提供了两个群组Alice
和的示例Bob
,以演示如何通过 Okta 为您的用户组实现精细的访问控制。
您可以使用后端角色映射将 Amazon S OpenSearch ervice 域角色映射到 IAM 角色,如以下示例所示:
{ "bob-group": { "hosts": [], "users": [], "reserved": false, "hidden": false, "backend_roles": [ "arn:aws:iam::111222333444:role/bob-group" ], "and_backend_roles": [] }, "alice-group": { "hosts": [], "users": [], "reserved": false, "hidden": false, "backend_roles": [ "arn:aws:iam::111222333444:role/alice-group" ], "and_backend_roles": [] } }
步骤 4:使用 SAML 验证身份提供商启动的单点登录体验
打开 “默认中继状态” 的 URL 以打开 Okta 身份验证页面。输入最终用户的凭据。系统会自动将您重定向到 OpenSearch UI。
您可以通过选择导航面板底部的用户图标来检查您当前的凭证,如下图所示:

您还可以通过访问导航面板底部的开发者工具并在控制台中运行查询来验证用户的精细访问控制权限。以下是示例查询。