OpenStack云第三天

  • 时间:
  • 浏览:3

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

service-create \ 

--name=glance \ 

--type=image \ 

--description="Glance Image Service"
 

 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

endpoint-create \ 

--region RegionOne \ 

--service_id=7d5258c490144c8c921005267785327c1 \ 

--publicurl=
http://192.168.206.1100:9292/v1 \ 

--internalurl=
http://192.168.206.1100:9292/v1 \ 

--adminurl=http://192.168.206.1100:9292/v1
 

 

定义EC2兼容服务: 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

service-create \ 

--name=ec2 \ 

--type=ec2 \ 

--description="EC2 Compatibility Layer"
 

 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

endpoint-create \ 

--region RegionOne \ 

--service_id=181cdad1d1264387bcc411e1c6a6a5fd \ 

--publicurl=
http://192.168.206.1100:8773/services/Cloud \ 

--internalurl=
http://192.168.206.1100:8773/services/Cloud \ 

--adminurl=http://192.168.206.1100:8773/services/Admin 

 

定义Object Storage服务: 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

service-create \ 

--name=swift \ 

--type=object-store \ 

--description="Object Storage Service" 

 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

endpoint-create \ 

--region RegionOne \ 

--service_id=272efad2d1234376cbb911c1e5a5a6ed \ 

--publicurl '
http://127.0.0.1:100100/v1/AUTH_%(tenant_id)s' \ 

--adminurl '
http://127.0.0.1:100100/' \ 

--internalurl 'http://127.0.0.1:100100/v1/AUTH_%(tenant_id)s' 

 

Keystone的日志文件为/var/log/keystone.log,机会需用排除可不还都都可以查看该文件。

在service租户中为用户glance分配admin的角色。 

$keystone --token 012345SECRET99TOKEN012345  \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

user-role-add \ 

--user 46b2667a71007483d983e0b4037a1623b \ 

--tenant_id eb7e0c10a99446cfa14c244374549e9d \ 

--role e3d9d157cc95410ea45d23bbbc2e5c10 

有些命令没哟输出。 

在Service租户中创建四个 多Nova Service用户: 

$keystone --token 012345SECRET99TOKEN012345  \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

user-create \ 

--tenant_id eb7e0c10a99446cfa14c244374549e9d \ 

--name nova \ 

--pass nova \ 

--enabled true 

 

在service租户中为nova用户分配admin的角色。 

$keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

user-role-add  \ 

--user 54b3776a8707834d983e0b4037b1345c  \ 

--tenant_id eb7e0c10a99446cfa14c244374549e9d  \ 

--role e3d9d157cc95410ea45d23bbbc2e5c10 

这条命令没哟输出。 

在Service租户中创建EC2 Service用户: 

$keystone --token 012345SECRET99TOKEN012345  \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

user-create  \ 

--tenant_id eb7e0c10a99446cfa14c244374549e9d  \ 

--name ec2  \ 

--pass ec2 \ 

--enabled true 

 

在service租户中为ec2用户分配admin的角色: 

$keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

user-role-add  \ 

--user 32e7668b8707834d983e0b4037b1345c  \ 

--tenant_id eb7e0c10a99446cfa14c244374549e9d \ 

--role e3d9d157cc95410ea45d23bbbc2e5c10 

这条命令没哟输出。 

在Service租户中创建Object Storage服务用户: 

$keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

user-create \ 

--tenant_id eb7e0c10a99446cfa14c244374549e9d \ 

--name swift \ 

--pass swiftpass  \ 

--enabled true 

 

在service租户中为swift用户分配admin的角色: 

$keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0 \ 

user-role-add \ 

--user 4346677b8909823e389f0b4037b1246e \ 

--tenant_id eb7e0c10a99446cfa14c244374549e9d \ 

--role e3d9d157cc95410ea45d23bbbc2e5c10 

这条命令没哟输出。 

后面 朋友 还需用创建服务的定义。 

为了使Keystone内置的S3 API与Swift兼容,请确保在keystone.conf文件中定义四个 多新的过滤器并启用: 

       定义过滤: 

[filter:s3_extension] 

paste.filter_factory = keystone.contrib.s3:S3Extension.factory 

        更新admin_api管道: 

将 

[pipeline:admin_api] 

pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension crud_extension admin_service 

更改为: 

[pipeline:admin_api] 

pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension s3_extension crud_extension admin_service 

2.3.定义服务 

Keystone还担任着服务编录的角色,为有些的OpenStack系统指定哪里有相关的API终端位置。尤其是OpenStack的控制面板(Dashborad)更需用有些编录的服务。 

