You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何为Proxmox API令牌设置必要的访问权限等级?

如何为Proxmox API令牌设置必要的访问权限等级?

嗨,我刚好折腾过类似的配置!你提到的这三个权限就是Zabbix监控Proxmox VE(通过HTTP API)需要的核心权限,确实Proxmox的GUI没法精细设置到这个层级,咱们直接用官方的命令行工具pveum来搞定就好。

首先明确需要的权限对应关系

你列出的检查项对应的权限要求很清晰:

  • 根路径/Sys.Audit:允许查看系统层面的审计信息
  • 存储路径/storageDatastore.Audit:允许查看存储相关的审计数据
  • 虚拟机路径/vmsVM.Audit:允许查看虚拟机的审计信息

具体操作步骤(在Proxmox节点的shell中执行)

  1. 创建Zabbix专用用户(如果还没创建的话)
    建议给Zabbix单独建一个用户,避免用管理员账号带来风险:

    pveum useradd zabbix-proxmox@pve
    

    这里的@pve是默认认证域,你可以根据自己的环境调整。

  2. 生成API令牌
    给刚才的用户创建一个API令牌,Zabbix会用这个令牌调用Proxmox API:

    pveum token add zabbix-proxmox@pve --tokenid zabbix-token
    

    执行完后会返回令牌密钥,记得立刻保存好,这个密钥只会显示一次!

  3. 添加所需权限
    你可以选择给用户添加权限(令牌会自动继承),或者单独给令牌设置权限,两种方式都给你列出来:

    方式1:给用户添加权限(推荐,权限继承逻辑更清晰)

    # 给用户添加根路径的Sys.Audit权限
    pveum aclmod / --user zabbix-proxmox@pve --roles Sys.Audit
    
    # 给用户添加存储路径的Datastore.Audit权限
    pveum aclmod /storage --user zabbix-proxmox@pve --roles Datastore.Audit
    
    # 给用户添加虚拟机路径的VM.Audit权限
    pveum aclmod /vms --user zabbix-proxmox@pve --roles VM.Audit
    

    方式2:单独给令牌设置权限

    如果不想让令牌继承用户的其他权限,可以直接给令牌单独配置:

    # 给令牌添加根路径的Sys.Audit权限
    pveum aclmod / --token zabbix-proxmox@pve!zabbix-token --roles Sys.Audit
    
    # 给令牌添加存储路径的Datastore.Audit权限
    pveum aclmod /storage --token zabbix-proxmox@pve!zabbix-token --roles Datastore.Audit
    
    # 给令牌添加虚拟机路径的VM.Audit权限
    pveum aclmod /vms --token zabbix-proxmox@pve!zabbix-token --roles VM.Audit
    
  4. 验证权限是否生效
    执行下面的命令可以查看已配置的ACL规则,确认权限是否正确添加:

    pveum acllist
    

这样配置完后,你的Zabbix模板就能正常通过API访问Proxmox的这些审计信息啦!

备注:内容来源于stack exchange,提问作者mr.zog

火山引擎 最新活动