openstack keystone 添加工程以及用户

时间:2023-02-03 22:22:24

keystone用户管理可以通过rest api进行,也可以通过相关的命令行进行。


python-keystone是keystone认证组件的一个客户端,提供了两种使用方式,(1)python编程接口 (2)命令行接口


# Using token auth env variables
export SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0/
export SERVICE_TOKEN=secrete_token
keystone user-list
keystone tenant-create --name=demo

# Using token auth flags
keystone --token=secrete --endpoint=http://127.0.0.1:35357/v2.0/ user-list
keystone --token=secrete --endpoint=http://127.0.0.1:35357/v2.0/ tenant-create --name=demo

# Using user + password + tenant_name env variables
export OS_USERNAME=admin
export OS_PASSWORD=secrete
export OS_TENANT_NAME=admin
keystone user-list
keystone tenant-create --name=demo

# Using user + password + tenant_name flags
keystone --os_username=admin --os_password=secrete --os_tenant_name=admin user-list
keystone --os_username=admin --os_password=secrete --os_tenant_name=admin tenant-create --name=demo





1. 添加工程(tenant)

curl -X POST -d '{"tenant":{"name":"cmdtest", "description":"cmdtest", "enabled":true}}' -H "Content-type:application/json" -H "X-Auth-Token:admin's pass" ipaddr:35357/v2.0/tenants

输出:

{"tenant": {"enabled": true, "description": "cmdtest", "name": "cmdtest", "id": "c942ad8c5fb74d40aadd2f644f4039c7"}}


2. 添加用户(user)

curl -X POST -d '{"user":{"name":"cmdtest","email":"cmdtest@163.com", "enabled":true, "password":"cmdtest", "tenantId":"c942ad8c5fb74d40aadd2f644f4039c7"}}' -H "Content-type:application/json" -H "X-Auth-Token:admin's pass" ipaddr:35357/v2.0/users|python -mjson.tool

输出:

 "user": {
"email": "cmdtest@163.com",
"enabled": true,
"id": "fbd484c650af4e3e90215144406fd44f",
"name": "cmdtest",
"password": "$6$rounds=40000$f05wTNwwnwQbWW3/$swn2ZE3.FQfajIdlKfuFXTFUacyoJBlb7eIkG6UwP68c/bl/ULT2ORq7iKCvM/DEvUTmvlDPJdM8i1LFxULqN/",
"tenantId": "c942ad8c5fb74d40aadd2f644f4039c7"
}