Skip to content

Commit

Permalink
*: Add TiDB Dashboard session docs (#6711)
Browse files Browse the repository at this point in the history
  • Loading branch information
breezewish authored Jul 23, 2021
1 parent 35151f8 commit ca3d932
Show file tree
Hide file tree
Showing 22 changed files with 210 additions and 0 deletions.
3 changes: 3 additions & 0 deletions TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,9 @@
+ [使用示例](/dashboard/dashboard-diagnostics-usage.md)
+ [日志搜索页面](/dashboard/dashboard-log-search.md)
+ [实例性能分析页面](/dashboard/dashboard-profiling.md)
+ 会话管理与配置
+ [分享会话](/dashboard/dashboard-session-share.md)
+ [配置 SSO 登录](/dashboard/dashboard-session-sso.md)
+ [常见问题](/dashboard/dashboard-faq.md)
+ CLI
+ [tikv-ctl](/tikv-control.md)
Expand Down
56 changes: 56 additions & 0 deletions dashboard/dashboard-session-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: 分享 TiDB Dashboard 会话
summary: 了解如何将当前的 TiDB Dashboard 会话分享给其他用户访问。
---

# 分享 TiDB Dashboard 会话

你可以将当前的 TiDB Dashboard 会话安全地分享给其他用户访问,这样其他用户无需要知道登录账号密码即可访问 TiDB Dashboard 并进行操作。

## 分享者操作步骤

1. 登录 TiDB Dashboard。

2. 点击边栏左下角的用户名访问配置界面。

3. 点击**分享当前会话** (Share Current Session)。

![操作示例](/media/dashboard/dashboard-session-share-settings-1.png)

> **注意:**
>
> 出于安全考虑,已分享的会话中不能使用分享功能将该会话再次分享给其他人。
4. 在弹出的对话框中,对分享进行细节配置:

- 有效时间:分享的会话在多少时间内有效。登出当前会话不影响已分享会话的有效时间。

- 以只读权限分享:分享的会话为只读,例如不允许进行配置修改等操作。

5. 点击**生成授权码** (Generate Authorization Code)。

![操作示例](/media/dashboard/dashboard-session-share-settings-2.png)

6. 将生成出来的**授权码**提供给要分享的用户。

![操作示例](/media/dashboard/dashboard-session-share-settings-3.png)

> **警告:**
>
> 请妥善地保管授权码。不要将授权码分发给不受信任的用户,否则他们也将具备访问和操作 TiDB Dashboard 的能力。
## 受邀请者操作步骤

1. 在 TiDB Dashboard 登录界面上,点击**使用其他登录方式** (Use Alternative Authentication)。

![操作示例](/media/dashboard/dashboard-session-share-signin-1.png)

2. 选择使用**授权码** (Authorization Code) 登录。

![操作示例](/media/dashboard/dashboard-session-share-signin-2.png)

3. 输入从分享者取得的授权码。

4. 点击**登录** (Sign In)。

![操作示例](/media/dashboard/dashboard-session-share-signin-3.png)
151 changes: 151 additions & 0 deletions dashboard/dashboard-session-sso.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
title: 配置 TiDB Dashboard 使用 SSO 登录
summary: 了解如何配置 TiDB Dashboard 启用 SSO 登录。
---

# 配置 TiDB Dashboard 使用 SSO 登录

TiDB Dashboard 支持基于 [OIDC](https://openid.net/connect/) 协议的单点登录 (Single Sign-On)。配置 TiDB Dashboard 启用 SSO 登录后,你可以通过配置的 SSO 服务进行登录鉴权,无需输入 SQL 用户名和密码即可登录到 TiDB Dashboard。

## 配置 OIDC SSO

### 启用 SSO

1. 登录 TiDB Dashboard。

2. 点击边栏左下角的用户名访问配置界面。

3.**单点登录** (Single Sign-On) 区域下,开启**允许使用 SSO 登录到 TiDB Dashboard** (Enable to use SSO when sign into TiDB Dashboard)。

4. 在表单中填写 **OIDC Client ID****OIDC Discovery URL** 字段。

一般可以从 SSO 服务的提供商处获取到这两个字段信息:

- OIDC Client ID 有时也被称为 OIDC Token Issuer
- OIDC Discovery URL 有时也被称为 OIDC Token Audience。

5. 将 SQL 登录密码录入到 TiDB Dashboard 中,以便在 SSO 鉴权通过后完成登录。点击**授权登录为该用户** (Authorize Impersonation) 录入密码。

这是因为 TiDB Dashboard SSO 的原理是在 SSO 成功鉴权后,采用 TiDB Dashboard 内加密存储的 SQL 登录密码进行替代登录。

![操作示例](/media/dashboard/dashboard-session-sso-enable-1.png)

> **注意:**
>
> 你录入的密码将被加密存储。若 SQL 用户密码后续发生了变更,将导致 SSO 登录失败。这时可以重新录入密码使 SSO 登录恢复正常。
6. 在对话框中填写完密码后,点击**授权并保存** (Authorize and Save)。

![操作示例](/media/dashboard/dashboard-session-sso-enable-2.png)

7. 点击**更新** (Update) 保存配置。

![操作示例](/media/dashboard/dashboard-session-sso-enable-3.png)

至此 TiDB Dashboard 中已经成功开启了 SSO 登录。

> **注意:**
>
> 出于安全原因,部分 SSO 服务还需要你进一步在 SSO 服务中配置受信任的登录和登出跳转地址,请参见 SSO 服务的具体帮助完成配置。
### 禁用 SSO

你可以随时禁用 SSO。禁用后,之前已录入并存储在本地的替代登录 SQL 密码将被彻底清除。禁用步骤如下:

1. 登录 TiDB Dashboard。

2. 点击边栏左下角用户名访问配置界面。

3.**单点登录** (Single Sign-On) 区域下,关闭**允许使用 SSO 登录到 TiDB Dashboard** (Enable to use SSO when sign into TiDB Dashboard)。

4. 点击**更新** (Update) 保存配置。

![操作示例](/media/dashboard/dashboard-session-sso-disable.png)

### 密码发生变更后重新录入密码

若替代登录的 SQL 用户密码发生了变更,则 SSO 登录将会失败。此时,你可以将新的登录密码录入到 TiDB Dashboard 中以恢复正常 SSO 登录功能,步骤如下:

1. 登录 TiDB Dashboard。

2. 点击边栏左下角用户名访问配置界面。

3.**单点登录** (Single Sign-On) 区域下,点击**授权登录为该用户** (Authorize Impersonation) 来录入新的密码。

![操作示例](/media/dashboard/dashboard-session-sso-reauthorize.png)

4. 在对话框中填写完毕密码后,点击**授权并保存** (Authorize and Save)。

## 使用 SSO 登录

若 TiDB Dashboard 已经完成了 SSO 的配置,你可使用以下步骤完成登录:

1. 在 TiDB Dashboard 登录界面上,点击**使用公司账号 SSO 登录** (Sign in via Company Account)。

![操作示例](/media/dashboard/dashboard-session-sso-signin.png)

2. 在配置 SSO 的系统中进行登录。

3. 你将被重定向回 TiDB Dashboard 完成登录。

## 示例:使用 Okta 进行 TiDB Dashboard SSO 登录认证

[Okta](https://www.okta.com/) 是一个提供 OIDC SSO 的身份认证服务。以下步骤展示了如何配置 Okta 及 TiDB Dashboard,使得 TiDB Dashboard 可以通过 Okta 进行 SSO 登录。

### 步骤一:配置 Okta

首先需要在 Okta 中创建一个用于集成 SSO 的 Application Integration。

1. 访问 Okta 管理后台。

2. 点击左侧边栏的 **Applications** > **Applications**

3. 点击 **Create App Integration**

![操作示例](/media/dashboard/dashboard-session-sso-okta-1.png)

4. 在弹出的对话框中,**Sign-in method** 字段选择 **OIDC - OpenID Connect**

5. **Application Type** 字段选择 **Single-Page Application**

6. 对话框中点击 **Next** 按钮。

![操作示例](/media/dashboard/dashboard-session-sso-okta-2.png)

7. **Sign-in redirect URIs** 字段填写如下内容:

```
http://DASHBOARD_IP:PORT/dashboard/?sso_callback=1
```
以上内容中,将 `DASHBOARD_IP:PORT` 替换为你在浏览器中实际访问 TiDB Dashboard 所使用的域名(或 IP)及端口。
8. **Sign-out redirect URIs** 字段填写如下内容:
```
http://DASHBOARD_IP:PORT/dashboard/
```
类似地,将 `DASHBOARD_IP:PORT` 替换为实际的域名(或 IP)及端口。
![操作示例](/media/dashboard/dashboard-session-sso-okta-3.png)
9. 在 **Assignments** 中按你的实际需求配置组织中哪些用户可以通过这个 SSO 登录 TiDB Dashboard,然后点击 **Save** 保存配置。
![操作示例](/media/dashboard/dashboard-session-sso-okta-4.png)
### 步骤二:获取 TiDB Dashboard 所需的配置参数并填入 TiDB Dashboard
1. 在 Okta 创建的 App Integration 中,点击 **Sign On**。
![操作示例 1](/media/dashboard/dashboard-session-sso-okta-info-1.png)
2. **OpenID Connect ID Token** 区域中有 **Issuer** 和 **Audience** 字段,复制这两个字段的值。
![操作示例 2](/media/dashboard/dashboard-session-sso-okta-info-2.png)
3. 打开 TiDB Dashboard 配置界面,将上一步获取到的 **Issuer** 填入 **OIDC Client ID**,将 **Audience** 填入 **OIDC Discovery URL** 后,完成授权并保存配置。示例如下:
![操作示例 3](/media/dashboard/dashboard-session-sso-okta-info-3.png)
至此,TiDB Dashboard 已被配置为使用 Okta 进行 SSO 登录。
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/dashboard/dashboard-session-sso-okta-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/dashboard/dashboard-session-sso-okta-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/dashboard/dashboard-session-sso-okta-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/dashboard/dashboard-session-sso-okta-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/dashboard/dashboard-session-sso-signin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit ca3d932

Please sign in to comment.