[comment]: # ({a10a0db0-430c433d})
# 11 使用OKTA进行SAML设置

本节介绍如何配置Okta，为Zabbix启用SAML 2.0身份验证。

[comment]: # ({/a10a0db0-430c433d})

[comment]: # ({c6234ca7-012c5d63})
#### OKTA配置

1\. 访问https://okta.com并注册或登录您的账户。

2\. 在Okta web 界面中，导航至 *Applications（应用程序） →
Applications（应用程序）*，然后按"Add Application（添加应用程序）" 按钮
(![](../../../../assets/zh/manual/appendix/install/okta_add_app.png)).

3\. 按 "Create New
App（创建应用集）"按钮(![](../../../../assets/zh/manual/appendix/install/okta_create_app.png)).
在弹出窗口中，选择*Platform（平台）:* Web, *Sign on method（登录方法）:*
SAML 2.0，然后按"Create（创建）"按钮。

![](../../../../assets/zh/manual/appendix/install/okta_app1.png){width="600"}

4\. 根据您的喜好填写*General settings（常规设置）*选项卡
(出现第一个选项卡)中的字段，然后按"Next（下一步）"。

5\. 在*Configure SAML（配置SAML）*选项卡中，输入以下提供的值，然后按
"Next（下一步）".

-   在**GENERAL（常规）**部分中：
    -   *Single sign on URL（登录URL）*:
        https://<your-zabbix-url>/ui/index\_sso.php?acs\
        选中 *Use this for Recipient URL and Destination
        URL（用于接收URL和目标URL）*的复选框。
    -   *Audience URI (SP Entity ID)*: zabbix\
        注意，此值将在 SAML
        声明中用作唯一的服务提供者标识符(如果不匹配，则将拒绝该操作)。
        可在此字段中指定URL或任何数据字符串。
    -   *Default RelayState*:\
        将此字段留空；如果需要自定义重定向，则可以在Zabbix的*Administration（管理）
        → Users（用户）* 设置中添加它。
    -   根据您的喜好填写其它字段。

![](../../../../assets/zh/manual/appendix/install/okta_app2.png)

::: noteclassic

如果计划使用加密连接，请生成专用和公用加密证书，然后将公用证书上传到Okta。
当*Assertion
Encryption（断言加密）*设置为“已加密”时，将显示证书上传表单(单击 *Show
Advanced Settings（显示高级设置）*以找到此参数). 
:::

-   在**ATTRIBUTE STATEMENTS (OPTIONAL)**
    部分中，添加带有以下内容的属性语句：
    -   *Name（名称）:* 输入您的电子邮箱名称
    -   *Name format（名称格式）:* Unspecified
    -   *Value（值）:* 输入您的电子邮箱地址

![](../../../../assets/zh/manual/appendix/install/okta_app3.png)

6\. 在下一个选项卡中，选择 "I'm a software vendor. I'd like to integrate
my app with Okta"，然后按 "Finish".

7\. 现在，导航到 *Assignments（分配）* 选项卡，然后按
"Assign（指定）"按钮，然后从下拉菜单中选择*Assign to People*。

![](../../../../assets/zh/manual/appendix/install/okta_assign.png)

8\. 在弹出窗口中，将创建的应用分配给将使用SAML
2.0与Zabbix进行身份验证的人员，然后按 "Save and go back".

9\. 导航到 *Sign On（登录）* 选项卡，然后按 "View Setup Instructions"
按钮。设置说明将显示在新选项卡中；在配置Zabbix时，请保持此标签打开。

![](../../../../assets/zh/manual/appendix/install/okta_setup.png)

[comment]: # ({/c6234ca7-012c5d63})

[comment]: # ({57810d43-81a4bfa0})
#### Zabbix 配置

1\. 在Zabbix中，进入 *Administration → Authentication*
部分中的SAML设置，然后将信息从Okta设置说明复制到相应的字段中：

-   身份提供者单点登录 URL → SSO 服务 URL
-   身份提供商发布者 → IdP entity ID
-   用户名属性 → 属性名（usrEmail）
-   SP实体ID → 受众URI

2\. 将Okta设置说明页面中提供的证书作为idp.crt下载到*ui/conf/certs*
文件夹中，并通过运行以下命令设置权限644：

    chmod 644 idp.crt

请注意，如果您已从旧版本升级到Zabbix
5.0，则还需要手动将这些行添加到zabbix.conf.php文件(位于 //ui/conf/ //
目录):

    // 用于SAML身份验证
    $SSO['SP_KEY'] = 'conf/certs/sp.key'; // 您的私钥路径
    $SSO['SP_CERT'] = 'conf/certs/sp.crt'; // 您的公钥路径
    $SSO['IDP_CERT'] = 'conf/certs/idp.crt'; // idp公钥路径
    $SSO['SETTINGS'] = []; // 其它设置

有关更多详细信息，请参见通用的[SAML
身份验证](/zh/manual/web_interface/frontend_sections/administration/authentication#saml_authentication)
说明。

3\. 如果在Okta中将 *Assertion Encryption* 设置为Encrypted,
则还应在Zabbix中标记 *Encrypt*参数的复选框 "Assertions"。

![](../../../../assets/zh/manual/appendix/install/okta_zabbix.png)

4\. 按 "Update" 按钮保存这些设置。

::: noteclassic
 要使用SAML登录,
Zabbix中的用户别名应与他的Okta电子邮件匹配。可以在Zabbix Web界面的
*Administration → Users*部分中更改此设置。
:::

[comment]: # ({/57810d43-81a4bfa0})