译者备注:Keystone的服务编录例如于注册表,在这里朋友 把OpenStack所有服务的endpoint(终端)写入服务编录中,服务之间的调用需用经过Keystone的验证,并通过有些服务编录找到目标服务的终端(endpoint)位置。 

使用keystone定义服务的土法律法子有五种生活:

$keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

role-create \ 

--name memberRole 

 

通过uesr-role-add命令选项,在openstackDemo租户中为adminUser用户赋予admin的角色。 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0 \ 

user-role-add \ 

--user a4c2d43f100a549a19864c89d759bb3fe \ 

--tenant_id b5815b046cfe47bb891a7b64119e7f100 \ 

--role e3d9d157cc95410ea45d23bbbc2e5c10 

这条命令没哟输出。 

创建四个 多服务租户,有些租户中包括朋友 已知的所有服务的服务目录。 

$keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

tenant-create \ 

--name service \ 

--description "Service Tenant" \ 

--enabled true  

 

在Service租户中创建Glance Service用户,朋友 将在Keystone服务目录中为所有的服务都加带但是的用户。 

$keystone --token 012345SECRET99TOKEN012345  \ 

--endpoint   
http://192.168.206.1100:35357/v2.0  \ 

user-create  \ 

--tenant_id  eb7e0c10a99446cfa14c244374549e9d  \ 

--name glance \ 

--pass glance \ 

--enabled true 

一、基本概念 

身份认证服务包括四个 多主要功能: 

用户管理:时时跟踪用户以及用户被赋予了那先 权限。 

服务编录:提供一份可用服务的目录并可不还都都可以定位那先 服务的API。 

1.1 用户管理 

Identity用户管理包括四个 多主要概念:

三、验证 

安装curl,四个 多运行REST API请求的命令行工具,一齐还需用安装openssl,通过yum安装可不还都都可以正确处理依赖包难题: 

# yum  install  curl   openssl 

给你运行如下命令,确保你的Identity服务可不还都都可以正常工作: 

curl -d '{"auth": {"tenantName": "adminTenant", "passwordCredentials":{"username": "adminUser", "password": "secretword"}}}'   \ 

-H "Content-type:application/json" 
http://192.168.206.1100:35357/v2.0/tokens | python -mjson.tool 

作为adminUser用户,你将收到如下响应: 



