《OpenStack云计算实战手册(第2版)》——1.9 配置服务的租户和服务的用户

1.9 配置服务的租户和服务的用户

服务端点创建完成以后,接下来配置它们以便其他OpenStack服务能够调用它们。为此,要为每个服务都配置一个特定的service租户,并指定对应的用户名和密码。这样的目的是保证更高的安全性、以及用来为云环境做故障排除和审计等工作。对于每一个需要OpenStack身份认证服务来验证和授权的服务,都需要在该服务启动之前,在其相关的配置文件里详细写明用于Keystone验证的用户名和密码。例如,glance服务是在/etc/glance/glance-registry-api.ini文件中指定,当OpenStack身份认证服务使用时,必须与之前创建的相匹配。

[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host = 172.16.0.200
service_port = 5000
auth_host = 172.16.0.200
auth_port = 35357
auth_protocol = http
auth_uri = http://172.16.0.200:5000/
admin_tenant_name = service
admin_user = glance
admin_password = glance

准备工作
在开始之前,必须确认已经登录到已经安装了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 ENDPOINT=172.16.0.200
export SERVICE_TOKEN=ADMIN
export SERVICE_ENDPOINT=http://${ENDPOINT}:35357/v2.0

操作步骤
要配置一个合适的服务租户,需要执行如下步骤。

1.创建服务租户,命令如下所示:

keystone tenant-create \
   --name service \
   --description "Service Tenant" \
   --enabled true

输出如图1-6所示。

2.记录下服务租户的ID,以方便后面使用。

SERVICE_TENANT_ID=$(keystone tenant-list \
   | awk '/\ service\ / {print $2}')

3.对于本节中的所有服务,都会为其创建一个用户账户,用户名和密码都和服务名称一致。例如,会在服务租户里用user-create选项创建一个用户名和密码均为nova的用户,命令如下所示:

keystone user-create \
   --name nova \
   --pass nova \
   --tenant_id  $SERVICE_TENANT_ID \
   --email nova@localhost \
   --enabled true

输出如图1-7所示。

4.重复上一步,继续为其他用到OpenStack身份认证功能的服务创建用户。

keystone user-create \
   --name glance
   --pass glance \
   --tenant_id $SERVICE_TENANT_ID \
   --email glance@localhost \
   --enabled true

keystone user-create \
   --name keystone \
   --pass keystone \
   --tenant_id $SERVICE_TENANT_ID \
   --email keystone@localhost \
   --enabled true

keystone user-create \
   --name cinder \
   --pass cinder \
   --tenant_id $SERVICE_TENANT_ID \
   --email cinder@localhost \
   --enabled true

5.现在为这些服务租户里的用户分配admin角色。为此,需要先取得nova用户的用户ID,然后在用user-role-add选项来分配角色。例如,为了将admin角色分配给服务租户里的nova用户,命令如下所示:

# Get the nova user id  
NOVA_USER_ID=$(keystone user-list \
   | awk '/\ nova\ / {print $2}')  

# Get the admin role id
ADMIN_ROLE_ID=$(keystone role-list\
   | awk '/\ admin\ / {print $2}')  

# Assign the nova user the admin role in service tenant
keystone user-role-add\
   --user $NOVA_USER_ID\
   --role $ADMIN_ROLE_ID\
   --tenant_id $SERVICE_TENANT_ID

6.接下来,重复上一步,继续为其他服务租户(glance、keystone和cinder用户)分配角色。

# Get the glance user id
GLANCE_USER_ID=$(keystone user-list\
   | awk '/\ glance\ / {print $2}')

# Assign the glance user the admin role in service tenant
keystone user-role-add\
   --user $GLANCE_USER_ID\
   --role $ADMIN_ROLE_ID\
   --tenant_id $SERVICE_TENANT_ID

# Get the keystone user id
KEYSTONE_USER_ID=$(keystone user-list\
   | awk '/\ keystone\ / {print $2}')

# Assign the keystone user the admin role in service tenant
keystone user-role-add\
   --user $KEYSTONE_USER_ID\
   --role $ADMIN_ROLE_ID\
   --tenant_id $SERVICE_TENANT_ID

# Get the cinder user id
CINDER_USER_ID=$(keystone user-list\
   | awk '/\ cinder \ / {print $2}')

# Assign the cinder user the admin role in service tenant
keystone user-role-add\
   --user $CINDER_USER_ID\
   --role $ADMIN_ROLE_ID\
   --tenant_id $SERVICE_TENANT_ID

工作原理
创建服务租户,然后在其中添加OpenStack运行必需的各个服务的用户,这两步操作和在系统中添加需要admin角色的其他用户没什么不同。为每个拥有admin角色的用户分配用户名和密码,并确保它们存在于服务租户内。然后,使用这些凭证来配置服务OpenStack 的身份认证服务。

时间: 2024-09-19 09:38:58

《OpenStack云计算实战手册(第2版)》——1.9 配置服务的租户和服务的用户的相关文章

《OpenStack云计算实战手册(第2版)》一2.3 用MySQL配置OpenStack镜像服务

2.3 用MySQL配置OpenStack镜像服务 OpenStack云计算实战手册(第2版) 默认情况下,OpenStack镜像服务,即Glance,被配置使用本地SQL数据库存储.为了弹性扩展,必须配置一个中心的.可扩展且更具可靠的数据库层.因此,可使用MySQL数据库来达到这个目的. 准备工作 请在开始前确认已经登录到一个已经安装了OpenStack镜像服务的服务器上. 登录到使用Vagrant创建的OpenStack控制节点,执行以下命令: vagrant ssh controller

《OpenStack云计算实战手册(第2版)》一1.4 安装OpenStack身份认证服务

1.4 安装OpenStack身份认证服务 OpenStack云计算实战手册(第2版) 我们将会使用Ubuntu Cloud Archive安装和配置OpenStack身份认证服务,也就是Keystone项目.配置完成之后,连接到OpenStack云环境都需经过这里所安装的OpenStack身份认证服务. OpenStack身份认证服务的默认后台数据库是MySQL数据库. 准备工作 为保证运行的是Ubuntu Cloud Archive,必须配置Ubunut 12.04安装使用该服务. 我们将配

《OpenStack云计算实战手册(第2版)》一1.1 介绍

1.1 介绍 OpenStack云计算实战手册(第2版) OpenStack身份认证服务(Identity Service),即Keystone,是为OpenStack云环境中的用户的账户和角色信息提供认证和管理服务的.这是一个关键的服务,OpenStack云环境中所有服务之间的鉴权和认证都需要经过它,所以它也是OpenStack环境中第一个安装的服务.经OpenStack身份认证服务认证通过之后,它会返回一个在OpenStack各个服务之间传输用的鉴权密钥.接下来就可以用这个密钥来为某个具体服

《OpenStack云计算实战手册(第2版)》一导读

前 言 OpenStack云计算实战手册(第2版) OpenStack是一个用于构建公有云和私有云的开源软件.它是一个全球性的成功,由全球数千名人员开发和支持,并得到当今云计算领域巨头的鼎力支持. 本书设计的初衷在于帮助读者快速上手OpenStack,在理解的基础上将OpenStack更有信心地应用到自己的数据中心. 从VirtualBox中的测试安装,到使用Razor和Chef自动化安装脚本在产品环境中扩容,本书涵盖了安装和配置一个私有云的各种内容. 如何安装和配置OpenStakc的所有核心

《OpenStack云计算实战手册(第2版)》一第1章 Keystone OpenStack身份认证服务

第1章 Keystone OpenStack身份认证服务 OpenStack云计算实战手册(第2版) 本章将讲述以下内容: 使用VirtualBox和Vagrant创建一个沙盒环境 配置Ubuntu Cloud archive 安装OpenStack身份认证服务 创建租户 配置角色 添加用户 定义服务端点 配置服务对应的租户和用户

《OpenStack云计算实战手册(第2版)》一1.5 创建租户

1.5 创建租户 OpenStack云计算实战手册(第2版) 一个租户(tenant)在OpenStack里就是一个项目.在创建一个用户时必须首先为该用户分配一个租户,否则将无法创建此用户,所以首先要创建租户.在这一节中,将为用户创建一个名为cookbook的租户. 准备工作 在开始之前,必须确认已经登录到已经安装了OpenStack身份认证服务的OpenStack控制节点上,或者有一个已经连接到安装了OpenStack身份认证服务的服务器上的Ubuntu客户端. 执行以下命令,登录到使用Vag

《OpenStack云计算实战手册(第2版)》一1.6 配置角色

1.6 配置角色 OpenStack云计算实战手册(第2版) 角色是分配给一个租户中的用户的权限.在这里配置两个角色,一个用于管理云环境的admin角色和另一个用于分配给使用云环境的普通用户的Member角色. 准备工作 在开始之前,必须确认已经登录到已经安装了OpenStack身份认证服务的OpenStack控制节点上,或者有一个已经连接到安装了OpenStack身份认证服务的服务器上的Ubuntu客户端. 登录到使用Vagrant创建的OpenStack控制节点,执行以下命令: vagran

《OpenStack云计算实战手册(第2版)》一1.3 配置Ubuntu Cloud Archive

1.3 配置Ubuntu Cloud Archive OpenStack云计算实战手册(第2版)Ubuntu 12.04 LTS(本书使用的版本)提供两个可安装OpenStack的资源库.标准资源库所配置的是Essex版,本书写作时已可以通过设置Ubuntu Cloud Archive支持Grizzly版.我们下面将使用Ubuntu Cloud Archive提供的Grizzly发布版本来安装和配置OpenStack身份认证服务(以及其他服务). 准备工作确保登录到安装OpenStack身份认证

《OpenStack云计算实战手册(第2版)》一2.8 查看共享镜像

2.8 查看共享镜像 OpenStack云计算实战手册(第2版)当使用member-create选项时,可以查看为某个租户共享了哪些镜像,允许在OpenStack环境中管理和控制哪些用户可以访问什么类型的镜像. 准备工作要做这个实验,应确认已经登录到一台Ubuntu客户机,且已经具有glance工具.如果没有该工具,可通过以下方法安装: sudo apt-get update sudo apt-get -y install glance-client 为了保证环境变量设置正确,admin用户和密

《OpenStack云计算实战手册(第2版)》一2.6 注册远程存储的镜像

2.6 注册远程存储的镜像 OpenStack云计算实战手册(第2版)OpenStack镜像服务提供了一种机制,它可以远程添加一个存储在外部位置的镜像文件,利用这种机制,可以很方便地实现在私有云中使用第三方服务器中上传的镜像文件. 准备工作要做这个实验,应确认已经登录到一台Ubuntu 客户机,且已经具有glance工具.如果没有该工具,可通过以下方法安装: sudo apt-get update sudo apt-get -y install glance-client 为了保证环境变量设置正