Configuring Services to work with Keystone

一旦keystone安装和运行好,服务需要配置好才能使用它。

为了完成这个,为了OpenStack service能够完成验证并和keystone进行交流,主要是安装和配置中间件。

一般而言:

        Client要访问服务就必须传递一个验证token

        keystone中间件将寻找和验证token,并做相对应的操作

       也可以从token中获取额外的信息,如user name,id,tenant name,id,roles等。

中间件将会以headers的形式传递这些信息给服务,更多关于中间件的说明请参考 middlewarearchitecture(http://docs.openstack.org/developer/keystone/middlewarearchitecture.rst)

Setting up credentials

1. Admin Token

    在你能使用REST API之前,你需要定义一个验证token,这个可以在keystone.conf文件的[DEFAULT]参数里设置,例如下面:

        [DEFAULT]

        admin_token = ADMIN

这个token是keystone和其他openstack services之间的一个“shared secret”,这个token经常被使用来创建tenants,users,roles等。

2. Setting up tenants,users,and roles

你至少需要定义一个tenant,user,role来进行服务的验证。

Setting up services

1. Creating Service Users

为了配置OpenStack,需要为所有services创建一个tenant,并为每个service创建users,然后给这些users授予Admin角色。

为services创建一个tenant:

    keystone tenant-create --name=service

会返回一个UUID,保存这个UUID,当你创建users和授予权限的时候需要使用到它。

为nova,glance,swift和neutron创建service users:

keystone user-create --name=nova --pass=Sekr3tPass --tenant_id =[the uuid of the tenant] --email=nova@noting.com

然后是为每一个users授予tenant的Admin权限。

eg:

keystone user-role-add –tenant_id=[uuid of the service tenant]
–user=[uuid of the service account] –role=[uuid of the Admin role]
2. Defining Services

keystone支持两种服务的定义,一个是catalog template,所有的细节都放在template。

另一种就是以SQL为后端定义catalog service,这样的话你需要添加services为catalog:

keystone service-create --name=nova \
                               --type=compute \
                               --description="Nova Compute Service"
keystone service-create --name=ec2 \
                               --type=ec2 \
                               --description="EC2 Compatibility Layer"
keystone service-create --name=glance \
                               --type=image \
                               --description="Glance Image Service"
keystone service-create --name=keystone \
                               --type=identity \
                               --description="Keystone Identity Service"
keystone service-create --name=swift \
                               --type=object-store \
                               --description="Swift Service"

Setting Up Middleware

keystone的auth_token中间件是一个WSGI组件,这个组件能够被插入到WSGI pipeline来控制keystone的token验证。

1. Configuring NOva to use Keystone

当配额之Nova的时候,非常重要的是为这个service创建一个admin service token。

as the key‘admin_token’ in Nova’s api-paste.ini [filter:authtoken] section or innova.conf [keystone_authtoken] section.

2. Configuring Swift to use Keystone

这个主要牵涉到Swift的overview_auth文档

3. Auth-Token Middleware with Username and Password

    也可以使用admin_user和admin_password选项来配置keystone的auth_token中间件。

当你使用“admin_user”和“admin_password”选项的时候“admin_token"参数是可填可不填写的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值