You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Vault CLI创建具备全只读权限的UI登录用户

如何通过Vault CLI创建只读UI登录用户(可集成到BASH脚本)

以下是针对全新安装的HashiCorp Vault,通过CLI创建用户名密码登录的UI只读用户的操作步骤,所有命令可直接集成到BASH脚本中:

操作步骤

1. 启用Userpass认证引擎

全新Vault默认未启用用户名密码认证,需先开启userpass认证方法:

vault auth enable userpass

2. 创建并加载完全只读策略

创建覆盖所有路径的只读策略,允许用户读取和列出所有Vault资源:

# 生成临时策略文件
cat > /tmp/readonly-policy.hcl << EOF
path "*" {
  capabilities = ["read", "list"]
}
EOF

# 将策略写入Vault
vault policy write readonly /tmp/readonly-policy.hcl

# 清理临时文件
rm /tmp/readonly-policy.hcl

3. 创建关联只读策略的UI用户

创建用户并绑定上述只读策略,设置登录密码:

# 定义用户名和密码(建议通过环境变量传递密码,避免硬编码)
VAULT_USER="readonly-ui-user"
VAULT_USER_PASSWORD="your-secure-password"

# 创建用户
vault write auth/userpass/users/$VAULT_USER password="$VAULT_USER_PASSWORD" policies=readonly

完整可复用BASH脚本

#!/bin/bash

# 配置Vault连接参数(根据实际环境修改)
export VAULT_ADDR="http://localhost:8200"
export VAULT_TOKEN="your-root-token"

# 1. 启用userpass认证引擎
echo "Enabling userpass authentication method..."
vault auth enable userpass

# 2. 创建只读策略
echo "Creating and loading readonly policy..."
cat > /tmp/readonly-policy.hcl << EOF
path "*" {
  capabilities = ["read", "list"]
}
EOF

vault policy write readonly /tmp/readonly-policy.hcl
rm /tmp/readonly-policy.hcl

# 3. 创建UI登录用户
VAULT_USER="readonly-ui-user"
# 安全提示:生产环境建议通过交互式输入或环境变量传递密码
read -s -p "Enter password for $VAULT_USER: " VAULT_USER_PASSWORD
echo

echo "Creating user $VAULT_USER with readonly permissions..."
vault write auth/userpass/users/$VAULT_USER password="$VAULT_USER_PASSWORD" policies=readonly

echo "Success! You can now log into Vault UI using username: $VAULT_USER"

注意事项

  • 确保VAULT_ADDR和VAULT_TOKEN已正确设置,对应你的Vault服务器地址和root令牌
  • 生产环境不要硬编码密码,建议使用环境变量(如export VAULT_USER_PASSWORD="xxx")或交互式输入(脚本中已包含read -s方式)
  • 该策略赋予用户所有路径的read和list权限,符合"完全只读"的需求
  • 执行脚本前需确认Vault CLI已正确安装并能连接到Vault服务

内容的提问来源于stack exchange,提问作者Traiano Welcome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 23:51:07