openstack学习之keystone

Keystone作为OpenStack的入口,负责用户管理和认证。它提供Tokens API进行用户认证并生成带有限期的token,token用于调用其他OpenStack服务的REST API。OpenStack命令行工具如nova、cinder等需要提供认证凭证,包括OS_USERNAME、OS_PASSWORD等。keystone的认证流程涉及Tokens API、Service Catalog、数据库服务和RPC服务,认证机制包括UUID和PKI两种,其中PKI方式通过CMS算法本地验证,无需额外REST调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


keystone项目提供了用户管理,权限管理,用户认证等功能,还提供了ServiceCatalog,即Openstack中所有服务的endpoint。endpoint就是rest api的base URL。
keystone是openstack的入口,调用openstack Rest API都从keystone开始。

rest API流程
1)调用keystone Tokens API(/v3/auth/tokens, POST),认证用户并创建token.
2) api中会返回token和service catalog
3)用token和service catalog中的endpoint调用rest api(如nova api)
4) rest api会对用户提供的token进行验证

调用openstack rest api之前都要通过kestone tokens api拿到一个token,每个rest api请求头的'X-Auth-Token'字段中填入这个token。
token是一个随机字符串,由kyestone生成,代表一个已经通过认证的用户(通过它也可以拿到用户的各种信息,role, group等)。keystone返回的token是有有效期的,超过有效期后,用这个token调用rest api,会验证失败。
kwargs.setdefault('headers', {})['X-Auth-Token'] = self.auth_token

使用openstack的命令(nova, cinder,neutron,keystone),需要提供这几个参数(一般写在openrc文件)
OS_USERNAME
OS_PASSWORD
OS_TENANT_NAME
OS_AUTH_URL
其中OS_AUTH_URL就是keystone rest api的endpoint。这些信息就是用来在keystone中认证用户的。


需要认证的环节
openstack中的各种服务都需要认证(authentication)才能使用。openstack中的服务主要有数据库服务,rest api服务及rpc服务(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值