通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)

wKiom1hPlQLgf2OvAAEpuqdtSZM659.jpg

上一节介绍了 Keystone 的核心概念。
本节我们通过“查询可用 p_w_picpath”这个实际操作让大家对这些概念建立更加感性的认识。

User admin 要查看 Project 中的 p_w_picpath

第 1 步 登录

wKiom1hPlROhMrwfAABAKlfZDTw485.jpg

当点击时,OpenStack 内部发生了哪些事情?请看下面

wKiom1hPlSmh6h0cAAB_FY5Nvbo439.jpg

Token 中包含了 User 的 Role 信息

第 2 步 显示操作界面

wKiom1hPlVrBS56gAABiwPuanPc166.jpg

请注意,顶部显示 admin 可访问的  Project 为 “admin” 和 “demo”。 其实在此之前发生了一些事情:

wKioL1hPlXuxrJsoAAB_6DlbbB0151.jpg

同时,admin 可以访问 Intance, Volume, Image 等服务

wKiom1hPlY_ClDcwAAApCjlBFyo498.jpg

这是因为 admin 已经从 Keystone 拿到了各 Service 的 Endpoints

wKioL1hPlZ_RY4aVAAB2UkrCcaU712.png

第 3 步 显示 p_w_picpath 列表

点击 “Images”,会显示 p_w_picpath 列表

wKiom1hPlbGABJzgAABRmhi_oUE288.jpg

背后发生了这些事:

首先,admin 将请求发送到 Glance 的 Endpoint

wKioL1hPlcPD4ki_AABwNKp_arQ883.jpg

Glance 向 Keystone 询问 admin 身份的有效性。

wKiom1hPldXT6xUHAAB40as-iPg711.jpg

接下来 Glance 会查看 /etc/glance/policy.json。 判断 admin 是否有查看 p_w_picpath 的权限

wKioL1hPle7jy4waAAB_FDH31EQ681.jpg

权限判定通过,Glance 将 p_w_picpath 列表发给 admin。

Troubleshoot

OpenStack 排查问题的方法主要是通过日志。 每个 Service 都有自己的日志文件。

Keystone 主要有两个日志: keystone.log 和 keystone_access.log 保存在 /var/log/apache2/ 目录里。

devstack 的 screen 窗口已经帮我们打开了这两个日志。 可以直接查看:

wKioL1hPlhGQuZ39AAA5dmV-DVI302.jpg

如果需要得到最详细的日志信息,可以在 /etc/keystone/keystone.conf 中打开 debug 选项

wKioL1hPliPhgKMnAAAVJ7280F0993.jpg

在非 devstack 安装中,日志可能在 /var/log/keystone/ 目录里。

Keystone 就到这里,下一节我们开始学习 Glance。