更多技术文章,欢迎关注微信公众号:运维之美
前言:prometheus默认是没有用户密码登录认证的,对于部分环境可能会存在受攻击风险,那么怎么实现用户密码的身份验证呢?
1、对密码进行哈希处理
import getpass
import bcrypt
password = getpass.getpass("password: ")
hashed_password = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt())
print(hashed_password.decode())
执行脚本,生成加密密码
python gen_passwd.py
password:
$2b$12$9syG/ic5vGTiQmm1OlWWAeOkc071iVBrcrE/LyZZaeISr6h91DK
Bq #此处密码为test
2、增加身份认证配置文件
vim新建文件basic_auth.yaml
basic_auth_users:
prometheus: $2b$12$9syG/ic5vGTiQmm1OlWWAeOkc071iVBrcrE/LyZZaeISr6h91DKBq
3、增加密码认证的启动配置
修改prometheus的docker-compose配置文件
version: '3'
services:
prometheus:
image: prometheus:vcenter
container_name: prometheus
ports:
- "9090:9090"
volumes:
- /data/prometheus/data/:/data
- /data/prometheus/config/prometheus.yml:/data/prometheus.yml
- /data/prometheus/config/rule.yml:/data/rule.yml
- /data/prometheus/config/basic_auth.yaml:/data/basic_auth.yaml #挂载此配置文件
command:
- '--config.file=/data/prometheus.yml'
- --web.enable-lifecycle
- --web.config.file=/data/basic_auth.yaml #增加此配置开启认证
- --storage.tsdb.retention=90d
执行docker-compose up -d启动prometheus
[root@localhost prometheus]# docker-compose up -d
[+] Running 1/1
⠿ Container prometheus Started
登录prometheus验证,已经成功添加密码认证了
var code = "ca60e788-d985-44a5-80c9-d90e32394982"