有奖征文:轻量对象存储LighthouseCOS用户实践> HOT

操作场景

DataSight 是 CLS 日志服务提供的独立控制台,支持免腾讯云账号使用日志服务,支持自定义的账号密码登录或免登录。适用于多人多团队共用 CLS 日志服务的场景。该场景下,不同的用户需要频繁登录腾讯云控制台检索分析日志,会遇到以下问题:
账号管理成本高
运维人员需要频繁给申请人添加腾讯云账号,需要及时发现并清理离职人员的账号等。
权限安全管控风险大
需要给用户配置不同的权限,如果权限配置失误,导致普通用户具备了其他重要云产品资源的管理权限,误操作影响到业务怎么办?
功能访问路径深
开发人员查看日志或运营人员查看仪表盘的使用过程中登录验证频繁,且每次都需要从云产品菜单开始,数次跳转才能打开日志服务。期望可以打开即用,避免频繁登录和跳转。
说明:
DataSight 当前可免费使用。
DataSight 体验环境
账号:clsdemo
密码:DataSight123
免腾讯云账号使用日志服务的方式概览:
使用方式
功能支持
是否支持免腾讯云账号登录
开发工作量
账号权限管理
支持 CLS 的日志检索、仪表盘、告警功能
支持,独立部署,免密登录或密码鉴权登录
无/密码鉴权,支持多角色
只支持 Grafana 的仪表盘、告警功能
支持,数据接入 Grafana 使用
需要安装 CLS 插件
Grafana 的权限管理系统,支持多角色
其他旧方案:

功能特性

降低账号管理成本

用户不需要腾讯云账号,即可使用 CLS 日志服务。

降低权限安全管控风险

支持用户按角色授予不同的 CLS 日志服务访问权限。
即使权限配置错误也只影响 CLS 日志服务,不会影响其他云产品。
支持内网访问。

快捷的功能访问路径

支持账号密码登录、匿名登录、第三方认证登录等多种方式访问 CLS 日志服务。
支持通过访问地址快速打开、分享对应页面。

操作步骤

步骤一:创建 DataSight

1. 登录 日志服务 控制台,在概览页面,找到 DataSight,单击立即启用



2. 在实例配置页面,选择访问方式。支持公网与内网两种访问方式。
访问方式
说明
公网访问
公网访问支持从互联网访问 DataSight 查看分析日志。仅支持密码鉴权登录。
内网访问
前提条件:用户办公网与腾讯云通过物理专线、VPN 安全隧道等方式互联互通。
内网访问支持从腾讯云内网访问 DataSight 查看分析日志,互联网无法访问,更安全。支持密码鉴权登录、匿名登录等多种登录方式。

步骤二:创建子用户获取 SecretId、SecretKey

1. 登录 访问管理 控制台,在用户列表页面,单击新建用户
2. 选择自定义创建进入创建流程,再选择可访问资源并接收消息,单击下一步
3. 配置子用户信息,并勾选编程访问,单击下一步
4. 设置用户权限,选择从策略列表中选取策略关联。建议使用 CLS 只读访问权限策略 QcloudCLSReadOnlyAccess ,也可以根据需求自建策略,策略配置见 CLS 访问策略模板。配置完成后单击下一步



5. 配置用户标签后审阅角色信息,完成子用户创建。
6. 单击显示密钥,复制密钥信息。




步骤三:选择登录方式

密码鉴权登录
匿名登录
第三方认证登录
填写用户名、密码、以及用户权限对应的密钥后,保存配置。支持添加多个用户。
配置项
配置说明
用户名
登录 DataSight 的用户名
密码
登录 DataSight 的用户密码 ,密码要求8 ~ 30位字符,不能以" / "开头,至少包含:小写字母 a ~ z、大写字母 A ~ Z、数字0 ~ 9、()!@#$%^&*|?>< 中的三项
SecretId、SecretKey
腾讯云的 SecretId、SecretKey,决定了该 DataSight 用户的权限。获取方式见 创建子用户获取 SecretId、SecretKey

填入 SecretId、SecretKey 后保存配置。匿名登录仅内网访问支持,无需鉴权。建议使用只读权限的密钥,避免安全风险。
配置项
配置说明
SecretId、SecretKey
腾讯云的 SecretId、SecretKey,决定了匿名访问的权限。获取方式见 创建子用户获取 SecretId、SecretKey

DataSight 支持反向代理处理身份认证后访问,实现对接第三方身份认证系统(LDAP、OAuth 等)。第三方认证登录仅内网访问支持,配置步骤如下:


1. 创建 DataSight 角色
填写角色名称及角色权限对应的密钥信息。角色将与第三方身份认证系统的用户角色进行映射。
配置项
配置说明
角色名
DataSight 的角色名称
SecretId、SecretKey
腾讯云的 SecretId、SecretKey 决定了该 DataSight 角色的权限。获取方式见 创建子用户获取 SecretId、SecretKey
2. 配置反向代理并设置用户与 DataSight 角色的映射
2.1 准备一个 Nginx 环境用作反向代理
该反向代理必须可以访问 DataSight 所属的私有网络,同时需确保已安装 --with-http_auth_request_module 模块,可使用 nginx -V 命令可查看是否已存在该模块。1.12版本以上的 Nginx 默认安装该模块,如果没有安装,请升级 Nginx 版本或参考 ngx_http_auth_request_module 进行安装。
2.2 登录机器并配置反向代理,配置模板可参见 腾讯云日志服务 CLS DataSight 登录校验代理。目前提供 LDAP 与 Oauth 两种对接方式。
对接 LDAP
2.2.1 复制模板文件到本地
git clone https://github.com/TencentCloud/cls-datasight-demo.git
2.2.2 打开文件目录 cls-datasight-demo/auth-proxy/ldap 中的 nginx-ldap-auth.conf 文件,并按文档内的提示信息进行修改。
2.2.3 将修改后的 nginx-ldap-auth.conf 文件复制到 Nginx 配置文件中,然后重启 Nginx 服务。
cp nginx-ldap-auth.conf /etc/nginx/conf.d/nginx-ldap-auth.conf
## 请根据实际情况修改文件路径
systemctl restart nginx
## 重启Nginx服务
2.2.4 打开文件目录 cls-datasight-demo/auth-proxy/ldap 中的 .env 文件,按照注释指引,生成并配置 ENCRYPTION_KEY 环境变量。
5.在目录 auth-proxy/ldap 下运行 LDAP 校验模块、登录模块。
a. (推荐) 通过 docker 运行:
docker build -f Dockerfile-auth -t nginx-ldap-auth .
docker build -f Dockerfile-login -t nginx-ldap-login .
docker run -d -p 8888:8888/tcp --env-file ".env" nginx-ldap-auth
docker run -d -p 9000:9000/tcp --env-file ".env" nginx-ldap-login
b. 本地直接通过 Python 运行。如遇到安装依赖报错,请根据报错提示搜索相关依赖包文档解决。
python3 -m pip install python-ldap python-dotenv setuptools_rust cryptography
nohup python3 nginx-ldap-login.py >login.log 2>&1 &
nohup python3 nginx-ldap-auth.py >auth.log 2>&1 &
对接 OAuth
前提条件:本示例基于 Nginx + vouch-proxy 实现,需要已安装Nginx,并下载 vouch-proxy 到本地。您也可以根据实际情况使用其他 OAuth 校验软件,例如 oauth2-proxy
本示例使用 keycloak(通用 OIDC 协议) 作为 OAuth 提供商,如使用其他 OAuth 提供商请结合 vouch-proxy 官方指引,参考本示例修改使用。
2.2.1 复制模板文件到本地。
git clone https://github.com/TencentCloud/cls-datasight-demo.git
2.2.2 打开 cls-datasight-demo/auth-proxy/oauth/keycloak(oidc) 目录。其中 config.yml 是 vouch-proxy 配置文件,nginx-oauth-keycloak.conf 是 nginx 配置文件。
2.2.3 按文档内的提示信息修改 nginx-oauth-keycloak.conf 配置文件并复制到 Nginx 配置文件中,然后重启 Nginx 服务。
cp nginx-oauth-keycloak.conf /etc/nginx/conf.d/nginx-oauth-keycloak.conf
## 请根据实际情况修改文件路径
systemctl restart nginx
## 重启Nginx服务
2.2.4 按文档内的提示信息修改 config.yml,放到本地 vouch-proxy 的 config 文件夹中。
cp config.yml /root/vouch-proxy/config/config.yml
## 请按实际情况自行修改 vouch-proxy 的 config 文件路径
2.2.5 参考 vouch-proxy 指引运行 vouch 服务。推荐通过 docker 方式运行。
如果需要 vouch-proxy 使用本机网络访问 OAuth 服务,也可以在 docker run 时指定 --network=host。
docker run -d \\
-p 9090:9090 \\
-v ${PWD}/config:/config \\
quay.io/vouch/vouch-proxy
3. 填写反向代理的内网 IP
填写 Nginx 内网 IP 地址或 CIDR。支持填写多个,使用英文逗号分隔。

步骤四:登录 DataSight 查看日志

密码鉴权登录或匿名登录
云控制台概览页面查看 DataSight 管理列表,获取访问地址。在浏览器打开访问地址,登录 DataSight 使用日志服务。如果为密码鉴权登录,则需要在登录页面输入用户名与密码。






第三方认证登录
浏览器访问 Nginx 配置文件中配置的自定义域名,通过身份验证后登录 DataSight 控制台。

步骤五:让仪表盘订阅与告警通知的跳转链接默认打开 DataSight 控制台(可选)

1. 创建 订阅仪表盘,配置仪表盘链接为使用 DataSight 域名。保存后,发送的订阅仪表盘携带的链接将默认打开 DataSight。



2. 创建 告警通知渠道组,配置查询数据链接为使用 DataSight 域名。保存后,发送的告警通知携带的链接将默认打开 DataSight。




DataSight 场景案例

DataSight 权限配置