网站推广可采用的方法有哪些,网站设计需要什么证,网站设计方案范本,企业自己做网站本节书摘来自异步社区《OpenStack云计算实战手册#xff08;第2版#xff09;》一书中的第1章#xff0c;第1.7节,作者#xff1a; 【英】Kevin Jackson , 【美】Cody Bunch 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.7 添加用户 在OpenStack身份认证服务中… 本节书摘来自异步社区《OpenStack云计算实战手册第2版》一书中的第1章第1.7节,作者 【英】Kevin Jackson , 【美】Cody Bunch 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.7 添加用户 在OpenStack身份认证服务中添加用户时必须要有一个能容纳该用户的租户还需要定义一个能分配给该用户的角色。在本节中创建了两个用户。第一个用户名为admin它在cookbook租户中被分配为admin角色。第二个用户名为demo同样在cookbook租户中它被分配为Member角色。 准备工作在开始之前必须确认已经登录到已经安装了OpenStack身份认证服务的OpenStack控制节点上或者有一个已经连接到安装了OpenStack身份认证服务的服务器上的Ubuntu客户端。 执行以下命令登录到使用Vagrant创建的OpenStack控制节点 vagrant ssh controller如果keystone客户端工具尚未安装可以通过如下命令在Ubuntu客户端上安装以便管理我们的OpenStack身份认证服务 sudo apt-get update
sudo apt-get -y install python-keystoneclient确保已经设置了正确的环境变量能访问到OpenStack环境。 export ENDPOINT172.16.0.200
export SERVICE_TOKENADMIN
export SERVICE_ENDPOINThttp://${ENDPOINT}:35357/v2.0操作步骤要在OpenStack环境中创建用户需要执行如下步骤。 1如果要在cookbook租户中创建一个用户首先要获得cookbook租户的ID。通过keystone命令指定tenant-list选项就可以得到该ID然后将其存储在TENANT_ID变量中命令如下所示 TENANT_ID$(keystone tenant-list \ | awk /\ cookbook\ / {print $2})2现在已经得到了租户的ID。接下来用如下命令在cookbook租户中创建admin用户注意要使用user-create选项还需要为该用户设置密码 PASSWORDopenstack
keystone user-create \ --name admin \ --tenant_id $TENANT_ID \ --pass $PASSWORD \ --email rootlocalhost \ --enabled true输出如图1-4所示。 3在创建admin用户时为了赋予它admin角色需要先获得admin角色的ID。和第一步中查找租户ID的方法相似用role-list选项取出admin角色的ID然后将其存储在一个变量里。 ROLE_ID$(keystone role-list \ | awk /\ admin\ / {print $2})4为了将角色赋予admin用户需要用到创建admin用户时返回的用户ID。执行如下的keystone命令通过usr-list选项列出所有的用户从而得到admin用户的ID USER_ID$(keystone user-list \ | awk /\ admin\ / {print $2})5最后根据租户ID、用户ID以及对应的角色ID通过user-role-add选项把角色赋予对应的用户。 keystone user-role-add \ --user $USER_ID \ --role $ROLE_ID \ --tenant_id $TENANT_ID提示 注意成功执行该命令之后是没有输出的。6为了管理整个环境admin用户也需要在admin租户中。为此需要获得admin租户的ID并使用新租户的ID重复前面的步骤 ADMIN_TENANT_ID$(keystone tenant-list \ | awk /\ admin\ / {print $2})
keystone user-role-add \ --user $USER_ID \ --role $ROLE_ID \ --tenant_id $ADMIN_TENANT_ID7接下来要在cookbook租户里创建一个demo用户并赋予其Member角色类似前5步命令如下所示 # Get the cookbook tenant ID
TENANT_ID$(keystone tenant-list \ | awk /\ cookbook\ / {print $2}) # Create the user
PASSWORDopenstack
keystone user-create \ --name demo \ --tenant_id $TENANT_ID \ --pass $PASSWORD \ --email demolocalhost \ --enabled true # Get the Member role ID
ROLE_ID$(keystone role-list \ | awk /\ Member\ / {print $2}) # Get the demo user ID
USER_ID$(keystone user-list \ | awk /\ demo\ / {print $2}) # Assign the Member role to the demo user in cookbook
keystone user-role-add \ --user $USER_ID \ --role $ROLE_ID \ --tenant_id $TENANT_ID工作原理在向OpenStack身份认证服务里添加用户之前必需先创建该用户对应的租户和角色。创建好之后需要取得它们的ID通过身份认证服务的命令行客户端程序将其和对应的用户关联起来。要注意同一个用户可以同时是多个租户的成员并且在不同的租户里可以被赋予不同的角色。 创建用户的命令选项是user-create语法如下所示 keystone user-create \ --name user_name \ --tenant_id TENANT_ID \ --pass password \ --email email_address \ --enabled trueuser_name属性可以是任意名称但不能包含空格。password属性是必需的在之前的例子里它们都被设为openstack。email_address属性也是必需的。 赋予一个用户某个角色的命令选项是user-role-add语法如下所示 keystone user-role-add \ --user USER_ID \ --role ROLE_ID \ --tenant_id TENANT_ID这表示在赋予角色之前必须先取得用户的ID、角色的ID及租户的ID。这些ID可以通过如下命令得到 keystone tenant-list
keystone role-list
keystone user-list