OpenStack API 管理使用 curl 的方式获取 admin 用户 token 值;使用已获取的 token 值通过 curl 的 方式获取 domain 为 default 所有用户名(ip 使用主机名)。
时间: 2024-11-03 12:18:33 浏览: 12
使用curl操作openstack swift.docx
OpenStack API 的管理通常涉及使用 keystone (身份服务) 来获取认证令牌。首先,你可以使用 `curl` 发送一个 HTTP 请求到 keystone 的 `/v3/auth/tokens` 路径,以获取 admin 用户的 token。示例命令如下:
```bash
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "admin",
"domain": {"id": "default"}, // 或者使用 "name": "Default"
"password": "your_admin_password"
}
}
},
"scope": {}
}
}' \
http://your_controller_ip:5000/v3/auth/tokens
```
这里的 `your_controller_ip` 需替换为你实际的 OpenStack 控制节点的 IP 地址,`your_admin_password` 替换为 admin 用户的实际密码。
获取了 token 后,你可以使用这个 token 在请求中添加 Authorization 头部来访问其他资源,比如获取用户列表。例如,获取默认 domain 下的所有用户名,可以使用类似下面的命令:
```bash
curl -H "Authorization: Bearer your_token" \
-X GET \
http://your_controller_ip:5000/v3/users?domain_id=default
```
这里 `your_token` 是之前获取的 admin 用户的 token。这个命令会返回所有 domain 为 "default" 的用户的详细信息,包括用户名。
阅读全文