"access": { 

"serviceCatalog": {}, 

"token": { 

"expires": "2012-04-12T00:40:12Z", 

"id": "cec610088d08747639c682ee5228106d1" 

}, 

"user": { 

"id": "6b0141904f094100d810a5949d79ea0f3", 

"name": "adminUser", 

"roles": [], 

"roles_links": [], 

"username": "adminUser" 







机会给你运行以下命令: 

curl -d '{"auth": {"tenantName": "openstackDemo", "passwordCredentials":{"username": "adminUser", "password": "secretword"}}}' \ 

-H "Content-type:application/json" 
http://192.168.206.1100:35357/v2.0/tokens
 | python -mjson.tool 

给你收到例如于如下的信息: 



"access": { 

"serviceCatalog": {}, 

"token": { 

"expires": "2012-04-12T00:41:21Z", 

"id": "a220bfdf313b404fa5e063fcc7cc1f3e", 

"tenant": { 

"description": "Default Tenant", 

"enabled": true, 

"id": "100af8cc655c24ada96f710010c96b70a2", 

"name": "openstackDemo" 



}, 

"user": { 

"id": "6b0141904f094100d810a5949d79ea0f3", 

"name": "adminUser", 

"roles": [], 

"roles_links": [], 

"username": "adminUser" 







这里另外还五种生活生活快速的土法律法子判断Keystone是否工作正常。首先,需用设置如下环境变量: 

export ADMIN_TOKEN=012345SECRET99TOKEN012345 

export OS_USERNAME=adminUser 

export OS_PASSWORD=secretword 

export OS_TENANT_NAME=openstackDemo 

export OS_AUTH_URL=http://127.0.0.1:1000/v2.0/ 

通过输入keystone  user-list命令,给你看多用户列表。 

$ keystone user-list 

 

译者备注:export  ADMIN_TOKEN=$(openssl  rand  -hex  10)是调用openssl命令产生10位随机字串,并将结果赋予ADMIN_TOKEN全局变量;再通过openstack-config命令修改keystone.conf配置文件就admin_token参数的取值为但是定义的全局变量ADMIN_TOKEN的值(10位随机字串)。 

下一步,重启keystone服务,并设置为开机启动项。 

$ sudo  service  keystone  restart  &&  sudo  chkconfig  keystone  on 

译者备注:在新的版本中keystone的启动脚本都有keystone,但是openstack-keystone,很多很多实际工作中你需用将以上命令修改为sudo  service  openstack-keystone  restart  &&  sudo  chkconfig   openstack-keystone   on 

最后初始化新的keystone数据库,需用root权限: 

# keystone-manage   db_sync 

2.2.配置Identity服务 

设置租户,用户与角色,你大约需用定义四个 多租户、用户、角色以通过Identity服务的身份验证与授权获得有些服务。 

脚本配置: 

在Fedora,RHEL或CentOS系统上,给你通过运行脚本更新数据。 

$ sudo  ADMIN_PASSWORD=$OS_PASSWORD  SERVICE_PASSWORD=servicepass   openstack-keystone-sample-data 

Keystone项目提供了一份部署客户、用户、角色的bash脚本,样本数据在https://github.com/openstack/keystone/blob/master/tools/sample_data.sh。 

译者注:系统命令openstack-keystone-sample-data运行的但是趋于稳定/usr/share/openstack-keystone目录下的sample_data.sh脚本。 

此外,任何用户pyton工具的分布,都可不还都都可以通过keystone客户端的API运行keystone-init脚本完成初始化动作。 

$ git  clone  https://github.com/nimbis/keystone-init.git 

有些初始化脚本需用使用PyYAML,通过https://github.com/nimbis/keystone-init/blob/master/keystone-init.py页面,给你看多脚本做了那先 工作。 

为你的服务器编辑config.yaml文件中的IP地址,给你在config.yaml目录下运行以下命令快速替换: 

$ sed  -i.bak   s/192.168.206.1100/172.16.100.12/g  config.yaml 

译者备注:sed将把config.yaml文件中所有的192.168.206.1100替换为172.16.100.12,生成一份新的config.yaml,老的文件自动备份为config.yaml.bak。 

使用root身份运行脚本: 

# ./keystone-init.py  config.yaml 

手动配置 

这里朋友 可不还都都可以不不脚本、手动配置那先 步骤。首先朋友 创建四个 多默认tenant(租户),名字叫openstackDemo。 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

  tenant-create   \ 

--name openstackDemo   \ 

--description "Default Tenant"   \ 

--enabled true 

1.2 服务管理 

服务管理四个 多多主要的概念: 

服务 

终端 

Identity服务一齐维护着一份与各个服务相同的用户(如:Compute服务有四个 多对应的用户名nova),以及四个 多名为service的特殊服务租户。

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

endpoint-create \ 

--region RegionOne \ 

--service_id=1ff4ece13c3e48d8a6461faebd9cd38f \ 

--publicurl='
http://192.168.206.1100:8776/v1/%(tenant_id)s' \ 

--internalurl='
http://192.168.206.1100:8776/v1/%(tenant_id)s' \ 

--adminurl='http://192.168.206.1100:8776/v1/%(tenant_id)s'
 

 

定义镜像服务(Image service):

部署OpenStack Identity服务。 

继OpenStack云第四天,本文翻译自OpenStack安装与部署指南第五章内容,内容主但是安装OpenStack Identity Service(身份认证服务) 。OpenStack Identity服务负责管理用户与客户,项目以及提供为有些OpenStack组件提供通用身份认证系统。 

目录: 

一、基本概念 

二、安装与配置Identity服务 

三、验证

用户表示拥有用户名,密码,邮箱等帐号信息的自然人。这里给出创建用户名为"alice”的用户: 

$ keystone  user-create  --name=alice  --pass=mypassword123  --mail=alice@example.com 

租户可不还都都可以被理解为四个 多项目,团队或组织。你需用指定四个 多相应的租户(tenant)才可不还都都可以申请OpenStack服务,例如你指定以某租户申请Compute服务来查询当前运行的实例列表,则你将收到的是该租户的运行实例列表。这里是创建四个 多名为"acme”租户的例子: 

$ keystone  tenant-create  --name=acme 

注意事项:机会在早期的版本中使用项目术语来表示租户,很多很多有些命令行工具使用--project_id替代--tenant_id给客户分配四个 多ID号。 

角色代表特定的租户中的用户用户操作权限,可不还都都可以使用如下命令创建角色: 

$ keystone  role-create  --name=compute-user 

译者批注:给你理解租户为那先 使用你云环境的客户,那先 客户可不还都都可以是四个 多项目组、工作组、公司,那先 客户中会建立不同的帐号(用户)及其对应的权限(角色). 

Identity服务将用户与租户及角色结合在一齐,继续刚才的例子,朋友 你爱不爱假如有一天在acme租户中为alice用户分配compute-user角色。 

$ keystone user-list                         

$ keystone role-list                     

使用模版文件的土法律法子机会其比较简单,但除非是像DevStack但是的开发环境但是朋友 暂且推荐使用有些模式。使用模版文件不支持通过keystone命令对服务编录执行CRUD操作,但不妨碍你使用service-list命令。而后端数据库则是五种生活更可靠的、高可用、提供数据冗余的土法律法子。这节朋友 将描述何如使用后端数据库架构服务编录,你需用将/etc/keystone/keystone.conf文件中的[catalog]选项修改为如下有些配置: 

[catalog] 

driver = keystone.catalog.backends.sql.Catalog 

Keystone服务编录条目的累积 

对于目录中的每个服务条目,你都需用执行四个 多keystone操作: 

1).使用keystone  service-create命令为服务创建数据库条目,命令选项如下:

 

创建名为adminUser的默认用户: 

$keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

user-create \ 

--tenant_id  b5815b046cfe47bb891a7b64119e7f100 \ 

--name adminUser \ 

--pass secretword --enabled true 

 

译者备注:英文原文此处有误,命令创建的是adminUser,结果显示name的值为admin。 

创建默认角色,admin与memberRole 

$keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0  \ 

role-create  \ 

--name  admin 

 

未完待续… … 

转载时请务必以超链接形式标明出处,丁丁历险博客:http://manual.blog.51cto.com/3100438/973921

OpenStack云第四天

$ keystone tenant-list                 

二、安装与配置Identity服务 

2.1.安装Identity服务 

给你安装Identity服务在任何能被有些服务主机访问的服务器上,以root身份运行如下命令: 

# yum  install  openstack-utils   openstack-keystone 

备注:原文档仅提供安装命令,但该安装土法律法子需用设置yum源,以下为有些人补充的加带yum源土法律法子,土法律法子来源于Fedora项目。$ sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm 

安装后,你需用删除sqlite数据库并修改配置文件将其指向MySQL数据库。但是的配置更容易部署多个Keystone前段指向相同的后端数据库服务器。 

删除/var/lib/keystone目录下的keystone.db文件。 

备注:据译者亲身实验,使用以上的yum源安装时该文件暂且会产生,省去了删除文件的步骤。 

配置生产环境的数据库存储来取代默认的目录功能以备份服务及终端数据,这里以MySQL为例。 

安装MySQL(需用root权限): 

# yum  install  mysql   mysql-server 

安装过程中会提示为mysql的root帐号设置密码,根据提示设置密码。 

设置Mysql为开机启动应用应用多多线程 : 

# chkconfig  --level  2345  mysqld  on 

# service  mysqld  start
 

以下系列命令将创建四个 多名为"keystone”的数据库,以及四个 多名为"keystone”的mysql用户名,该用户拥有访问keystone数据库的所有权限。默认,密码与用户名同名。 

在Fedora,RHEL,CentOS系统上,给你通过openstack-db命令创建Keystone数据库。 

$ duso  openstack-db  --init   --service   keystone 

也可不还都都可以通过手动的土法律法子创建数据库。 

$ mysql  -u  root  -p                          

根据提示:需用输入mysql root的密码,创建keystone数据库。 

mysql> CREATE  DATABASE  keystone; 

接着再创建四个 多对新建keystone数据库具有删剪权限的mysql账户,注意为用户挑选安全的密码,土法律法子参考以下命令。 

mysql> GRANT  ALL  ON  keystone.*  TO   'keystone’@'%’ IDENTIFIED  BY  ‘你的密码’; 

退出MySQL数据库: mysql> quit 

回想以下,朋友 在OpenStack第四天文档中对云环境的构思中建设云控制节点的IP为192.168.106.1100。 

现在四个 多Keystone机会安装完成,给你通过主配置文件修改配置(/etc/keystone/keystone.conf),以及通过命令行初始化数据。默认Keystone的数据保趋于稳定sqlite中,在/etc/keystone/keystone.conf修改如下一行connection定义来改变数据存储位置: 

connection = mysql://keystone:[密码]@192.168.206.1100/keystone 

备注:据译者亲身实验,现在的keystone版本默认就将数据库指向了本机的MySQL数据库。 

一齐,要确保keystone.conf文件中配置了大约的服务标识符,给你使用有些人的随机字串,像下面但是: 

admin_token = 012345SECRET99TOKEN012345 

机会通过命令行设置随机字串: 

$ export ADMIN_TOKEN=$(openssl   rand  -hex  10) 

$ sudo  openstack-config  --set   /etc/keystone/keystone.conf   DEFAULT  admin_token  $ADMIN_TOKEN 

本文转自丁丁历险51CTO博客,原文链接:http://blog.51cto.com/manual/973921 ,如需转载请自行联系原作者

    --name                            服务名称(如:nova,ec2,glance,keystone) 

    --type                            服务类型(如:compute,ec2,image,idnetity) 

    --description                     服务描述(如:"Nova Compute Servece”) 

2).使用keystone  endpoint-create命令创建数据库条目,描述客户端机会连接不例如型的服务,即指定各个服务的终端位置,命令选项如下: 

    --region                       你为OpenStack云取的区域名称(如:RegionOne) 

    --service_id                   通过keystone   service-create命令返回的服务ID(如:935fd37b6fa74b2f9fba6d907fa95825) 

    --publicurl                    服务终端(endpoint)对公网提供的URL(如:http://192.168.206.1100:9292/v1或http://192.168.202.1100:8774/v2%(tenat_id)s) 

    --internalurl                  服务终端对内提供的URL(典型案例是使用与publicurl相同的值) 

    --adminurl                     提供服务管理界面的URL 

Keystone允许URL使用变量,那先 变量在运行期间会自动替换为正确的,例如使用例如于tenant_id但是的变量。给你使用%(变量名)或$(变量名)标识正在使用变量。 

创建keystone服务与服务终端(service endpoints) 

这里朋友 会定义服务及其终端。 

定义Identity服务: 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

service-create \ 

--name=keystone \ 

--type=identity \ 

--description="Keystone Identity Service" 

 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

endpoint-create \ 

--region RegionOne \ 

--service_id=15c11a23667e427e91bc31335b45f4bd \ 

--publicurl=
http://192.168.206.1100:1000/v2.0 \ 

--internalurl=
http://192.168.206.1100:1000/v2.0 \ 

--adminurl=http://192.168.206.1100:35357/v2.0 



定义Compute服务,需用为不同的租户(tenant)需用独立的endpoint,这里朋友 使用上节创建的service租户(tenant)。 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

service-create \ 

--name=nova \ 

--type=compute \ 

--description="Nova Compute Service" 

 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

endpoint-create \ 

--region RegionOne \ 

--service_id=abc0f03c02904c24abdcc3b7910e2eed \ 

--publicurl='
http://192.168.206.1100:8774/v2/%(tenant_id)s' \ 

--internalurl='
http://192.168.206.1100:8774/v2/%(tenant_id)s' \ 

--adminurl='http://192.168.206.1100:8774/v2/%(tenant_id)s'
 

 

定义卷(Volume)服务,不同的tenant需用独立的endpoint: 

$ keystone --token 012345SECRET99TOKEN012345 \ 

--endpoint 
http://192.168.206.1100:35357/v2.0/ \ 

service-create \ 

--name=volume \ 

--type=volume \ 

--description="Nova Volume Service"
 

 

$ keystone user-role-add \      

--user=96a6ebba0d4c441887aceaeced892585 \             

--role=f8dd5a2e4dc64a41b96add562d9a764e \             

--tenant_id=2395953419144b67955ac4bab96b8fd2          

四个 多用户可不还都都可以在不同的租户中被分配不同的角色,例如Alice也可不还都都可以在Cyberdyne租户中用户admin角色。四个 多用户也可不还都都可以在同四个 多租户中分配多个角色。 

/etc/[服务代码名称]/policy.json控制着那先 用户可不还都都可以拥有那先 样的服务,如:/etc/nova/policy.json定义了Compute服务的访问策略,/etc/glance/policy.json定义Image服务的访问策略,以及/etc/keystone/policy.json定义Identity服务的访问策略。 

Compute,Identity,Image服务的默认policy.json文件仅识别admin角色:所有的操作不不admin角色即可被租户中拥有任何角色的用户均可不还都都可以访问。 

机会你希望限制用户在Compute服务中所执行的操作,你需用在Identity服务中创建四个 多角色并修改/etc/nova/policy.json,实现仅提供该角色才可不还都都可以执行Compute操作。 

实例,以下在/etc/nova/policy.json中的配置设定卷创建的操作对用户无任何限制,在租户中的用户用户任何角色均可不还都都可以创建卷。 

"volume:create": [],                                            

机会你需用仅拥有compute-user角色的用户才可不还都都可以创建卷,你就需用加带一行”role:compute-user”,具体配置如下: 

"volume:create": ["role:compute-user"],                       

如朋友 需用对所有Compute服务的请求均需用指定的角色,你的配置文件应该作例如于如下但是的配置: