Keystone安装

Idenitity 服务理念:

执行以下功能:

用户管理,跟踪用户以及用户的权限

catalog服务:提供与他们的API catalog 服务

用户(user)

用户表示拥有用户名,密码,邮箱等帐号信息的自然人。

证书(Credentials)

证明资格和权力的东西,如用户名和密码,用户名和API KEY 或者服务本身的认证token

认证(Authentication)

确认用户身份的行为,经过上面描述的“证书”服务确认用户。

令牌(token)

一种认证方式,通过认证后发给连接端。

租户(tenant)

租户可以被理解为一个项目,团队或组织。你必须指定一个相应的租户(tenant)才可以申请OpenStack服务

服务(Service

通过它用户可以访问资源并执行操作的一个终端。 即完成以上几步后就给一个终端供client使用。                

终端(Endpoint

通过网络访问的一个URL地址,可以获得你想要访问的服务,

角色(Role)

角色代表特定的租户中的用户用户操作权限

Keystone安装_第1张图片

六个过程,alice任务请求创建一个虚拟机

alice发送凭据给keystone,keystone返回一个临时创建的tokent和一个通用的目录。

alice请求提供租户的列表,keystone返回一个他的租户的服务列表。

keystone发送给alice带有租房的凭据、租房的服务列表、租户的token

alice去终端连接服务,并提供一个请求的token,终端去问keystone是否是正确的令牌和是否允许使用这个服务

keystone提供“alice的租户允许访问服务,令牌与请求匹配并且这个令牌属于alice”给Service

Service执行服务请求并把执行状态发送给alice

安装identity服务

安装软件包

# apt-get install keystone

修改配置文件/etc/keystone/keystone.conf

使用数据库存储数据,我们改一下他的连接方式,默认使用sqlite我们要进行更改

connection = mysql://keystone:stack@controller/keystone

wKiom1LGIBXzh-T_AAAujgzSI1E832.jpg

给keystone创建一个keystone数据库

mysql> create database keystone;

mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'stack;

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'controller' IDENTIFIED BY 'stack';

wKioL1LGIBbzkeSIAAA2lxwHkYw932.jpg

wKiom1LGICKzduk1AAAiPXONPYg058.jpg


4、同步一下到数据库

# keystone-manage db_sync

创建了一些空表

Keystone安装_第2张图片

6、生成一个token,并放到配置文件中

wKiom1LGIDvCNjDxAAATL_6kryc273.jpg

/etc/keystone/keystone.conf

wKiom1LGIFHRkWsNAAAkOpdg3UQ617.jpg

重启keystone服务

# service keystone restart

定义用户、租户、角色

1、定义环境变量

由于我们并没有用户,所以需要创建用户,但这本身就需要认证,所以我们增加怎么环境变量os_server_token os_service_endpoint

# export OS_SERVICE_TOKEN=9f9c6ce6e5fcc5437443

# export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0

wKioL1LGIFLBLmcKAAAxv-Bir08254.jpg

创建一个admin和service的租户

# keystone tenant-create --name=admin --description="Admin Tenant"

# keystone tenant-create --name=service --description="Service Tenant"

Keystone安装_第3张图片

创建一个管理员用户为admin并设置一个密码并指定电子邮件,这是第三个密码了。记下来。

# keystone user-create --name=admin --pass=openstack [email protected]

Keystone安装_第4张图片

创建一个管理员用记的角色admin,注意默认使用admin角色将允许大多数的服务。创建的角色应该映射到openstack服务的policy.json文件名中指定的角色

# keystone role-create --name=admin

Keystone安装_第5张图片

添加角色用户租户的对应关系

# keystone user-role-add --user=admin --tenant=admin --role=admin

wKioL1LGIH3AeskBAAAdgsXYSyc493.jpg

我们看下数据库

Keystone安装_第6张图片

定义服务与API的端点

创建一个服务,服务ID是随机生成的

# keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"

Keystone安装_第7张图片

通过返回的服务ID指定身份证服务的API端点,你应该提供公共的API,内部API和管理API的URL。

煮酒品茶:注意填写你自己的ID号

# keystone endpoint-create   --service-id=0bde195742b54963b4478de9232b9465   --publicurl=http://controller:5000/v2.0   --internalurl=http://controller:5000/v2.0   --adminurl=http://controller:35357/v2.0

Keystone安装_第8张图片

你安装了其它服务时,通过这个指定你的服务。

验证一下:

# unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT

# keystone --os-username=admin --os-password=openstack --os-auth-url=http://controller:35357/v2.0 token-get

Keystone安装_第9张图片

---------------------------------------

如果发现500错误

wKiom1LGIN6TXC6mAABAp2jR-fY096.jpg

查看日志:

Keystone安装_第10张图片

更改配置文件:

Keystone安装_第11张图片

好了,需要重启下keystone

====================================

重启下:

# service keystone restart

我们设置环境变量,就不需要每次都填验证参数了。

# export OS_USERNAME=admin

# export OS_PASSWORD=openstack

# export OS_TENANT_NAME=admin

# export OS_AUTH_URL=http://controller:35357/v2.0

查看一下token,事实上他的ID也太长了吧。

Keystone安装_第12张图片

查了一下表:

Keystone安装_第13张图片

更多可以看用户租户角色:

http://docs.openstack.org/havana/install-guide/install/apt/content/keystone-users.html


本文出自 “煮酒品茶” 博客,请务必保留此出处http://cwtea.blog.51cto.com/4500217/1347938

你可能感兴趣的:(Keystone安装)